13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# -*- coding: utf-8 -*-
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
33c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#-------------------------------------------------------------------------
43c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# drawElements Quality Program utilities
53c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# --------------------------------------
63c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#
73c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# Copyright 2015 The Android Open Source Project
83c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#
93c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# Licensed under the Apache License, Version 2.0 (the "License");
103c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# you may not use this file except in compliance with the License.
113c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# You may obtain a copy of the License at
123c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#
133c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#      http://www.apache.org/licenses/LICENSE-2.0
143c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#
153c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# Unless required by applicable law or agreed to in writing, software
163c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# distributed under the License is distributed on an "AS IS" BASIS,
173c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
183c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# See the License for the specific language governing permissions and
193c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry# limitations under the License.
203c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#
213c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry#-------------------------------------------------------------------------
223c77ed4e119083afaec64a173bfdcf024c271635Jarkko Pöyry
233c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport sys
243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
253c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2011_1_2011_2 = [
263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.shaders.random.basic_expressions.*",			"dEQP-GLES2.functional.shaders.random.basic_expression."),
273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.shaders.random.scalar_conversions.*",			"dEQP-GLES2.functional.shaders.random.scalar_conversion."),
283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.color_clears_*",						"dEQP-GLES2.functional.fbo.render.color_clear."),
293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.intersecting_quads_*",				"dEQP-GLES2.functional.fbo.render.depth."),
303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.mix_*",								"dEQP-GLES2.functional.fbo.render.color.mix_"),
313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.blend_*",							"dEQP-GLES2.functional.fbo.render.color.blend_"),
323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clears_*",		"dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear."),
333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.shared_colorbuffer_*",				"dEQP-GLES2.functional.fbo.render.shared_colorbuffer."),
343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.shared_depthbuffer_*",				"dEQP-GLES2.functional.fbo.render.shared_depthbuffer."),
353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.texsubimage_*",						"dEQP-GLES2.functional.fbo.render.texsubimage."),
363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.recreate_colorbuffer_*",				"dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_"),
373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.recreate_depthbuffer_*",				"dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.no_rebind_"),
383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.fbo.render.resize_*",							"dEQP-GLES2.functional.fbo.render.resize.")
393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry]
403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
413c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2011_2_2011_3 = [
423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_linear_1_batched",                    "dEQP-GLES2.usecases.ui.src_over_linear_batched_1"),
433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_linear_2_batched",                    "dEQP-GLES2.usecases.ui.src_over_linear_batched_2"),
443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_linear_4_batched",                    "dEQP-GLES2.usecases.ui.src_over_linear_batched_4"),
453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_nearest_1_batched",                   "dEQP-GLES2.usecases.ui.src_over_nearest_batched_1"),
463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_nearest_2_batched",                   "dEQP-GLES2.usecases.ui.src_over_nearest_batched_2"),
473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.src_over_nearest_4_batched",                   "dEQP-GLES2.usecases.ui.src_over_nearest_batched_4"),
483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_1_batched",      "dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_batched_1"),
493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_2_batched",      "dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_batched_2"),
503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_4_batched",      "dEQP-GLES2.usecases.ui.premultiplied_src_over_linear_batched_4"),
513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_1_batched",     "dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_batched_1"),
523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_2_batched",     "dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_batched_2"),
533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_4_batched",     "dEQP-GLES2.usecases.ui.premultiplied_src_over_nearest_batched_4"),
543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_linear_1_batched",                    "dEQP-GLES2.usecases.ui.no_blend_linear_batched_1"),
553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_linear_2_batched",                    "dEQP-GLES2.usecases.ui.no_blend_linear_batched_2"),
563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_linear_4_batched",                    "dEQP-GLES2.usecases.ui.no_blend_linear_batched_4"),
573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_nearest_1_batched",                   "dEQP-GLES2.usecases.ui.no_blend_nearest_batched_1"),
583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_nearest_2_batched",                   "dEQP-GLES2.usecases.ui.no_blend_nearest_batched_2"),
593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.ui.no_blend_nearest_4_batched",                   "dEQP-GLES2.usecases.ui.no_blend_nearest_batched_4")
603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry]
613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
623c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2011_3_2011_4 = []
633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
643c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2011_4_2012_1 = [
653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.vertex_arrays.multiple_attributes.output_types.*", "dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types."),
663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry]
673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
683c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2012_2_2012_3 = [
69f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_float_vertex",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_float_float_vertex"),
703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_float_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_float_float_fragment"),
71f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_float_vertex",			"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_float_float_vertex"),
72f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_float_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_float_float_fragment"),
73f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec2_vertex",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec2_float_vertex"),
74f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec2_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec2_float_fragment"),
75f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec2_vertex",			"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec2_float_vertex"),
76f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec2_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec2_float_fragment"),
77f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec3_vertex",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec3_float_vertex"),
78f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec3_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec3_float_fragment"),
79f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec3_vertex",			"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec3_float_vertex"),
80f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec3_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec3_float_fragment"),
81f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec4_vertex",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec4_float_vertex"),
82f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec4_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.mediump_vec4_float_fragment"),
83f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec4_vertex",			"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec4_float_vertex"),
84f189365bd621a14ac442faf93d81d031aad3a6f8Pyry Haulos	("dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec4_fragment",		"dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec4_float_fragment"),
853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.texture.copyteximage2d_unequal_width_height_cube",	"dEQP-GLES2.functional.negative_api.texture.copyteximage2d_inequal_width_height_cube"),
863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.texture.teximage2d_unequal_width_height_cube",		"dEQP-GLES2.functional.negative_api.texture.teximage2d_inequal_width_height_cube"),
873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.vertex_array.draw_arrays",							"dEQP-GLES2.functional.negative_api.vertex_array.draw_arrays_invalid_program"),
883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.vertex_array.draw_elemens",						"dEQP-GLES2.functional.negative_api.vertex_array.draw_elements_invalid_program"),
893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.shader.attach_shader_invalid_object",				"dEQP-GLES2.functional.negative_api.shader.attach_shader"),
903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.negative_api.shader.detach_shader_invalid_object",				"dEQP-GLES2.functional.negative_api.shader.detach_shader"),
913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.1_vertex_lights_no_texture",				"dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.1_vertex_lights_no_texture"),
923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.2_vertex_lights_no_texture",             "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.2_vertex_lights_no_texture"),
933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.4_vertex_lights_no_texture",             "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.4_vertex_lights_no_texture"),
943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.1_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.1_vertex_lights"),
953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.2_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.2_vertex_lights"),
963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.4_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.4_vertex_lights"),
973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.1_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.1_fragment_lights"),
983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.2_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.2_fragment_lights"),
993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.1sample.4_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_1sample.4_fragment_lights"),
1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.1_vertex_lights_no_texture",             "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.1_vertex_lights_no_texture"),
1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.2_vertex_lights_no_texture",             "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.2_vertex_lights_no_texture"),
1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.4_vertex_lights_no_texture",             "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.4_vertex_lights_no_texture"),
1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.1_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.1_vertex_lights"),
1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.2_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.2_vertex_lights"),
1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.4_vertex_lights",                        "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.4_vertex_lights"),
1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.1_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.1_fragment_lights"),
1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.2_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.2_fragment_lights"),
1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.4sample.4_fragment_lights",                      "dEQP-GLES2.usecases.shadow.shadowmaps.basic_4sample.4_fragment_lights"),
1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.1_vertex_lights_no_texture",            "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.1_vertex_lights_no_texture"),
1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.2_vertex_lights_no_texture",            "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.2_vertex_lights_no_texture"),
1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.4_vertex_lights_no_texture",            "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.4_vertex_lights_no_texture"),
1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.1_vertex_lights",                       "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.1_vertex_lights"),
1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.2_vertex_lights",                       "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.2_vertex_lights"),
1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.4_vertex_lights",                       "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.4_vertex_lights"),
1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.1_fragment_lights",                     "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.1_fragment_lights"),
1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.2_fragment_lights",                     "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.2_fragment_lights"),
1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.usecases.shadow.shadowmap.16sample.4_fragment_lights",                     "dEQP-GLES2.usecases.shadow.shadowmaps.basic_16sample.4_fragment_lights")
1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry]
1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1203c827367444ee418f129b2c238299f49d3264554Jarkko PoyryRENAME_LIST_2012_3_2012_4 = [
1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.depth.*",				"dEQP-GLES2.functional.fragment_ops.depth."),
1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	("dEQP-GLES2.functional.stencil.*",				"dEQP-GLES2.functional.fragment_ops.stencil.")
1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry]
1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydef readCaseList (filename):
1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	f = open(filename, 'r')
1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	cases = []
1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for line in f:
1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		if line[0:5] == "TEST:":
1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			cases.append(line[6:].strip())
1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	f.close()
1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	return cases
1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydef isWildcardPattern (pattern):
1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	return pattern[-1:] == '*'
1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# returns (cases, renames)
1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydef renameCases (cases, rename):
1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	renamedCases	= []
1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	renamedSet		= set()
1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	renames			= []
1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for case in cases:
1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		renamed = None
1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		for src, dst in rename:
1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			if isWildcardPattern(src) and case[:len(src)-1] == src[:-1]:
1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				renamed = dst + case[len(src)-1:]
1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				break
1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			elif case == src:
1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				renamed = dst
1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				break
1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		if renamed != None:
1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			renames.append((case, renamed))
1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			case = renamed
1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		# It is possible that some later case is renamed to case already seen in the list
1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		assert not case in renamedSet or renamed != None
1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		if case not in renamedSet:
1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			renamedCases.append(case)
1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			renamedSet.add(case)
1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	return (renamedCases, renames)
1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# returns (added, removed) lists
1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydef diffCaseLists (old, new):
1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	added	= []
1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	removed	= []
1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	oldSet = set(old)
1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	newSet = set(new)
1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	# build added list
1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for case in new:
1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		if not case in oldSet:
1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			added.append(case)
1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	# build removed set
1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for case in old:
1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		if not case in newSet:
1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			removed.append(case)
1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	return (added, removed)
1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyryif __name__ == "__main__":
1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	if len(sys.argv) != 3:
1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		print "%s [old caselist] [new caselist]" % sys.argv[0]
1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		sys.exit(-1)
1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	oldCases	= readCaseList(sys.argv[1])
1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	newCases	= readCaseList(sys.argv[2])
1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	rename		= RENAME_LIST_2012_3_2012_4
1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	renamedCases, renameList	= renameCases(oldCases, rename)
1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	added, removed				= diffCaseLists(renamedCases, newCases)
1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#	for src, dst in rename:
1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#		print "RENAME: %s -> %s" % (src, dst)
1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for case in added:
2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		print "ADD: %s" % case
2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for src, dst in renameList:
2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		print "RENAME: %s -> %s" % (src, dst)
2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	for case in removed:
2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		print "REMOVE: %s" % case
208