From fc9f7610703d73f45c38dd07cb583094fa02c8f9 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Sun, 14 Feb 2016 10:48:22 -0700 Subject: [PATCH] loader: Add images to interface Doc --- images/chain_skipping_layers.png | Bin 0 -> 17793 bytes images/get_proc_addr.png | Bin 0 -> 17411 bytes images/instance_call_chain.png | Bin 0 -> 18868 bytes images/instance_dispatch.png | Bin 0 -> 46866 bytes loader/LoaderAndLayerInterface.md | 4 ++++ 5 files changed, 4 insertions(+) create mode 100644 images/chain_skipping_layers.png create mode 100644 images/get_proc_addr.png create mode 100644 images/instance_call_chain.png create mode 100644 images/instance_dispatch.png diff --git a/images/chain_skipping_layers.png b/images/chain_skipping_layers.png new file mode 100644 index 0000000000000000000000000000000000000000..0eca54eff9b17437ac55fffeefae3c5c4013e607 GIT binary patch literal 17793 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%0DC&%wwAXiU-0TAoK3Bo}&!aJs@ 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 literal 0 HcmV?d00001 diff --git a/images/get_proc_addr.png b/images/get_proc_addr.png new file mode 100644 index 0000000000000000000000000000000000000000..a11c1648168337704dc987eb56a5e4bca83c2247 GIT binary patch literal 17411 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 Ih4GvJ1;n<)L;wH) literal 0 HcmV?d00001 diff --git a/images/instance_dispatch.png b/images/instance_dispatch.png new file mode 100644 index 0000000000000000000000000000000000000000..5922b744e009c7811f91f0751c20cac0cc1cfece GIT binary patch literal 46866 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⪌`e8U$M5Ty1~S_}jnr*I_wMXwt~X?D=J#o0 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%0Ae> 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 S)@uGeM@wB_?TgBbu>S>DJwf>Z literal 0 HcmV?d00001 diff --git a/loader/LoaderAndLayerInterface.md b/loader/LoaderAndLayerInterface.md index 4901fea..f5a222c 100644 --- a/loader/LoaderAndLayerInterface.md +++ b/loader/LoaderAndLayerInterface.md @@ -75,6 +75,7 @@ first layer’s vkCreateInstance which will call the next finally terminating in the loader again where this function calls every ICD’s vkCreateInstance and saves the results. This allows every enabled layer for this chain to set up what it needs based on the VkInstanceCreateInfo structure from the application. +![Instance call chain](/images/instance_call_chain.png) This also highlights some of the complexity the loader must manage when using instance chains. As shown here, the loader must aggregate information from @@ -85,6 +86,7 @@ Device chains are created at vkCreateDevice and are generally simpler because they deal with only a single device and the ICD can always be the terminator of the chain. The below diagram also illustrates how layers (either device or instance) can skip intercepting any given Vulkan entry point. +![Chain skipping layers](/images/chain_skipping_layers.png) Application interface to loader ------------------------------- @@ -240,6 +242,8 @@ vkGetDeviceProcAddr will only work with the specific VkDevice it was created for, using it with another device has undefined results. For extensions, Get\*ProcAddr will often be the only way to access extension API features. +![Get*ProcAddr efficiency](/images/get_proc_addr.png) + Vulkan Installable Client Driver interface with the loader ---------------------------------------------------------- -- 2.7.4