From b79a1339b2f266ae57c5e9dcc1a6590d9d664f90 Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Tue, 25 Nov 2014 12:56:49 -0700 Subject: 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. --- include/xgl.h | 23 ++++++++++++----------- include/xglLayer.h | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) (limited to 'include') 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.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); -- cgit v1.2.3