diff options
| author | Tobin Ehlis <tobin@lunarg.com> | 2014-10-23 08:44:44 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2014-10-29 18:02:02 -0600 |
| commit | a3597eb47ee384b8506c33560aa14078aaa06c30 (patch) | |
| tree | 98e72913c8db80bc7d38ff3edece6bda126f0c14 | |
| parent | 357786477d06aebf0a60c7f959bbbb85999f60c8 (diff) | |
| download | usermoji-a3597eb47ee384b8506c33560aa14078aaa06c30.tar.xz | |
layers : Updates to layers README
| -rw-r--r-- | layers/README.md | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/layers/README.md b/layers/README.md index 75a0d283..039fe0e1 100644 --- a/layers/README.md +++ b/layers/README.md @@ -6,17 +6,19 @@ Layer libraries can be written to intercept or hook XGL entrypoints for various debug and validation purpose. One or more XGL entrypoints can be defined in your Layer library. Undefined entrypoints in the Layer library will be passed to the next Layer which may be the driver. Multiple layer libraries can be chained (actually a hierarchy) together. -xglEnumerateLayer can be called to list the available layer libraries. xglGetProcAddr i +xglEnumerateLayer can be called to list the available layer libraries. xglGetProcAddr is used internally by the Layers and ICD Loader to initialize dispatch tables. Layers are activated at xglCreateDevice time. xglCreateDevice createInfo struct is extended to allow a list of layers to be activated. Layer libraries can alternatively be LD_PRELOADed. Layer library example code: -layer/basic_plugin.c - simple example -<build dir>/layer/generic_layer.c - auto generated example wrapping all XGL entrypoints +layer/basic_plugin.c - simple example +<build dir>/layer/generic_layer.c - auto generated example wrapping all XGL entrypoints +<build dir>/layer/api_dump.c - print out API calls along with parameter values +<build dir>/layer/object_track.c - Print object CREATE/USE/DESTROY stats Using Layers:: -Build XGL loader and i965 icd driver using normal steps (cmake and make) +Build XGL loader and i965 icd driver using normal steps (cmake and make) Place libXGLLayer<name>.so in the same directory as your XGL test or app: cp build/layer/libXGLLayerBasic.so build/layer/libXGLLayerGeneric.so build/tests @@ -32,7 +34,7 @@ Current Features: -xglEnumerateLayers and xglGetProcAddr supported APIs in xgl.h, ICD loader and i965 driver -multiple layers in a hierarchy supported -layer enumeration works --layers activated per gpu and per icd driver: separate dispatch table and layer library +-layers activated per gpu and per icd driver: separate dispatch table and layer library list in loader for each gpu or icd driver -activation via xglCreateDevice extension struct in CreateInfo or via env var (LIBXGL_LAYER_LIBS) @@ -40,8 +42,8 @@ Current Features: Current known issues: -layer libraries don't support multiple dispatch tables for multi-gpus --layers with extension APIs not yet tested or supported --layer libraries not yet include loader init functionality for full LD_PRELOAD of +-layers with extension APIs not yet tested or supported +-layer libraries not yet include loader init functionality for full LD_PRELOAD of entire API including xglInitAndEnumerate -no support for apps registering layers, must be discovered via initial scan -no support for Loader discovering from layer and driver which layers support which |
