<?xml version="1.0" encoding="utf-8"?>
<Mustpass version="master">
	<!--
     Copyright (C) 2016 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     -->
	<!--
     This file has been automatically generated. Edit with caution.
     -->
	<TestPackage name="dEQP-EGL">
		<Configuration caseListFile="egl-master.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="master"/>
	</TestPackage>
	<TestPackage name="dEQP-GLES2">
		<Configuration caseListFile="gles2-master.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="master"/>
	</TestPackage>
	<TestPackage name="dEQP-GLES3">
		<Configuration caseListFile="gles3-master.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="master"/>
		<Configuration caseListFile="gles3-rotate-portrait.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=0 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-portrait"/>
		<Configuration caseListFile="gles3-rotate-landscape.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=90 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-landscape"/>
		<Configuration caseListFile="gles3-rotate-reverse-portrait.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=180 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-reverse-portrait"/>
		<Configuration caseListFile="gles3-rotate-reverse-landscape.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=270 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-reverse-landscape"/>
		<Configuration caseListFile="gles3-multisample.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms4 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="multisample"/>
		<Configuration caseListFile="gles3-565-no-depth-no-stencil.txt" commandLine="--deqp-gl-config-name=rgb565d0s0ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="565-no-depth-no-stencil"/>
	</TestPackage>
	<TestPackage name="dEQP-GLES31">
		<Configuration caseListFile="gles31-master.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="master"/>
		<Configuration caseListFile="gles31-rotate-portrait.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=0 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-portrait"/>
		<Configuration caseListFile="gles31-rotate-landscape.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=90 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-landscape"/>
		<Configuration caseListFile="gles31-rotate-reverse-portrait.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=180 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-reverse-portrait"/>
		<Configuration caseListFile="gles31-rotate-reverse-landscape.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms0 --deqp-screen-rotation=270 --deqp-surface-type=window --deqp-watchdog=enable" name="rotate-reverse-landscape"/>
		<Configuration caseListFile="gles31-multisample.txt" commandLine="--deqp-gl-config-name=rgba8888d24s8ms4 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="multisample"/>
		<Configuration caseListFile="gles31-565-no-depth-no-stencil.txt" commandLine="--deqp-gl-config-name=rgb565d0s0ms0 --deqp-screen-rotation=unspecified --deqp-surface-type=window --deqp-watchdog=enable" name="565-no-depth-no-stencil"/>
	</TestPackage>
	<TestPackage name="dEQP-VK">
		<Configuration caseListFile="vk-master.txt" commandLine="--deqp-watchdog=enable" name="master"/>
	</TestPackage>
</Mustpass>
