From a65963a5c7edcfd5e44f8d5102e8379ba86916ec Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Wed, 8 Apr 2015 21:33:34 -0600 Subject: layers: Remove wrapping of GPU objects by loader and layers Loader only wraps GPU objects for creating a layer chain. After layer activation layers and loader use unwrapped gpu object returned by the driver. This is a large simplification. This fixes a nasty bug where layers intercepting entrypoints with gpu objects but not all these entrypoints would fail. These would cause non-uniform unwrapping of gpu objects by the time the driver was called with a gpu object. Fixes issue in loader_get_icd where it was trying to compare a wrapped GPU against a non-wrapped GPU. --- loader/loader.h | 9 --------- 1 file changed, 9 deletions(-) (limited to 'loader/loader.h') diff --git a/loader/loader.h b/loader/loader.h index 77c50c9a..0ff9a590 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -65,15 +65,6 @@ static inline void loader_init_data(void *obj, const void *data) loader_set_data(obj, data); } -static inline void *loader_unwrap_gpu(VkPhysicalGpu *gpu) -{ - const VkBaseLayerObject *wrap = (const VkBaseLayerObject *) *gpu; - - *gpu = (VkPhysicalGpu) wrap->nextObject; - - return loader_get_data(wrap->baseObject); -} - struct loader_instance { struct loader_icd *icds; struct loader_instance *next; -- cgit v1.2.3