diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 53 |
1 files changed, 20 insertions, 33 deletions
@@ -12,12 +12,12 @@ Piglit ## 1. About -Piglit is a collection of automated tests for OpenGL and OpenCL +Piglit is a collection of automated tests for OpenGL, Vulkan, and OpenCL implementations. The goal of Piglit is to help improve the quality of open source -OpenGL and OpenCL drivers by providing developers with a simple means to -perform regression tests. +OpenGL, Vulkan, and OpenCL drivers by providing developers with a simple +means to perform regression tests. The original tests have been taken from - Glean ( http://glean.sf.net/ ) and @@ -33,26 +33,23 @@ First of all, you need to make sure that the following are installed: - numpy (http://www.numpy.org) - cmake (http://www.cmake.org) - GL, glu and glut libraries and development packages (i.e. headers) - - X11 libraries and development packages (i.e. headers) - - waffle (http://www.waffle-gl.org) + - waffle (http://waffle.freedesktop.org/) Optionally, you can install the following: + - X11 libraries and development packages (i.e. headers) + - ninja. For a faster build. - lxml. An accelerated python xml library using libxml2 (http://lxml.de/) - - simplejson. A fast C based implementation of the python json library. - (https://simplejson.readthedocs.org/en/latest/) - jsonstreams. A JSON stream writer for python. (https://jsonstreams.readthedocs.io/en/stable/) - VkRunner. A shader script testing tool for Vulkan. - (https://github.com/igalia/vkrunner) + (https://gitlab.freedesktop.org/mesa/vkrunner/) For testing the python framework using `py.test unittests/framework` - py.test. A python test framework, used for running the python framework test suite. - tox. A tool for testing python packages against multiple configurations of python (https://tox.readthedocs.org/en/latest/index.html) - - mock. A python module for mocking other python modules. Required only for - unittests (https://github.com/testing-cabal/mock) - psutil. A portable process library for python - jsonschema. A JSON validator library for python - pytest-mock. A mock plugin for pytest @@ -64,15 +61,11 @@ For testing the python framework using `py.test unittests/framework` Now configure the build system: - $ ccmake . + $ cmake . -G Ninja -This will start cmake's configuration tool, just follow the onscreen -instructions. The default settings should be fine, but I recommend you: - - Press 'c' once (this will also check for dependencies) and then - - Set `CMAKE_BUILD_TYPE` to `Debug` Now you can press 'c' again and then 'g' to generate the build system. Now build everything: - $ make + $ cmake --build . ### 2.1 Cross Compiling @@ -91,8 +84,8 @@ Install development packages. Configure and build. - $ cmake . - $ make + $ cmake . -G Ninja + $ cmake --build . ### 2.3 Mac OS X @@ -107,7 +100,7 @@ http://developer.apple.com/xcode Configure and build. $ cmake . - $ make + $ cmake --build . ### 2.4 Cygwin @@ -125,7 +118,7 @@ Install development packages. Configure and build. $ cmake . - $ make + $ cmake --build . ### 2.5 Windows @@ -431,6 +424,9 @@ python framework: It is generally unnecessary to call this class directly as it uses a helper function to search directories for tests. +## 5.1 Contributing + + See the [HACKING](HACKING) file. ## 6. Integration @@ -440,7 +436,7 @@ crashing does not crash the whole suite), and access to piglit's reporting tools. Most integration is done through the use of piglit.conf, or through environment -variables, with piglit.conf being the preferred method. +variables, with `piglit.conf` being the preferred method. ### 6.1 dEQP @@ -448,18 +444,9 @@ variables, with piglit.conf being the preferred method. Piglit provides a generic layer for dEQP based test suites, and specific integration for several suites. -I suggest using Chad Versace's repo of dEQP, which contains a gbm target. -https://github.com/chadversary/deqp - -It should be built as follows: - - cmake . -DDEQP_TARGET=gbm -GNinja - -Additional targets are available in the targets directory. gbm isn't compatible -for most (any?) blob driver, so another target might be necessary if that is a -requirement. One of the x11_* targets or drm is probably a good choice. - -The use of ninja is optional. +Use the upstream dEQP repo (maintained by Khronos members), which +contains the official conformance tests (CTS): +https://github.com/KhronosGroup/VK-GL-CTS Once dEQP is built add the following information to piglit.conf, which can either be located in the root of the piglit repo, or in `$XDG_CONFIG_HOME` |