Age | Commit message (Collapse) | Author | Files | Lines |
|
Now that Piglit uses pkgconfig to find Waffle, this module is no longer
used.
Signed-off-by: Chad Versace <chad@chad.versace.us>
|
|
Incremental builds take long time linking tests if utilities are
modified. The link time can be eliminate if libraries are made shared.
Shared libraries need to specify symbols that are excepted to be
declared in executeable as weak to allow linking without symbols that
aren't used in runtime.
Windows has limitation that shared library can't have programs main
function that forces windows to use static libraries.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
For GL tests (those built by CMakeLists.gl.txt), if USE_WAFFLE is enabled
then freeglut is replaced with glut_waffle.
For GLES1 and GLES2 tests, glut_waffle is now required.
Reviewed-by: Pauli Nieminen <pauli.nieminen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
This enables Piglit to call `find_package(Waffle REQUIRED)`.
Reviewed-by: Pauli Nieminen <pauli.nieminen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Chad Versace <chad@chad.versace.us>
|
|
Nearly all CMakeLists.gl.txt contained the following:
include_directories(${GLUT_INCLUDE_DIR})
link_libraries(${GLUT_glut_LIBRARY})
This patch relocates them to cmake/target_api/gl/CMakeLists.txt.
Reviewed-by: Pauli Nieminen <pauli.nieminen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
Now that there are options to control building the GLES1 and GLES2 tests,
there is no need for the 'if' guard in these CMakeLists.
Remove the unneeded 'if' guards, and hence a level of indentation.
Reviewed-by: Pauli Nieminen <pauli.nieminen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
Default value for each is OFF.
Before this patch, Piglit automatically built the GLES1 tests if libEGL
and libGLESv1_CM were found. Ditto for GLES2 and libGLESv2. If these
libraries were installed on the system, it was impossible to disable the
tests.
This patch adds options to explicitly enable the tests.
v2: Fix typo GLES1 -> GLES2.
Reviewed-by: Pauli Nieminen <pauli.nieminen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
Alter the wrapper functions `piglit_add_executable` and
`piglit_add_library` to add to each object file a dependency on
piglit_dispatch's generated files. This requires that a top-level custom
target be created, `piglit_dispatch_gen`, to track that dependency.
The result is that updating any files in `piglit_dispatch_gen_inputs` (for
example, gl_API.xml) triggers a recompile of all objects.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
For now, `piglit_add_executable` is a trivial wrapper around
`add_executable`. Ditto for `piglit_add_library`.
A subsequent commit will leverage the wrappers to add to each object file
an explicit dependency on the header files generated by piglit_dispatch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
Currently there is only one utility function, piglit_include_target_api.
However, subsequent commits will add several more.
I'm choosing to define all the utility functions in their own file,
piglit_util.cmake, in order to keep things organized and the top
CMakeLists uncluttered.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|
|
This patch contains the code generation scripts that convert the files
gl.spec, gl.tm, and enumext.spec into C code, as well as the CMake
directives to run the scripts.
Code generation occurs in two phases: first the script
glapi/parse_glspec.py converts the .spec and .tm files into an
intermediate JSON format, which is stored in glapi/glapi.json. Then,
the script tests/util/gen_dispatch.py converts the JSON file into two
files, tests/util/generated_dispatch.c and
tests/util/generated_dispatch.h.
There are two motivations for breaking code generation into two phases:
(1) there are other code generation tasks we may add in the future
(e.g. generating the tests/util/piglit-util-enum.c file), and it would
be nice not to have to rewrite any parsing code when we do so. (2) if
the GL consortium ever decides to change the format of gl.spec, gl.tm,
and enumext.spec, then we only have to change parse_glspec.py.
These code generation scripts can be run by invoking "make
piglit_dispatch_gen" from the toplevel source directory.
v2: Add clarifying comments, remove a bogus "print" statement, and
raise an exception if an unrecognized multiplicity is encountered.
Also, handle "reference" multiplicity.
v3: Add APIENTRY to stub functions. Rename "near" and "far" to avoid
problems on MSVC. Get rid of "__" in function names. Rename
initialize_dispatch_pointers => reset_dispatch_pointers. Add
gl_10x_version parameter to get_core_proc(). Output generated code
relative to CMAKE_BINARY_DIR so that it won't pollute source
directories when building out of tree. Add .gitignore so that
generated files are ignored when building in tree. Add GL_VERSION_*
defines.
|
|
This commit adds the infrastructure for writing GLES1 specific tests.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
piglit_include_target_api() facilitates building Piglit with multiple GL
targets (for example, GL and GLES2).
Note: This belongs to a series that add GLES2 support to Piglit.
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
Add two new CMakeLists, /cmake/target_api/{gl,gles2}/CMakeLists.txt, each
of which builds Piglit with its respective API. (Of course,
gles2/CMakeLists.txt adds no targets because Piglit does not yet support
building with GLES2.)
The toplevel CMakeLists no longer adds subdirectory /tests; that is now
the responsiblity of the API-specific CMakeLists.
Note: This belongs to a series that adds GLES2 support to Piglit.
Signed-off-by: Chad Versace <chad.versace@intel.com>
|