#ifndef _GLCKHRONOSMUSTPASSGLSINGLECONFIG_HPP
#define _GLCKHRONOSMUSTPASSGLSINGLECONFIG_HPP
/*     Copyright (C) 2016-2017 The Khronos Group Inc
 *
 *     Licensed under the Apache License, Version 2.0 (the "License");
 *     you may not use this file except in compliance with the License.
 *     You may obtain a copy of the License at
 *
 *          http://www.apache.org/licenses/LICENSE-2.0
 *
 *     Unless required by applicable law or agreed to in writing, software
 *     distributed under the License is distributed on an "AS IS" BASIS,
 *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *     See the License for the specific language governing permissions and
 *     limitations under the License.
*/

/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 */

const char* mustpassDir = "gl_cts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/";

static const RunParams khronos_mustpass_gl_single_config_first_cfg[] = {
	{ glu::ApiType::core(4, 3), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
	{ glu::ApiType::core(4, 4), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
	{ glu::ApiType::core(4, 5), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
	{ glu::ApiType::core(4, 6), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
};

#endif // _GLCKHRONOSMUSTPASSGLSINGLECONFIG_HPP
