commit | 0506950b08668de4677f5f1c69623ab2282cf45c | [log] [tgz] |
---|---|---|
author | Peter Lohrmann <peterl@valvesoftware.com> | Mon Mar 30 12:58:50 2015 -0700 |
committer | Peter Lohrmann <peterl@valvesoftware.com> | Mon Mar 30 14:27:32 2015 -0700 |
tree | 10c193a80be1c24d42c208af05e2d459896fcb8f | |
parent | 4522141ada7a741e56a487fe042314e287b7ca2f [diff] |
glaveSnapshot: Reorganize creation/insertion and deletion of objects * Return value of api's Create* calls is now ensured to be XGL_SUCCESS before attempting to track the object. * Created objects are now inserted into a snapshot's global and object lists, then the node is returned so that the caller can populate additional information in the pStruct member if needed. * The list of devices now uses the GLV_VK_SNAPSHOT_LL_NODE because device object nodes will be linked into the global list and object lists to help avoid duplication of data. * When a created object needs to get deleted, snapshot_remove_object(..) will search for the object in the global list and remove the node from both lists before returning a pointer to the node (or NULL if the object was not in the global list, meaning we didn't see the creation). The caller should delete the pStruct member as appropriate and then delete the node itself. If the creation of the object was not captured, the caller should add the object to the deleted object list. * Deleted objects (whose creation was not recorded) now get tracked using a different linked-list struct than other objects. There is a lot less known information related to a deleted object, so there's no need to use the larger struct.
Version 0.8, 04 Feb 2015
This project provides open source tools for XGL Developers.
XGL is an Explicit API, enabling direct control over how GPUs actually work. No validation, shader recompilation, memory management or synchronization is done inside an XGL driver. Applications have full control and responsibility. Any errors in how XGL is used are likely to result in a crash. This project provides layered utility libraries to ease development and help guide developers to proven safe patterns.
New with XGL in an extensible layered architecture that enables significant innovation in tools:
The components here are being shared with the Khronos community to provide insights into the specification as we approach an alpha header, and to assists those doing demos for GDC.
The following components are available:
XGL Library and header files, which include:
Core Validation Layers
BUILD.md includes directions for building all the components, running the validation tests and running the demo applications.
Information on how to enable the various Debug and Validation layers is in layers/README.md.
This version of the components are written based on the following preliminary specs and proposals:
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.
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 and valuable technical feedback; AMD, providing XGL spec editor contributions; 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; 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