diff --git a/docs/command-line-slangc-reference.md b/docs/command-line-slangc-reference.md index d8827cc45b..d2a7bbd719 100644 --- a/docs/command-line-slangc-reference.md +++ b/docs/command-line-slangc-reference.md @@ -1523,6 +1523,7 @@ A capability describes an optional feature that a target may or may not support. * `consumestructuredbuffer` * `structuredbuffer` * `structuredbuffer_rw` +* `implicit_derivatives_sampling` * `fragmentprocessing` * `fragmentprocessing_derivativecontrol` * `getattributeatvertex` diff --git a/docs/user-guide/a3-02-reference-capability-atoms.md b/docs/user-guide/a3-02-reference-capability-atoms.md index a9cca778bb..a551715e8c 100644 --- a/docs/user-guide/a3-02-reference-capability-atoms.md +++ b/docs/user-guide/a3-02-reference-capability-atoms.md @@ -1124,6 +1124,20 @@ Compound Capabilities `image_size` > Capabilities required to query image (RWTexture) size info +`implicit_derivatives_sampling` +> Capabilities required for implicit derivatives sampling. +> +> This capability is required by texture sampling functions such as `_Texture.Sample()` +> where the level of detail is determined by implicit derivatives. +> +> @remark In GLSL, implicit level-of-detail `texture()` functions use the base texture when +> the implicit derivatives are unavailable. When this capability is not present, invocations of +> these functions are translated to invocations of `_Texture.SampleLevelZero()`. +> +> @remark Implicit derivatives for the compute stage can be enabled by declaring capability `GL_NV_compute_shader_derivatives` (GLSL), +> `SPV_KHR_compute_shader_derivatives` (SPIR-V), or profile `cs_6_6` (HLSL). +> + `memorybarrier` > Capabilities required to use sm_5_0 style memory barriers diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 2a5eeb6f54..5a53711568 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -700,7 +700,7 @@ struct _Texture