diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-01-09 15:12:03 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-02-04 17:58:05 -0700 |
| commit | c33e19116afd09976bdc39e48a6534f9465f3d38 (patch) | |
| tree | 1af4c6cf9e5e78805b1572b85b62b074e92d12a4 /loader | |
| parent | 12c336ff1a82287b33587cab07db48a3d458d807 (diff) | |
| download | usermoji-c33e19116afd09976bdc39e48a6534f9465f3d38.tar.xz | |
xgl: Add xgl header changes for rev30 and 31.
Switched EnumerateLayer parameter order, added conditional definition
of xgl function prototypes, and prepended 'xgl' to all function
prototypes. This included fixes for bugs #13173 and #13180.
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | loader/loader.c | 22 |
2 files changed, 13 insertions, 11 deletions
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index 1877ffbd..b2250ad0 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -11,6 +11,8 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES") + add_library(XGL SHARED loader.c dispatch.c table_ops.h) set_target_properties(XGL PROPERTIES SOVERSION 0) target_link_libraries(XGL -ldl -lpthread) diff --git a/loader/loader.c b/loader/loader.c index c4e8a148..8a0b3eb9 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -62,8 +62,8 @@ struct loader_icd { XGL_UINT gpu_count; XGL_BASE_LAYER_OBJECT *gpus; - GetProcAddrType GetProcAddr; - InitAndEnumerateGpusType InitAndEnumerateGpus; + xglGetProcAddrType GetProcAddr; + xglInitAndEnumerateGpusType InitAndEnumerateGpus; struct loader_icd *next; }; @@ -215,7 +215,7 @@ loader_icd_create(const char *filename) } #define LOOKUP(icd, func) do { \ - icd->func = (func## Type) dlsym(icd->handle, "xgl" #func); \ + icd->func = (xgl ##func## Type) dlsym(icd->handle, "xgl" #func); \ if (!icd->func) { \ loader_log(XGL_DBG_MSG_WARNING, 0, dlerror()); \ loader_icd_destroy(icd); \ @@ -459,7 +459,7 @@ static void layer_lib_scan(const char * libInPaths) loader.layer_scanned = true; } -static void loader_init_dispatch_table(XGL_LAYER_DISPATCH_TABLE *tab, GetProcAddrType fpGPA, XGL_PHYSICAL_GPU gpu) +static void loader_init_dispatch_table(XGL_LAYER_DISPATCH_TABLE *tab, xglGetProcAddrType fpGPA, XGL_PHYSICAL_GPU gpu) { loader_initialize_dispatch_table(tab, fpGPA, gpu); @@ -521,7 +521,7 @@ static void loader_init_layer_libs(struct loader_icd *icd, XGL_UINT gpu_index, s static bool find_layer_name(struct loader_icd *icd, XGL_UINT gpu_index, const char * layer_name, const char **lib_name) { void *handle; - EnumerateLayersType fpEnumerateLayers; + xglEnumerateLayersType fpEnumerateLayers; XGL_CHAR layer_buf[16][256]; XGL_CHAR * layers[16]; @@ -548,7 +548,7 @@ static bool find_layer_name(struct loader_icd *icd, XGL_UINT gpu_index, const ch } else { XGL_SIZE cnt; - fpEnumerateLayers(NULL, 16, 256, layers, &cnt, (XGL_VOID *) icd->gpus + gpu_index); + fpEnumerateLayers(NULL, 16, 256, &cnt, layers, (XGL_VOID *) icd->gpus + gpu_index); for (unsigned int i = 0; i < cnt; i++) { if (!strcmp((char *) layers[i], layer_name)) { dlclose(handle); @@ -693,7 +693,7 @@ extern XGL_UINT loader_activate_layers(XGL_PHYSICAL_GPU gpu, const XGL_DEVICE_CR if (!loader_layers_activated(icd, gpu_index)) { XGL_BASE_LAYER_OBJECT *gpuObj = (XGL_BASE_LAYER_OBJECT *) gpu; XGL_BASE_LAYER_OBJECT *nextGpuObj, *baseObj = gpuObj->baseObject; - GetProcAddrType nextGPA = xglGetProcAddr; + xglGetProcAddrType nextGPA = xglGetProcAddr; count = loader_get_layer_libs(icd, gpu_index, pCreateInfo, &pLayerNames); if (!count) @@ -787,7 +787,7 @@ LOADER_EXPORT XGL_RESULT XGLAPI xglInitAndEnumerateGpus(const XGL_APPLICATION_IN while (icd) { XGL_PHYSICAL_GPU gpus[XGL_MAX_PHYSICAL_GPUS]; XGL_BASE_LAYER_OBJECT * wrappedGpus; - GetProcAddrType getProcAddr = icd->GetProcAddr; + xglGetProcAddrType getProcAddr = icd->GetProcAddr; XGL_UINT n, max = maxGpus - count; if (max > XGL_MAX_PHYSICAL_GPUS) { @@ -838,14 +838,14 @@ LOADER_EXPORT XGL_RESULT XGLAPI xglInitAndEnumerateGpus(const XGL_APPLICATION_IN return (count > 0) ? XGL_SUCCESS : res; } -LOADER_EXPORT XGL_RESULT XGLAPI xglEnumerateLayers(XGL_PHYSICAL_GPU gpu, XGL_SIZE maxLayerCount, XGL_SIZE maxStringSize, XGL_CHAR* const* pOutLayers, XGL_SIZE* pOutLayerCount, XGL_VOID* pReserved) +LOADER_EXPORT XGL_RESULT XGLAPI xglEnumerateLayers(XGL_PHYSICAL_GPU gpu, XGL_SIZE maxLayerCount, XGL_SIZE maxStringSize, XGL_SIZE* pOutLayerCount, XGL_CHAR* const* pOutLayers, XGL_VOID* pReserved) { XGL_UINT gpu_index; XGL_UINT count = 0; char *lib_name; struct loader_icd *icd = loader_get_icd((const XGL_BASE_LAYER_OBJECT *) gpu, &gpu_index); void *handle; - EnumerateLayersType fpEnumerateLayers; + xglEnumerateLayersType fpEnumerateLayers; XGL_CHAR layer_buf[16][256]; XGL_CHAR * layers[16]; @@ -888,7 +888,7 @@ LOADER_EXPORT XGL_RESULT XGLAPI xglEnumerateLayers(XGL_PHYSICAL_GPU gpu, XGL_SIZ XGL_UINT n; XGL_RESULT res; n = (maxStringSize < 256) ? maxStringSize : 256; - res = fpEnumerateLayers(NULL, 16, n, layers, &cnt, (XGL_VOID *) icd->gpus + gpu_index); + res = fpEnumerateLayers(NULL, 16, n, &cnt, layers, (XGL_VOID *) icd->gpus + gpu_index); dlclose(handle); if (res != XGL_SUCCESS) continue; |
