From 40bfb772e1cc5bda8023ba5184bdbe050ec51e2d Mon Sep 17 00:00:00 2001 From: turanszkij Date: Fri, 13 Apr 2018 15:23:36 +0100 Subject: [PATCH] annotation update --- WickedEngine/wiGraphicsDevice_Vulkan.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/WickedEngine/wiGraphicsDevice_Vulkan.cpp b/WickedEngine/wiGraphicsDevice_Vulkan.cpp index d72938f96..8fedacace 100644 --- a/WickedEngine/wiGraphicsDevice_Vulkan.cpp +++ b/WickedEngine/wiGraphicsDevice_Vulkan.cpp @@ -1092,27 +1092,30 @@ namespace wiGraphicsTypes // Create default pipeline: { - - // The desired descriptor layout will be as such (per shader stage): // - // We are mapping HLSL constructs to Vulkan descriptor type equivalents. The difference is that DX11 manages resource bindings by "Memory Type" + // ################################################################################## + // ## The desired descriptor layout will be as such (per shader stage) ## + // ################################################################################## + // + // - We are mapping HLSL constructs to Vulkan descriptor type equivalents. The difference is that DX11 manages resource bindings by "Memory Type" // but HLSL has distinctive resource types which map to them. Vulkan API has a more straight forward mapping but we are emulating the // DX11 system for now... // - // We are creating this table (descriptor set) for every shader stage. The SPIR-V shaders will have set and layout bindings compiled + // - We are creating this table (descriptor set) for every shader stage. The SPIR-V shaders will have set and layout bindings compiled // into them for each resource. // - The [layout set] binding will correspond to shader stage // - except in compute shader because it will have only single descriptor table, special logic will handle that // - The [layout location] binding will correspond to Vulkan name offset inside the set which is hard coded // (eg. see VULKAN_DESCRIPTOR_SET_OFFSET_CBV in ShaderInterop_Vulkan.h) // - // Left hand side of this table is essentially DX12-like descriptor table layout (per stage) + // - Left hand side of this table is essentially DX12-like descriptor table layout (per stage) // - DX12 maps perfectly to DX11 regarding table layout - // Right hand side is corresponding Vulkan layout (per stage). + // - Right hand side is corresponding Vulkan layout (per stage). // - Vulkan implementation has bigger tables. // - CBV table has same amount like DX12 // - SRV table has 3x amount of DX12 - // - CBV table has 3x amount of DX12 + // - UAV table has 3x amount of DX12 + // - UAV counter buffer would take +1x but not used for now... // - Sampler table has same amount like DX12 // // ================================================================================||===============================================================