From 2a964149e5daa6429e217f7a49e334acdbfe0a7a Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Tue, 8 Dec 2015 10:50:10 -0700 Subject: layers: Add UniqueObjects layer to wrap objects in unique ptr This layer should sit at the BOTTOM of the layer stack (closest to the driver, furthest from the app). It interecpts all created non-dispatchable-objects and wraps them in a struct, returning that struct ptr up the chain. For all API calls that use NDOs, this layer will unwrap them, and overwrite the wrapped handle with the actual handle before passing it down. Then, after calling down to the driver, the layer will re-overwrite the NDO handles with the original, wrapped handle. When an NDO object is destroyed, the actual handle is passed down, then the wrap struct object is destroyed. --- layers/linux/VkLayer_unique_objects.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 layers/linux/VkLayer_unique_objects.json (limited to 'layers/linux/VkLayer_unique_objects.json') diff --git a/layers/linux/VkLayer_unique_objects.json b/layers/linux/VkLayer_unique_objects.json new file mode 100644 index 00000000..056ad7bd --- /dev/null +++ b/layers/linux/VkLayer_unique_objects.json @@ -0,0 +1,11 @@ +{ + "file_format_version" : "1.0.0", + "layer" : { + "name": "VK_LAYER_GOOGLE_unique_objects", + "type": "GLOBAL", + "library_path": "./libVkLayer_unique_objects.so", + "api_version": "0.210.0", + "implementation_version": "1", + "description": "Google Validation Layer" + } +} -- cgit v1.2.3