Commit d0834a00 by Jamie Madill

dEQP: Add case file generator script.

Use the dEQP null platform for speed and to avoid popping up a new window. Store the case lists as .gz files to save space in the repo. BUG=angleproject:998 Change-Id: Ib9b10b8a83edc510cc98f120847b1cf93a3d2f78 Reviewed-on: https://chromium-review.googlesource.com/273975Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 6e0302a8
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
'<(delibs_dir)/destream', '<(delibs_dir)/destream',
'<(deqp_dir)/framework/common', '<(deqp_dir)/framework/common',
'<(deqp_dir)/framework/qphelper', '<(deqp_dir)/framework/qphelper',
'<(deqp_dir)/framework/platform/null',
# TODO(jmadill): other platforms # TODO(jmadill): other platforms
'<(deqp_dir)/framework/platform/win32', '<(deqp_dir)/framework/platform/win32',
'<(deqp_dir)/framework/egl', '<(deqp_dir)/framework/egl',
...@@ -956,6 +957,9 @@ ...@@ -956,6 +957,9 @@
'<(deqp_dir)/framework/opengl/wrapper/glwInitES30Direct.cpp', '<(deqp_dir)/framework/opengl/wrapper/glwInitES30Direct.cpp',
'<(deqp_dir)/framework/opengl/wrapper/glwInitFunctions.cpp', '<(deqp_dir)/framework/opengl/wrapper/glwInitFunctions.cpp',
'<(deqp_dir)/framework/opengl/wrapper/glwWrapper.cpp', '<(deqp_dir)/framework/opengl/wrapper/glwWrapper.cpp',
'<(deqp_dir)/framework/platform/null/tcuNullContextFactory.cpp',
'<(deqp_dir)/framework/platform/null/tcuNullContextFactory.hpp',
'<(deqp_dir)/framework/platform/null/tcuNullRenderContext.cpp',
'<(deqp_dir)/framework/platform/tcuMain.cpp', '<(deqp_dir)/framework/platform/tcuMain.cpp',
# TODO(jmadill): other platforms # TODO(jmadill): other platforms
'<(deqp_dir)/framework/platform/win32/tcuWin32Window.cpp', '<(deqp_dir)/framework/platform/win32/tcuWin32Window.cpp',
...@@ -1034,6 +1038,7 @@ ...@@ -1034,6 +1038,7 @@
'<(deqp_dir)/modules/glshared/glsVertexArrayTests.cpp', '<(deqp_dir)/modules/glshared/glsVertexArrayTests.cpp',
# TODO(jmadill): other platforms # TODO(jmadill): other platforms
'deqp_support/tcuANGLEWin32NativeDisplayFactory.cpp', 'deqp_support/tcuANGLEWin32NativeDisplayFactory.cpp',
'deqp_support/tcuANGLEWin32NativeDisplayFactory.h',
], ],
}, },
......
#!/usr/bin/python
#
# Copyright 2015 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# generate_case_lists.py:
# Helper script for updating the dEQP case list files, stored in the repo.
# Generally only used when the dEQP config changes, or when we roll dEQP.
import subprocess
import sys
import os
import shutil
import gzip
# TODO(jmadill): other platforms
os_suffix = '.exe'
build_dir = os.path.join('build', 'Debug_x64')
def run_deqp(deqp_exe):
subprocess.call([deqp_exe, '--deqp-runmode=txt-caselist', '--deqp-gl-context-type=null'])
# This stuff is all hard-coded for now. If we need more versatility we can
# make some options into command line arguments with default values.
script_dir = os.path.dirname(sys.argv[0])
path_to_deqp_exe = os.path.join('..', '..', build_dir)
deqp_data_path = os.path.join('third_party', 'deqp', 'data')
os.chdir(os.path.join(script_dir, '..'))
run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles2_tests' + os_suffix))
run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles3_tests' + os_suffix))
def compress_case_list(case_file):
with open(os.path.join(deqp_data_path, case_file + '.txt')) as in_handle:
data = in_handle.read()
in_handle.close()
with gzip.open(os.path.join('deqp_support', case_file + '.txt.gz'), 'wb') as out_handle:
out_handle.write(data)
out_handle.close()
compress_case_list('dEQP-GLES2-cases')
compress_case_list('dEQP-GLES3-cases')
...@@ -19,12 +19,14 @@ ...@@ -19,12 +19,14 @@
*/ */
#include "tcuANGLEWin32Platform.h" #include "tcuANGLEWin32Platform.h"
#include "tcuANGLEWin32NativeDisplayFactory.h"
#include "egluGLContextFactory.hpp"
#include <EGL/egl.h> #include <EGL/egl.h>
#include <EGL/eglext.h> #include <EGL/eglext.h>
#include "egluGLContextFactory.hpp"
#include "tcuANGLEWin32NativeDisplayFactory.h"
#include "tcuNullContextFactory.hpp"
namespace tcu namespace tcu
{ {
...@@ -91,6 +93,9 @@ ANGLEWin32Platform::ANGLEWin32Platform() ...@@ -91,6 +93,9 @@ ANGLEWin32Platform::ANGLEWin32Platform()
#endif #endif
m_contextFactoryRegistry.registerFactory(new eglu::GLContextFactory(m_nativeDisplayFactoryRegistry)); m_contextFactoryRegistry.registerFactory(new eglu::GLContextFactory(m_nativeDisplayFactoryRegistry));
// Add Null context type for use in generating case lists
m_contextFactoryRegistry.registerFactory(new null::NullGLContextFactory());
} }
ANGLEWin32Platform::~ANGLEWin32Platform() ANGLEWin32Platform::~ANGLEWin32Platform()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment