aboutsummaryrefslogtreecommitdiff
path: root/loader
AgeCommit message (Collapse)Author
2015-06-18loader: Grab next before destroying the dataCourtney Goeltzenleuchter
2015-06-18loader: Support multiple layers in one library by using <layerName>GetProcAddrJon Ashburn
Get*ExtensionInfo string was being used to see if layer extensions are aliases. Change this over to Get*ProcAddr pointer since that will be different in libraries that have multiple layers/ICDs in them. Conflicts: loader/loader.c
2015-06-18loader: Remove the test for device layers activated; they follow create/destroyJon Ashburn
2015-06-18loader: Add device struct so can destroy layer info at DestroyDeviceJon Ashburn
This also allows multiple logical devices per icd/gpu combo. Old code conflated a icd/gpu combo with a logical device
2015-06-18loader: Set some log messages as debug messagesCourtney Goeltzenleuchter
2015-06-18memtracker: Add persistent storageCourtney Goeltzenleuchter
This patch eliminates global variables and accesses everything through pre-instance or per-device storage. Have basic template supporting get_my_data_ptr function working.
2015-06-18loader: Fix device layer activation to properly filter out repeat layersJon Ashburn
2015-06-18loader: Move device dispatch table to CreateDevice from EnumeratePhysDevJon Ashburn
For now just have a static array for these will fix this in later commit Conflicts: loader/loader.c
2015-06-18loader: Remove GetGlobalExtensionInfo from dispatch tableJon Ashburn
No way to reliably dispatch this entry point in layers; will not be recursive. Conflicts: loader/loader.c
2015-06-18loader: Remove linefeed from log messagesCourtney Goeltzenleuchter
The output function already puts in linefeeds.
2015-06-18loader: Use type flags not code for filterCourtney Goeltzenleuchter
2015-06-18loader: clean up dead codeCourtney Goeltzenleuchter
2015-06-18loader: only search for layersCourtney Goeltzenleuchter
2015-06-18loader: remove now unused hosted fieldCourtney Goeltzenleuchter
2015-06-18loader: Add error messages if layer libraries fail to loadJon Ashburn
2015-06-18loader: Make global functions (instance chain entrypoints) thread safeJon Ashburn
2015-06-18loader: Remove storage of wrappedGPUs only need during layer activationJon Ashburn
2015-06-18loader: add debug log messageCourtney Goeltzenleuchter
2015-06-18loader: Add LOADER_DEBUG environment flagsCourtney Goeltzenleuchter
The loader_log function now uses a global flag to determine which log messages to echo to stderr. The flags can be set by setting the LOADER_DEBUG environment variable to colon separate list of tokens.
2015-06-18loader: Fix DestroyInstanceCourtney Goeltzenleuchter
2015-06-18loader: Add utility to return loader instance ptrCourtney Goeltzenleuchter
2015-06-18loader: Increase library name length for safetyCourtney Goeltzenleuchter
2015-06-18loader: Fix EnumeratePhysDev to handle less gpus than icd has and no mem leakJon Ashburn
Also no longer wrap gpu objs of inst objs in CreateInstance.
2015-06-18loader: Only allow layer in chain onceCourtney Goeltzenleuchter
If an application were to specify a "Validatio" layer and the environment specified a ParamChecker layer it was possible to load the same layer twice in one chain. Layers don't like that can only be referenced once and that's all they need to support multiple extensions from the one layer. This patch adds an alias pointer so that when putting together the lists of available extensions the loader can keep track of multiple extensions that are servied by the same library. Also now create specific activated_layers_list that contains only the list of layers that need to be activated.
2015-06-18loader: Remove obsolete extension / layer codeCourtney Goeltzenleuchter
2015-06-18loader: Fix code format, add some debug infoCourtney Goeltzenleuchter
2015-06-18loader: remove dependency fields from extension infoCourtney Goeltzenleuchter
2015-06-18loader: Remove resolved TODOsCourtney Goeltzenleuchter
Update comments and remove TODOs that are done.
2015-06-18loader: Remove unused functionsCourtney Goeltzenleuchter
Now that we are using the full VkExtensionProperties structure to designate extensions needed new query functions
2015-06-18loader: Put static function prototypes in .cCourtney Goeltzenleuchter
2015-06-18loader: Add support for debug reportCourtney Goeltzenleuchter
2015-06-17loader: Support layers that don't have an extension entrypointJon Ashburn
Change all layers and loader interface to init dispatch tables on GPA("GetXXXProcAddr"). After that initialization rest of dispatch tables are inited via unwrapped object using the GPA in the dispatch table. This also allows App generated GPA calls that the loader can't resolve to function correctly.
2015-06-17loader: Fix info string of device versus instance layer being addedJon Ashburn
2015-06-17loader: Add wsi extension to loader's list of global extensionsJon Ashburn
2015-06-17loader: Fix debug_report utility functions string names to be consistentJon Ashburn
2015-06-17misc: Make DEBUG_MARKER entrypoints a device extension with separate dispatchJon Ashburn
Right now only DrawState and ParamChecker implement this extension.
2015-06-17loader: simplify wrapping setupCourtney Goeltzenleuchter
2015-06-17extensions: begin changes for extension supportCourtney Goeltzenleuchter
This patch starts restructuring the various components (loader, driver, layers, etc.) to support global and device extensions. Require GetProcAddr to access the extension functions and related support.
2015-06-17loader: Return NULL for WSI entrypoints if extension not enabledJon Ashburn
2015-06-17loader: FIXME - horrible WSI workaroundCourtney Goeltzenleuchter
2015-06-17wsi: Fix icd lookup for WSI extensionCourtney Goeltzenleuchter
2015-06-17loader: Use ICD's GetDeviceProcAddr as end of layer chain rather than loader'sJon Ashburn
If function name is unknown to loader and layers the old gpa_internal would recurse without terminator. Use Driver's GPA as terminator. Also simplifies code.
2015-06-17misc: Make wsi lunarg an extension rather than core entrypointsJon Ashburn
2015-06-17loader: Fix for CreateInstance object created being pointer to pointer to dispJon Ashburn
2015-06-17loader: make the instance dispatch table per instanceJon Ashburn
2015-06-17misc: Change vkGetProcAddr to vkGetDeviceProcAddrJon Ashburn
Also cleanup layer/loader GPA's to only return device level entrypoints.
2015-06-17loader: Remove GetGlobalExtensionInfo trampolineJon Ashburn
Wasn't working correctly for now remove GetGlobalExtensionInfo from the instance layer chain.
2015-06-17misc: Loader and Layers move device chain activation to CreateDeviceJon Ashburn
2015-06-17loader: Move lookup of icd entrypoints to CreateInstance and add more lookupsJon Ashburn
Move the icd Vulkan entrypoint address lookups to CreateInstance and icd list rather than in the scanned_icd list. Also add more instance chain entrypoints
2015-06-17loader: Activate layers on the instance chain at CreateInstanceJon Ashburn