aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2014-11-25 12:56:49 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2014-11-26 10:03:12 -0700
commitb79a1339b2f266ae57c5e9dcc1a6590d9d664f90 (patch)
tree441d05d8a22b83a7d43a0391535f9607bb8d26d2 /include
parent32ad894f61e2a40596b88f1b01b3e4cecb49740a (diff)
downloadusermoji-b79a1339b2f266ae57c5e9dcc1a6590d9d664f90.tar.xz
Add reserved parameter to xglEnumerateLayers for layer usage
This parameter can be used by layer for getting GPA and gpu info queries. Also add xglEnumerateLayers() to Basic layer, to show example of only supporting a particular GPU.
Diffstat (limited to 'include')
-rw-r--r--include/xgl.h23
-rw-r--r--include/xglLayer.h4
2 files changed, 14 insertions, 13 deletions
diff --git a/include/xgl.h b/include/xgl.h
index 2ceb5665..efc972a0 100644
--- a/include/xgl.h
+++ b/include/xgl.h
@@ -880,7 +880,7 @@ typedef enum _XGL_STRUCTURE_TYPE
// IMG CHANGE BEGIN - support for vertex input description
XGL_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO = 34,
// IMG CHANGE END
- XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO = 35,
+ XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO = 35,
XGL_MAX_ENUM(_XGL_STRUCTURE_TYPE)
} XGL_STRUCTURE_TYPE;
@@ -1133,7 +1133,7 @@ typedef struct _XGL_LAYER_CREATE_INFO
XGL_STRUCTURE_TYPE sType; // Should be XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO
XGL_VOID* pNext; // Pointer to next structure
XGL_UINT layerCount;
- const XGL_CHAR *const* ppActiveLayerNames; // layer library name of form libXGLLayer<Name>.so
+ const XGL_CHAR *const* ppActiveLayerNames; // layer name from the layer's xglEnumerateLayers())
} XGL_LAYER_CREATE_INFO;
typedef struct _XGL_PHYSICAL_GPU_QUEUE_PROPERTIES
@@ -1756,10 +1756,6 @@ typedef struct _XGL_DISPATCH_INDIRECT_CMD
// ------------------------------------------------------------------------------------------------
// API functions
-XGL_VOID * XGLAPI xglGetProcAddr(
- XGL_PHYSICAL_GPU gpu,
- const XGL_CHAR * pName);
-
// GPU initialization
XGL_RESULT XGLAPI xglInitAndEnumerateGpus(
@@ -1775,6 +1771,10 @@ XGL_RESULT XGLAPI xglGetGpuInfo(
XGL_SIZE* pDataSize,
XGL_VOID* pData);
+XGL_VOID * XGLAPI xglGetProcAddr(
+ XGL_PHYSICAL_GPU gpu,
+ const XGL_CHAR* pName);
+
// Device functions
XGL_RESULT XGLAPI xglCreateDevice(
@@ -1793,11 +1793,12 @@ XGL_RESULT XGLAPI xglGetExtensionSupport(
// Layer discovery function
XGL_RESULT XGLAPI xglEnumerateLayers(
- XGL_PHYSICAL_GPU gpu,
- XGL_SIZE maxLayerCount,
- XGL_SIZE maxStringSize,
- XGL_CHAR* const* pOutLayers,
- XGL_SIZE* pOutLayerCount);
+ XGL_PHYSICAL_GPU gpu,
+ XGL_SIZE maxLayerCount,
+ XGL_SIZE maxStringSize,
+ XGL_CHAR* const* pOutLayers,
+ XGL_SIZE* pOutLayerCount,
+ XGL_VOID* pReserved);
// Queue functions
diff --git a/include/xglLayer.h b/include/xglLayer.h
index e369fc25..cf64633b 100644
--- a/include/xglLayer.h
+++ b/include/xglLayer.h
@@ -15,13 +15,13 @@
# define XGL_LAYER_EXPORT
#endif
-typedef XGL_VOID * (XGLAPI *GetProcAddrType)(XGL_PHYSICAL_GPU gpu, const XGL_CHAR * pName);
typedef XGL_RESULT (XGLAPI *InitAndEnumerateGpusType)(const XGL_APPLICATION_INFO* pAppInfo, const XGL_ALLOC_CALLBACKS* pAllocCb, XGL_UINT maxGpus, XGL_UINT* pGpuCount, XGL_PHYSICAL_GPU* pGpus);
typedef XGL_RESULT (XGLAPI *GetGpuInfoType)(XGL_PHYSICAL_GPU gpu, XGL_PHYSICAL_GPU_INFO_TYPE infoType, XGL_SIZE* pDataSize, XGL_VOID* pData);
+typedef XGL_VOID * (XGLAPI *GetProcAddrType)(XGL_PHYSICAL_GPU gpu, const XGL_CHAR * pName);
typedef XGL_RESULT (XGLAPI *CreateDeviceType)(XGL_PHYSICAL_GPU gpu, const XGL_DEVICE_CREATE_INFO* pCreateInfo, XGL_DEVICE* pDevice);
typedef XGL_RESULT (XGLAPI *DestroyDeviceType)(XGL_DEVICE device);
typedef XGL_RESULT (XGLAPI *GetExtensionSupportType)(XGL_PHYSICAL_GPU gpu, const XGL_CHAR* pExtName);
-typedef XGL_RESULT (XGLAPI *EnumerateLayersType)(XGL_PHYSICAL_GPU gpu, XGL_SIZE maxLayerCount, XGL_SIZE maxStringSize, XGL_CHAR* const* pOutLayers, XGL_SIZE* pOutLayerCount);
+typedef XGL_RESULT (XGLAPI *EnumerateLayersType)(XGL_PHYSICAL_GPU gpu, XGL_SIZE maxLayerCount, XGL_SIZE maxStringSize, XGL_CHAR* const* pOutLayers, XGL_SIZE* pOutLayerCount, XGL_VOID* pReserved);
typedef XGL_RESULT (XGLAPI *GetDeviceQueueType)(XGL_DEVICE device, XGL_QUEUE_TYPE queueType, XGL_UINT queueIndex, XGL_QUEUE* pQueue);
typedef XGL_RESULT (XGLAPI *QueueSubmitType)(XGL_QUEUE queue, XGL_UINT cmdBufferCount, const XGL_CMD_BUFFER* pCmdBuffers, XGL_UINT memRefCount, const XGL_MEMORY_REF* pMemRefs, XGL_FENCE fence);
typedef XGL_RESULT (XGLAPI *QueueSetGlobalMemReferencesType)(XGL_QUEUE queue, XGL_UINT memRefCount, const XGL_MEMORY_REF* pMemRefs);