-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.
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:
- 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
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
# Explicit GL (XGL) Ecosystem Components\r
-*Version 0.2, 31 Oct 2014*\r
+*Version 0.2, Spinning Cube, 31 Oct 2014*\r
\r
-This project provides open source components for the XGL Ecosystem.\r
+This project provides *open source* components for the XGL Ecosystem.\r
\r
-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.\r
+## Introduction\r
+\r
+The components here are being shared with the Khronos community to provide\r
+early insights into the specification of XGL and to assists those doing\r
+prototyping at this point.\r
\r
The following components are available:\r
- 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))\r
- [Common Infrastructure](https://github.com/KhronosGroup/GL-Next/tree/master/icd/common)\r
- [Implementation for Intel GPUs](https://github.com/KhronosGroup/GL-Next/tree/master/icd/intel)\r
\r
+## How to Build and Run\r
+\r
+This release demonstrates a spinning textured cube as an example of the\r
+vertical slice of XGL functionality running on Ubuntu 14.10 with an Intel\r
+GPU. Included are instructions for\r
+[building all the components](https://github.com/KhronosGroup/GL-Next/tree/master/BUILD.md)\r
+and\r
+[running the XGL spinning cube demo application](https://github.com/KhronosGroup/GL-Next/tree/master/demos/README.md).\r
+\r
+Information on how to enable the API Dump and Validation layers is in\r
+[layers/README.md](https://github.com/KhronosGroup/GL-Next/tree/master/layers/README.md).\r
+\r
+## References\r
This version of the components are written based on the following preliminary specs and proposals:\r
- [**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)\r
- [**BIL**, version 1.0, revision 18](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL/Specification/BIL.html)\r
- [**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)\r
- [**Valve's Loader Proposal**, 7 Oct 2014](https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/Valve/xglLayers.pptx)\r
\r
+## License\r
This work is intended to be released as open source under a BSD-style\r
license once the XGL specification is public. Until that time, this work\r
is covered by the Khronos NDA governing the details of the XGL API.\r
\r
+## Acknowledgements\r
While this project is being developed by LunarG, Inc; there are many other\r
companies and individuals making this possible: Valve Software, funding\r
project development; Intel Corporation, providing full hardware specifications\r
providing an initial co-editor for the spec; Qualcomm for picking up the\r
co-editor's chair; and Khronos, for providing hosting within GitHub.\r
\r
-If you have questions or comments about this driver, please post those to\r
-gl_common@khronos.org; or if you prefer, directly to LunarG via XGL@LunarG.com\r
+## Contact\r
+If you have questions or comments about this driver; or you would like to contribute\r
+directly to this effort, please contact us at XGL@LunarG.com; or if you prefer, via\r
+the GL Common mailing list: gl_common@khronos.org\r