summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-05-03 20:16:58 -0400
committerGitHub <noreply@github.com>2023-05-03 20:16:58 -0400
commitc9ef8d58a135061262fd321a82061d27dc733cf5 (patch)
tree888bee92d8519fe80ec9d5dbb95c2dc8da985865 /docs
parentbf2b05528d6edbbf1beb87552f447d29f92eee47 (diff)
HLSL->Vulkan binding support (#2865)
* WIP around VK shift binding. * Refactor around options parsing. * Remove needless passing around of sink. * Some more tidying around OptionsParser. * Handle vulkan shift parsing. * Fix small issue around vk binding and "all". * Fixing some small issues. Missing break. * Split out VulkanLayoutOptions * WIP binding taking into account HLSL->Vulkan options. * First attempt at making binding work with HLSLVulkanOptions. * VulkanLayoutOptions -> HLSLToVulkanLayoutOptions * WIP with HLSL-Vulkan binding. * Some more testing around vk-shift. * Improvements around global binding. More tests. * Improve test coverage. Improve checking for requirements around default space. * Update command line options. * Small fixes. * Small fix in options reporting. * Fix warning issue. * Some fixes for isDefault for HLSLToVulkanLayoutOptions. * Update hlsl-to-vulkan-shift output. The difference was due to default handling if shift isn't specified, and not being specified was not correctly tracked.
Diffstat (limited to 'docs')
-rw-r--r--docs/command-line-slangc-reference.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/docs/command-line-slangc-reference.md b/docs/command-line-slangc-reference.md
index e61c4245b..8b91096e7 100644
--- a/docs/command-line-slangc-reference.md
+++ b/docs/command-line-slangc-reference.md
@@ -31,6 +31,7 @@ slangc -help-style markdown -h
* [file-system-type](#file-system-type)
* [target](#target)
* [stage](#stage)
+* [vulkan-shift](#vulkan-shift)
* [capability](#capability)
* [file-extension](#file-extension)
@@ -305,6 +306,32 @@ Set the optimization level.
Remove all source file information from outputs.
+<a id="force-glsl-scalar-layout"></a>
+## -force-glsl-scalar-layout
+Force using scalar block layout for uniform and shader storage buffers in GLSL output.
+
+
+<a id="fvk-bind-globals"></a>
+## -fvk-bind-globals
+
+**-fvk-bind-globals &lt;N&gt; &lt;descriptor-set&gt;**
+
+Places the $Globals cbuffer at descriptor set &lt;descriptor-set&gt; and binding &lt;N&gt;. See HLSL global variables and Vulkan binding for explanation and examples.
+
+
+<a id="enable-effect-annotations"></a>
+## -enable-effect-annotations
+Enables support for legacy effect annotation syntax.
+
+
+<a id="fvk-b-shift"></a>
+## -fvk-b-shift, -fvk-s-shift, -fvk-t-shift, -fvk-u-shift
+
+**-vk-&lt;[vulkan-shift](#vulkan-shift)&gt;-shift &lt;N&gt; &lt;space&gt;**
+
+Shifts by N the inferred binding numbers for all resources in b-type registers of space &lt;space&gt;. Specifically, for a resouce attached with :register(bX, &lt;space&gt;) but not \[vk::binding(...)\], sets its Vulkan descriptor set to &lt;space&gt; and binding number to X + N. If you need to shift the inferred binding numbers for more than one space, provide more than one such option. If more than one such option is provided for the same space, the last one takes effect. If you need to shift the inferred binding numbers for all sets, use 'all' as &lt;space&gt;.
+
+
<a id="Downstream"></a>
# Downstream
@@ -737,6 +764,16 @@ Stage
* `mesh`
* `amplification`
+<a id="vulkan-shift"></a>
+# vulkan-shift
+
+Vulkan Shift
+
+* `b` : Vulkan Buffer resource
+* `s` : Vulkan Sampler resource
+* `t` : Vulkan Texture resource
+* `u` : Vulkan Uniform resource
+
<a id="capability"></a>
# capability