Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

stereotype441/piglit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piglit------1. About2. Setup3. How to run tests4. Available test sets5. How to write tests6. Todo1. About--------Piglit is a collection of automated tests for OpenGL and OpenCLimplementations.The goal of Piglit is to help improve the quality of open sourceOpenGL and OpenCL drivers by providing developers with a simple means toperform regression tests.The original tests have been taken from- Glean (http://glean.sf.net/ ) and- Mesa (http://www.mesa3d.org/ )2. Setup--------First of all, you need to make sure that the following are installed:  - Python 2.7 or greater  - Python Mako module  - 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://people.freedesktop.org/~chadversary/waffle)Now configure the build system:  $ ccmake .This will start cmake's configuration tool, just follow the onscreeninstructions. 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:  $ make2.1 Cross Compiling-------------------On Linux, if cross-compiling a 32-bit build on a 64-bit host, then you mustinvoke cmake with option "-DCMAKE_SYSTEM_PROCESSOR=i386".2.2 Ubuntu----------Install development packages.  $ sudo apt-get install cmake g++ mesa-common-dev libgl1-mesa-dev python-numpy python-mako freeglut3-dev x11proto-gl-dev libxrender-devInstall additional components for which Ubuntu packages do not yet exist:  - waffle (http://people.freedesktop.org/~chadversary/waffle)Configure and build.  $ cmake .  $ make2.3 Mac OS X------------Install CMake.http://cmake.org/cmake/resources/software.htmlDownload and install 'Mac OSX Universal' platform.Install Xcode.http://developer.apple.com/xcodeConfigure and build.  $ cmake .  $ makegleanglean will not build with MacOSX10.7.sdk. If you are trying to build glean on Mac OS 10.7 (Lion), you will have to use MacOSX10.6.sdk.  $ ccmake .Set 'CMAKE_OSX_SYSROOT' to '/Developer/SDKs/MacOSX10.6.sdk'. Configure. Generate and exit.  $ make2.4 Cygwin----------Install development packages.  - cmake  - gcc4  - make  - opengl  - libGL-devel  - python  - python-numpy  - libglut-devel  - libGLU-develConfigure and build.  $ cmake .  $ make2.5 Windows-----------Install Python.http://www.python.org/downloadInstall NumPy.http://sourceforge.net/projects/numpy/files/NumPyInstall CMake.http://cmake.org/cmake/resources/software.htmlDownload and install 'Windows' platform.Install Microsoft Visual Studio.Install 'Visual C++' feature.Download OpenGL Core API and Extension Header Files.http://www.opengl.org/registry/#headersCopy header files to MSVC.C:\Program Files\Microsoft Visual Studio 10.0\VC\include\GLDownload freeglut for MSVC.http://www.transmissionzero.co.uk/software/freeglut-develOpen Visual Studio Command Prompt.Start Menu->All Programs->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Command Prompt (2010)CD to piglit directory.Run CMake GUI.  > C:\Program Files\CMake 2.8\bin\cmake-gui.exe .Configure  - NMake Makefiles  - Use default native compilersSet these variables in the Advanced view.  - GLUT_INCLUDE_DIR  - GLUT_glut_LIBRARYConfigureGenerateFile->ExitBuild from the Visual Studio Command Prompt.  > nmake3. How to run tests-------------------Make sure that everything is set up correctly:  $ ./piglit-run.py tests/sanity.tests results/sanity.resultsThis will run some minimal tests.  If you built Piglit out-of-source, then theenvironment variable PIGLIT_BUILD_DIR must be set:  $ env PIGLIT_BUILD_DIR=/path/to/piglit/build/dir \    ./piglit-run.py tests/sanity.tests results/sanity.resultsUse  $ ./piglit-run.pyto learn more about the command's syntax. Have a look into the tests/directory to see what test profiles are available:  $ cd tests  $ ls *.tests     ...  $ cd ..See also section 4.To create some nice formatted test summaries, run  $ ./piglit-summary-html.py summary/sanity results/sanity.resultsHint: You can combine multiple test results into a single summary.      During development, you can use this to watch for regressions:  $ ./piglit-summary-html.py summary/compare results/baseline.results results/current.results      You can combine as many testruns as you want this way(in theory;      the HTML layout becomes awkward when the number of testruns increases)Have a look at the results with a browser:  $ xdg-open summary/sanity/index.htmlThe summary shows the 'status' of a test: pass  This test has completed successfully. warn  The test completed successfully, but something unexpected happened.       Look at the details for more information. fail  The test failed. skip  The test was skipped.[Note: Once performance tests are implemented, 'fail' will mean that the test       rendered incorrectly or didn't complete, while 'warn' will indicate a       performance regression][Note: For performance tests, result and status will be different concepts.       While status is always restricted to one of the four values above,       the result can contain a performance number like frames per second]4. Available test sets----------------------Test sets are specified as Python scripts in the tests directory.The following test sets are currently available:sanity.tests    This suite contains minimal sanity tests. These tests must    pass, otherwise the other tests will not generate reliable results.all.tests    This suite contains all tests.all_cl.tests    This suite contains all OpenCL tests.quick.tests    Run all tests, but cut down significantly on their runtime    (and thus on the number of problems they can find).    In particular, this runs Glean with the --quick option, which    reduces the number of visuals and state combinations tested.radeon.testsr300.testsr500.tests    These test suites are adaptations of all.tests, with some tweaks    to account for hardware limitations in Radeon chips.5. How to write tests---------------------Every test is run as a separate process. This minimizes the impact thatsevere bugs like memory corruption have on the testing process.Therefore, tests can be implemented in an arbitrary standalone language.I recommend C, C++ and Python, as these are the languages that are alreadyused in Piglit.All new tests must be added to the all.tests profile. The test profilesare simply Python scripts. There are currently two supported test types: PlainExecTest   This test starts a new process and watches the process output (stdout and   stderr). Lines that start with "PIGLIT:" are collected and interpreted as   a Python dictionary that contains test result details. GleanTest   This is a test that is only used to integrate Glean testsAdditional test types (e.g. for automatic image comparison) would have tobe added to core.py.Rules of thumb:  Test process that exit with a nonzero returncode are considered to have  failed.  Output on stderr causes a warning.6. Todo------- Get automated tests into widespread use ;) Automate and integrate tests and demos from Mesa   Add code that automatically tests whether the test has rendered correctly Performance regression tests   Ideally, this should be done by summarizing / comparing a history of   test results   Note that while some small artificial micro-benchmark could be added to   Piglit, the Phoronix test suite is probably a better place for   realistic performance testing.

[8]ページ先頭

©2009-2025 Movatter.jp