diff --git a/BUILD.md b/BUILD.md index 0d5ac1e5..0536ef95 100644 --- a/BUILD.md +++ b/BUILD.md @@ -1,16 +1,15 @@ -The XGL Sample Intel driver supports Linux. - -System Requirements -=================== +# Build Instructions +This project supports Linux today. +Support for Windows will start in Q1'15. +Support for Android is TBD. +##System Requirements Ubuntu 14.04 LTS, (Ubuntu 14.10 needed for DRI 3 demos) sudo apt-get install git subversion cmake libgl1-mesa-dev freeglut3-dev libglm-dev libpng12-dev sudo apt-get build-dep mesa - -BUILD -===== +##Build The sample driver uses cmake and should work with the usual cmake options and utilities. The standard build process builds the icd, the icd loader and all the tests. @@ -27,8 +26,7 @@ To run XGL programs you must tell the icd loader where to find the libraries. Se environment variable LIBXGL_DRIVERS_PATH to the driver path. For example: export LIBXGL_DRIVERS_PATH=$PWD/icd/intel -TEST -==== +##Test The test executibles can be found in the dbuild/tests directory. The tests use the Google gtest infrastructure. Tests avilable so far: @@ -39,16 +37,14 @@ gtest infrastructure. Tests avilable so far: - xgl_render_tests: Render a single triangle with XGL. Triangle will be in a .ppm in the current directory at the end of the test. -DEMOS -===== +#Demos -The demos executibles can be found in the dbuild/demos directory. The demos use DRI 3 +The demos executables can be found in the dbuild/demos directory. The demos use DRI 3 to render directly onto window surfaces. - tri: a textured triangle - cube: a textured spinning cube -RENDER NODES -============ +#Render Nodes The render tests depend on access to DRM render nodes. To make that available, a couple of config files need to be created to set a module option @@ -57,12 +53,12 @@ The system will need to be rebooted with these files in place to complete initia These commands will create the config files. sudo tee /etc/modprobe.d/drm.conf << EOF -# Enable render nodes +'# Enable render nodes options drm rnodes=1 EOF sudo tee /etc/udev/rules.d/drm.rules << EOF -# Add permissions to render nodes +'# Add permissions to render nodes SUBSYSTEM=="drm", ACTION=="add", DEVPATH=="/devices/*/renderD*", MODE="020666" EOF diff --git a/README.md b/README.md index 903f1d87..06814931 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # Explicit GL (XGL) Ecosystem Components -*Version 0.2, 31 Oct 2014* +*Version 0.2, Spinning Cube, 31 Oct 2014* -This project provides open source components for the XGL Ecosystem. +This project provides *open source* components for the XGL Ecosystem. -The components here are being shared with the Khronos community to provide early insights into the specification of XGL and to assists those doing prototyping at this point. +## Introduction + +The components here are being shared with the Khronos community to provide +early insights into the specification of XGL and to assists those doing +prototyping at this point. The following components are available: - Proposed Reference [*ICD Loader*](https://github.com/KhronosGroup/GL-Next/tree/master/loader) (including [*Layer Management*](https://github.com/KhronosGroup/GL-Next/tree/master/layers/README.md)) @@ -15,16 +19,31 @@ The following components are available: - [Common Infrastructure](https://github.com/KhronosGroup/GL-Next/tree/master/icd/common) - [Implementation for Intel GPUs](https://github.com/KhronosGroup/GL-Next/tree/master/icd/intel) +## How to Build and Run + +This release demonstrates a spinning textured cube as an example of the +vertical slice of XGL functionality running on Ubuntu 14.10 with an Intel +GPU. Included are instructions for +[building all the components](https://github.com/KhronosGroup/GL-Next/tree/master/BUILD.md) +and +[running the XGL spinning cube demo application](https://github.com/KhronosGroup/GL-Next/tree/master/demos/README.md). + +Information on how to enable the API Dump and Validation layers is in +[layers/README.md](https://github.com/KhronosGroup/GL-Next/tree/master/layers/README.md). + +## References This version of the components are written based on the following preliminary specs and proposals: - [**XGL Programers Reference**, 1 Jul 2014](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/AMD/Explicit%20GL%20Programming%20Guide%20and%20API%20Reference.pdf) - [**BIL**, version 1.0, revision 18](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL/Specification/BIL.html) - [**IMG's Fixed Function Proposal**, 28 Oct 2014](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/IMG/xgl_vertex_input_description2_img.h) - [**Valve's Loader Proposal**, 7 Oct 2014](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/Valve/xglLayers.pptx) +## License This work is intended to be released as open source under a BSD-style license once the XGL specification is public. Until that time, this work is covered by the Khronos NDA governing the details of the XGL API. +## Acknowledgements While this project is being developed by LunarG, Inc; there are many other companies and individuals making this possible: Valve Software, funding project development; Intel Corporation, providing full hardware specifications @@ -33,5 +52,7 @@ ARM, contributing a Chairman for this working group within Khronos; Nvidia, providing an initial co-editor for the spec; Qualcomm for picking up the co-editor's chair; and Khronos, for providing hosting within GitHub. -If you have questions or comments about this driver, please post those to -gl_common@khronos.org; or if you prefer, directly to LunarG via XGL@LunarG.com +## Contact +If you have questions or comments about this driver; or you would like to contribute +directly to this effort, please contact us at XGL@LunarG.com; or if you prefer, via +the GL Common mailing list: gl_common@khronos.org