From 5bcb342962634e9c36fe399a822e685bb2eb8d76 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 11 Mar 2021 17:08:08 -0500 Subject: stdlib documentation (#1745) * #include an absolute path didn't work - because paths were taken to always be relative. * Split out AST 'printing'. * Replace listener with List
* Section -> Part. * Kind -> Type Flags -> Kind for ASTPrinter::Part * Improve comments around ASTPrinter. * toString -> toText on Val derived types. toText appends to a StringBuilder. * Added toSlice free function. Added operator<< for Val derived types. Use << where appropriate in doing toText. * More work at mark down output. * Fill in sourceloc for enum case. Add more sophisticated location determination for EnumCase. Refactored documentation output into DocMarkdownWriter. * Improvements for sig output. * Split up slang-doc into extractor and writer. * WIP generic support for doc support. * Some refactoring to make DocExtractor have potential to be used without Decls. * Made doc extraction work without Decls. * Output generic parameters. * Add generic parameter extraction. * Added writing variables. * Add an interface test. * Fix toArray. * Support for extensions, and inheritance. * Disable the doc test. * Added flags to compileStdLib. * More work around handling generics in markdown output. * More improvements around associated type handling. * List method names only once. Output in/out/inout/const * Fix namespace printing. * WIP summarizing doc output. * Small fixes and improvements for doc output. * Output all stdlib in single doc file. * Remove compile flags from addBuiltinSource. * Find only unique signatures. First pass at trying to get requirements. * First pass at requirements for stdlib docs. * Remove __ function/methods * Added Target Availability * Add markup access. Make sections of stdlib hidden. * MarkdownAccess -> Visibility Add isVisible methods Use ASTPrinter to print decl name. * Add current stdlib doc output. * Disable doc test for now. * Fix clang issue. * Don't use bullets and numbering , just use numbering. * Put methods in source order. * Fix bad-operator-call.slang test that fails because it now outputs out parameters as such. * Refactor MarkDownWriter to separate 'extraction' from output. * Fix typo around @ lines. * Fix issue with extracting 'before' when preceeded by complex attributes/modifiers. * Fix handling of generics with the same name. * Work around for having overloading with generics - we don't want to output generic params as part of name. * Remove generic paramters from name. * Simplify handling of outputting overridable names. --- docs/stdlib-doc.md | 40938 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40938 insertions(+) create mode 100644 docs/stdlib-doc.md (limited to 'docs/stdlib-doc.md') diff --git a/docs/stdlib-doc.md b/docs/stdlib-doc.md new file mode 100644 index 000000000..2ac5f74e5 --- /dev/null +++ b/docs/stdlib-doc.md @@ -0,0 +1,40938 @@ +-------------------------------------------------------------------------------- +# `__BuiltinArithmeticType.init` + +## Signature + +``` +__BuiltinArithmeticType.init(int value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `__BuiltinFloatingPointType.init` + +## Signature + +``` +__BuiltinFloatingPointType.init(float value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `__BuiltinFloatingPointType.getPi` + +## Description + +Get the value of the mathematical constant pi in this type. + +## Signature + +``` +__BuiltinFloatingPointType.This __BuiltinFloatingPointType.getPi(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `struct ConstantBuffer` + +## Generic Parameters + +* `T` + +-------------------------------------------------------------------------------- +# `struct TextureBuffer` + +## Generic Parameters + +* `T` + +-------------------------------------------------------------------------------- +# `struct ParameterBlock` + +## Generic Parameters + +* `T` + +-------------------------------------------------------------------------------- +# `struct SamplerState` + +## Description + +Sampling state for filtered texture fetches. + + +-------------------------------------------------------------------------------- +# `struct SamplerComparisonState` + +## Description + +Sampling state for filtered texture fetches that include a comparison operation before filtering. + + +-------------------------------------------------------------------------------- +# `struct SamplerTexture1D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture1D.init` + +## Signature + +``` +SamplerTexture1D.init( + Texture1D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture1D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture1D.init` + +## Signature + +``` +SamplerRWTexture1D.init( + RWTexture1D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture1D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture1D.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture1D.init( + RasterizerOrderedTexture1D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture1DMS.init` + +## Signature + +``` +SamplerTexture1DMS.init( + Texture1DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture1DMS.init` + +## Signature + +``` +SamplerRWTexture1DMS.init( + RWTexture1DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture1DMS.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture1DMS.init( + RasterizerOrderedTexture1DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture1DArray.init` + +## Signature + +``` +SamplerTexture1DArray.init( + Texture1DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture1DArray.init` + +## Signature + +``` +SamplerRWTexture1DArray.init( + RWTexture1DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture1DArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture1DArray.init( + RasterizerOrderedTexture1DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture1DMSArray.init` + +## Signature + +``` +SamplerTexture1DMSArray.init( + Texture1DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture1DMSArray.init` + +## Signature + +``` +SamplerRWTexture1DMSArray.init( + RWTexture1DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture1DMSArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture1DMSArray.init( + RasterizerOrderedTexture1DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture2D.init` + +## Signature + +``` +SamplerTexture2D.init( + Texture2D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture2D.init` + +## Signature + +``` +SamplerRWTexture2D.init( + RWTexture2D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture2D.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture2D.init( + RasterizerOrderedTexture2D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture2DMS.init` + +## Signature + +``` +SamplerTexture2DMS.init( + Texture2DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture2DMS.init` + +## Signature + +``` +SamplerRWTexture2DMS.init( + RWTexture2DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture2DMS.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture2DMS.init( + RasterizerOrderedTexture2DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture2DArray.init` + +## Signature + +``` +SamplerTexture2DArray.init( + Texture2DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture2DArray.init` + +## Signature + +``` +SamplerRWTexture2DArray.init( + RWTexture2DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture2DArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture2DArray.init( + RasterizerOrderedTexture2DArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture2DMSArray.init` + +## Signature + +``` +SamplerTexture2DMSArray.init( + Texture2DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture2DMSArray.init` + +## Signature + +``` +SamplerRWTexture2DMSArray.init( + RWTexture2DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture2DMSArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture2DMSArray.init( + RasterizerOrderedTexture2DMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture3D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture3D.init` + +## Signature + +``` +SamplerTexture3D.init( + Texture3D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture3D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture3D.init` + +## Signature + +``` +SamplerRWTexture3D.init( + RWTexture3D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture3D` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture3D.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture3D.init( + RasterizerOrderedTexture3D t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTexture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTexture3DMS.init` + +## Signature + +``` +SamplerTexture3DMS.init( + Texture3DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRWTexture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRWTexture3DMS.init` + +## Signature + +``` +SamplerRWTexture3DMS.init( + RWTexture3DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTexture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTexture3DMS.init` + +## Signature + +``` +SamplerRasterizerOrderedTexture3DMS.init( + RasterizerOrderedTexture3DMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTextureCube` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTextureCube.init` + +## Signature + +``` +SamplerTextureCube.init( + TextureCube t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTextureCube` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTextureCube.init` + +## Signature + +``` +SamplerRasterizerOrderedTextureCube.init( + RasterizerOrderedTextureCube t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTextureCubeMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTextureCubeMS.init` + +## Signature + +``` +SamplerTextureCubeMS.init( + TextureCubeMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTextureCubeMS` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTextureCubeMS.init` + +## Signature + +``` +SamplerRasterizerOrderedTextureCubeMS.init( + RasterizerOrderedTextureCubeMS t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTextureCubeArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTextureCubeArray.init` + +## Signature + +``` +SamplerTextureCubeArray.init( + TextureCubeArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTextureCubeArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTextureCubeArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTextureCubeArray.init( + RasterizerOrderedTextureCubeArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerTextureCubeMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerTextureCubeMSArray.init` + +## Signature + +``` +SamplerTextureCubeMSArray.init( + TextureCubeMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `struct SamplerRasterizerOrderedTextureCubeMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `init` + +-------------------------------------------------------------------------------- +# `SamplerRasterizerOrderedTextureCubeMSArray.init` + +## Signature + +``` +SamplerRasterizerOrderedTextureCubeMSArray.init( + RasterizerOrderedTextureCubeMSArray t, + SamplerState s); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` +* `s` + +-------------------------------------------------------------------------------- +# `texture` + +## Signature + +``` +T texture( + SamplerTexture1D t, + vector location); +T texture( + SamplerRWTexture1D t, + vector location); +T texture( + SamplerRasterizerOrderedTexture1D t, + vector location); +T texture( + SamplerTexture1DMS t, + vector location); +T texture( + SamplerRWTexture1DMS t, + vector location); +T texture( + SamplerRasterizerOrderedTexture1DMS t, + vector location); +T texture( + SamplerTexture1DArray t, + vector location); +T texture( + SamplerRWTexture1DArray t, + vector location); +T texture( + SamplerRasterizerOrderedTexture1DArray t, + vector location); +T texture( + SamplerTexture1DMSArray t, + vector location); +T texture( + SamplerRWTexture1DMSArray t, + vector location); +T texture( + SamplerRasterizerOrderedTexture1DMSArray t, + vector location); +T texture( + SamplerTexture2D t, + vector location); +T texture( + SamplerRWTexture2D t, + vector location); +T texture( + SamplerRasterizerOrderedTexture2D t, + vector location); +T texture( + SamplerTexture2DMS t, + vector location); +T texture( + SamplerRWTexture2DMS t, + vector location); +T texture( + SamplerRasterizerOrderedTexture2DMS t, + vector location); +T texture( + SamplerTexture2DArray t, + vector location); +T texture( + SamplerRWTexture2DArray t, + vector location); +T texture( + SamplerRasterizerOrderedTexture2DArray t, + vector location); +T texture( + SamplerTexture2DMSArray t, + vector location); +T texture( + SamplerRWTexture2DMSArray t, + vector location); +T texture( + SamplerRasterizerOrderedTexture2DMSArray t, + vector location); +T texture( + SamplerTexture3D t, + vector location); +T texture( + SamplerRWTexture3D t, + vector location); +T texture( + SamplerRasterizerOrderedTexture3D t, + vector location); +T texture( + SamplerTexture3DMS t, + vector location); +T texture( + SamplerRWTexture3DMS t, + vector location); +T texture( + SamplerRasterizerOrderedTexture3DMS t, + vector location); +T texture( + SamplerTextureCube t, + vector location); +T texture( + SamplerRasterizerOrderedTextureCube t, + vector location); +T texture( + SamplerTextureCubeMS t, + vector location); +T texture( + SamplerRasterizerOrderedTextureCubeMS t, + vector location); +T texture( + SamplerTextureCubeArray t, + vector location); +T texture( + SamplerRasterizerOrderedTextureCubeArray t, + vector location); +T texture( + SamplerTextureCubeMSArray t, + vector location); +T texture( + SamplerRasterizerOrderedTextureCubeMSArray t, + vector location); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `t` +* `location` + +-------------------------------------------------------------------------------- +# `struct Texture1D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `Texture1D.CalculateLevelOfDetail` + +## Signature + +``` +float Texture1D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture1D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float Texture1D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture1D.GetDimensions` + +## Signature + +``` +void Texture1D.GetDimensions(out uint width); +void Texture1D.GetDimensions( + uint mipLevel, + out uint width, + out uint numberOfLevels); +void Texture1D.GetDimensions(out float width); +void Texture1D.GetDimensions( + uint mipLevel, + out float width, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture1D.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture1D.Load(vector location); +/// See Target Availability 2 +T Texture1D.Load( + vector location, + vector offset); +/// See Target Availability 3 +T Texture1D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1D.subscript` + +## Signature + +``` +T Texture1D.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `Texture1D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T Texture1D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T Texture1D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T Texture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T Texture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1D.SampleBias` + +## Signature + +``` +T Texture1D.SampleBias( + SamplerState s, + vector location, + float bias); +T Texture1D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1D.SampleCmp` + +## Signature + +``` +float Texture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float Texture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float Texture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float Texture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1D.SampleGrad` + +## Signature + +``` +T Texture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T Texture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T Texture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `Texture1D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T Texture1D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T Texture1D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension Texture1D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location); +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location); +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location); +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location); +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location); +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location); +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location); +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location); +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location); +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location); +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location); +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location); +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location); +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location); +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location); +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location); +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location); +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location); +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location); +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location); +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RWTexture1D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RWTexture1D.CalculateLevelOfDetail` + +## Signature + +``` +float RWTexture1D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RWTexture1D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GetDimensions` + +## Signature + +``` +void RWTexture1D.GetDimensions(out uint width); +void RWTexture1D.GetDimensions( + uint mipLevel, + out uint width, + out uint numberOfLevels); +void RWTexture1D.GetDimensions(out float width); +void RWTexture1D.GetDimensions( + uint mipLevel, + out float width, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1D.Load(vector location); +/// See Target Availability 2 +T RWTexture1D.Load( + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture1D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1D.subscript` + +## Signature + +``` +T RWTexture1D.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RWTexture1D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RWTexture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1D.SampleBias` + +## Signature + +``` +T RWTexture1D.SampleBias( + SamplerState s, + vector location, + float bias); +T RWTexture1D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1D.SampleCmp` + +## Signature + +``` +float RWTexture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RWTexture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RWTexture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RWTexture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1D.SampleGrad` + +## Signature + +``` +T RWTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RWTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RWTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RWTexture1D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RWTexture1D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RWTexture1D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location); +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location); +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location); +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location); +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location); +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location); +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location); +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location); +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture1D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTexture1D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTexture1D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture1D.GetDimensions(out uint width); +void RasterizerOrderedTexture1D.GetDimensions( + uint mipLevel, + out uint width, + out uint numberOfLevels); +void RasterizerOrderedTexture1D.GetDimensions(out float width); +void RasterizerOrderedTexture1D.GetDimensions( + uint mipLevel, + out float width, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1D.Load(vector location); +T RasterizerOrderedTexture1D.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture1D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.subscript` + +## Signature + +``` +T RasterizerOrderedTexture1D.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTexture1D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RasterizerOrderedTexture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RasterizerOrderedTexture1D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.SampleBias` + +## Signature + +``` +T RasterizerOrderedTexture1D.SampleBias( + SamplerState s, + vector location, + float bias); +T RasterizerOrderedTexture1D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTexture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RasterizerOrderedTexture1D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RasterizerOrderedTexture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RasterizerOrderedTexture1D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RasterizerOrderedTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RasterizerOrderedTexture1D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RasterizerOrderedTexture1D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct Texture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Texture1DMS.GetDimensions` + +## Signature + +``` +void Texture1DMS.GetDimensions( + out uint width, + out uint sampleCount); +void Texture1DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint sampleCount, + out uint numberOfLevels); +void Texture1DMS.GetDimensions( + out float width, + out float sampleCount); +void Texture1DMS.GetDimensions( + uint mipLevel, + out float width, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture1DMS.GetSamplePosition` + +## Signature + +``` +vector Texture1DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `Texture1DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture1DMS.Load( + vector location, + int sampleIndex); +T Texture1DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T Texture1DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1DMS.subscript` + +## Signature + +``` +T Texture1DMS.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RWTexture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWTexture1DMS.GetDimensions` + +## Signature + +``` +void RWTexture1DMS.GetDimensions( + out uint width, + out uint sampleCount); +void RWTexture1DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint sampleCount, + out uint numberOfLevels); +void RWTexture1DMS.GetDimensions( + out float width, + out float sampleCount); +void RWTexture1DMS.GetDimensions( + uint mipLevel, + out float width, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture1DMS.GetSamplePosition` + +## Signature + +``` +vector RWTexture1DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RWTexture1DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1DMS.Load( + vector location, + int sampleIndex); +T RWTexture1DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RWTexture1DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1DMS.subscript` + +## Signature + +``` +T RWTexture1DMS.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture1DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMS.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture1DMS.GetDimensions( + out uint width, + out uint sampleCount); +void RasterizerOrderedTexture1DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTexture1DMS.GetDimensions( + out float width, + out float sampleCount); +void RasterizerOrderedTexture1DMS.GetDimensions( + uint mipLevel, + out float width, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMS.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTexture1DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1DMS.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTexture1DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture1DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMS.subscript` + +## Signature + +``` +T RasterizerOrderedTexture1DMS.subscript(uint location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct Texture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `Texture1DArray.CalculateLevelOfDetail` + +## Signature + +``` +float Texture1DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture1DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float Texture1DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GetDimensions` + +## Signature + +``` +void Texture1DArray.GetDimensions( + out uint width, + out uint elements); +void Texture1DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint numberOfLevels); +void Texture1DArray.GetDimensions( + out float width, + out float elements); +void Texture1DArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture1DArray.Load(vector location); +T Texture1DArray.Load( + vector location, + vector offset); +/// See Target Availability 2 +T Texture1DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1DArray.subscript` + +## Signature + +``` +T Texture1DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T Texture1DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T Texture1DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T Texture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T Texture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1DArray.SampleBias` + +## Signature + +``` +T Texture1DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T Texture1DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1DArray.SampleCmp` + +## Signature + +``` +float Texture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float Texture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float Texture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float Texture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture1DArray.SampleGrad` + +## Signature + +``` +T Texture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T Texture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T Texture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `Texture1DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T Texture1DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T Texture1DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension Texture1DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location); +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location); +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location); +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location); +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location); +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location); +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location); +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location); +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location); +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location); +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location); +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location); +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location); +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location); +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location); +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location); +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RWTexture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.CalculateLevelOfDetail` + +## Signature + +``` +float RWTexture1DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RWTexture1DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GetDimensions` + +## Signature + +``` +void RWTexture1DArray.GetDimensions( + out uint width, + out uint elements); +void RWTexture1DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint numberOfLevels); +void RWTexture1DArray.GetDimensions( + out float width, + out float elements); +void RWTexture1DArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1DArray.Load(vector location); +/// See Target Availability 2 +T RWTexture1DArray.Load( + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture1DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.subscript` + +## Signature + +``` +T RWTexture1DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RWTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RWTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.SampleBias` + +## Signature + +``` +T RWTexture1DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T RWTexture1DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.SampleCmp` + +## Signature + +``` +float RWTexture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RWTexture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RWTexture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RWTexture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.SampleGrad` + +## Signature + +``` +T RWTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RWTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RWTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RWTexture1DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RWTexture1DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location); +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location); +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location); +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location); +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture1DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTexture1DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTexture1DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture1DArray.GetDimensions( + out uint width, + out uint elements); +void RasterizerOrderedTexture1DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint numberOfLevels); +void RasterizerOrderedTexture1DArray.GetDimensions( + out float width, + out float elements); +void RasterizerOrderedTexture1DArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1DArray.Load(vector location); +T RasterizerOrderedTexture1DArray.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture1DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.subscript` + +## Signature + +``` +T RasterizerOrderedTexture1DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RasterizerOrderedTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RasterizerOrderedTexture1DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.SampleBias` + +## Signature + +``` +T RasterizerOrderedTexture1DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T RasterizerOrderedTexture1DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTexture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RasterizerOrderedTexture1DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RasterizerOrderedTexture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RasterizerOrderedTexture1DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RasterizerOrderedTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RasterizerOrderedTexture1DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RasterizerOrderedTexture1DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture1DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture1DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct Texture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Texture1DMSArray.GetDimensions` + +## Signature + +``` +void Texture1DMSArray.GetDimensions( + out uint width, + out uint elements, + out uint sampleCount); +void Texture1DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void Texture1DMSArray.GetDimensions( + out float width, + out float elements, + out float sampleCount); +void Texture1DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture1DMSArray.GetSamplePosition` + +## Signature + +``` +vector Texture1DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `Texture1DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture1DMSArray.Load( + vector location, + int sampleIndex); +T Texture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T Texture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture1DMSArray.subscript` + +## Signature + +``` +T Texture1DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RWTexture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWTexture1DMSArray.GetDimensions` + +## Signature + +``` +void RWTexture1DMSArray.GetDimensions( + out uint width, + out uint elements, + out uint sampleCount); +void RWTexture1DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void RWTexture1DMSArray.GetDimensions( + out float width, + out float elements, + out float sampleCount); +void RWTexture1DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture1DMSArray.GetSamplePosition` + +## Signature + +``` +vector RWTexture1DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RWTexture1DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture1DMSArray.Load( + vector location, + int sampleIndex); +T RWTexture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RWTexture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture1DMSArray.subscript` + +## Signature + +``` +T RWTexture1DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture1DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMSArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture1DMSArray.GetDimensions( + out uint width, + out uint elements, + out uint sampleCount); +void RasterizerOrderedTexture1DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTexture1DMSArray.GetDimensions( + out float width, + out float elements, + out float sampleCount); +void RasterizerOrderedTexture1DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMSArray.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTexture1DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture1DMSArray.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTexture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture1DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture1DMSArray.subscript` + +## Signature + +``` +T RasterizerOrderedTexture1DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct Texture2D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `Texture2D.CalculateLevelOfDetail` + +## Signature + +``` +float Texture2D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture2D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float Texture2D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture2D.GetDimensions` + +## Signature + +``` +void Texture2D.GetDimensions( + out uint width, + out uint height); +void Texture2D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void Texture2D.GetDimensions( + out float width, + out float height); +void Texture2D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture2D.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture2D.Load(vector location); +T Texture2D.Load( + vector location, + vector offset); +/// See Target Availability 2 +T Texture2D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2D.subscript` + +## Signature + +``` +T Texture2D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `Texture2D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T Texture2D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T Texture2D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T Texture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T Texture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2D.SampleBias` + +## Signature + +``` +T Texture2D.SampleBias( + SamplerState s, + vector location, + float bias); +T Texture2D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2D.SampleCmp` + +## Signature + +``` +float Texture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float Texture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float Texture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float Texture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2D.SampleGrad` + +## Signature + +``` +T Texture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T Texture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T Texture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `Texture2D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T Texture2D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T Texture2D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension Texture2D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RWTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RWTexture2D.CalculateLevelOfDetail` + +## Signature + +``` +float RWTexture2D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RWTexture2D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GetDimensions` + +## Signature + +``` +void RWTexture2D.GetDimensions( + out uint width, + out uint height); +void RWTexture2D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void RWTexture2D.GetDimensions( + out float width, + out float height); +void RWTexture2D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2D.Load(vector location); +/// See Target Availability 2 +T RWTexture2D.Load( + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture2D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2D.subscript` + +## Signature + +``` +T RWTexture2D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RWTexture2D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RWTexture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2D.SampleBias` + +## Signature + +``` +T RWTexture2D.SampleBias( + SamplerState s, + vector location, + float bias); +T RWTexture2D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2D.SampleCmp` + +## Signature + +``` +float RWTexture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RWTexture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RWTexture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RWTexture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2D.SampleGrad` + +## Signature + +``` +T RWTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RWTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RWTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RWTexture2D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RWTexture2D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RWTexture2D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTexture2D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTexture2D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture2D.GetDimensions( + out uint width, + out uint height); +void RasterizerOrderedTexture2D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void RasterizerOrderedTexture2D.GetDimensions( + out float width, + out float height); +void RasterizerOrderedTexture2D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2D.Load(vector location); +T RasterizerOrderedTexture2D.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture2D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.subscript` + +## Signature + +``` +T RasterizerOrderedTexture2D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTexture2D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RasterizerOrderedTexture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RasterizerOrderedTexture2D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.SampleBias` + +## Signature + +``` +T RasterizerOrderedTexture2D.SampleBias( + SamplerState s, + vector location, + float bias); +T RasterizerOrderedTexture2D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTexture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RasterizerOrderedTexture2D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RasterizerOrderedTexture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RasterizerOrderedTexture2D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RasterizerOrderedTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RasterizerOrderedTexture2D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RasterizerOrderedTexture2D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct Texture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Texture2DMS.GetDimensions` + +## Signature + +``` +void Texture2DMS.GetDimensions( + out uint width, + out uint height, + out uint sampleCount); +void Texture2DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint sampleCount, + out uint numberOfLevels); +void Texture2DMS.GetDimensions( + out float width, + out float height, + out float sampleCount); +void Texture2DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture2DMS.GetSamplePosition` + +## Signature + +``` +vector Texture2DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `Texture2DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture2DMS.Load( + vector location, + int sampleIndex); +T Texture2DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T Texture2DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2DMS.subscript` + +## Signature + +``` +T Texture2DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RWTexture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWTexture2DMS.GetDimensions` + +## Signature + +``` +void RWTexture2DMS.GetDimensions( + out uint width, + out uint height, + out uint sampleCount); +void RWTexture2DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint sampleCount, + out uint numberOfLevels); +void RWTexture2DMS.GetDimensions( + out float width, + out float height, + out float sampleCount); +void RWTexture2DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture2DMS.GetSamplePosition` + +## Signature + +``` +vector RWTexture2DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RWTexture2DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2DMS.Load( + vector location, + int sampleIndex); +T RWTexture2DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RWTexture2DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2DMS.subscript` + +## Signature + +``` +T RWTexture2DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture2DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMS.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture2DMS.GetDimensions( + out uint width, + out uint height, + out uint sampleCount); +void RasterizerOrderedTexture2DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTexture2DMS.GetDimensions( + out float width, + out float height, + out float sampleCount); +void RasterizerOrderedTexture2DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMS.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTexture2DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2DMS.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTexture2DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture2DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMS.subscript` + +## Signature + +``` +T RasterizerOrderedTexture2DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct Texture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `Texture2DArray.CalculateLevelOfDetail` + +## Signature + +``` +float Texture2DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture2DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float Texture2DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GetDimensions` + +## Signature + +``` +void Texture2DArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void Texture2DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void Texture2DArray.GetDimensions( + out float width, + out float height, + out float elements); +void Texture2DArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture2DArray.Load(vector location); +T Texture2DArray.Load( + vector location, + vector offset); +/// See Target Availability 2 +T Texture2DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2DArray.subscript` + +## Signature + +``` +T Texture2DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T Texture2DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T Texture2DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T Texture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T Texture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2DArray.SampleBias` + +## Signature + +``` +T Texture2DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T Texture2DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2DArray.SampleCmp` + +## Signature + +``` +float Texture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float Texture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float Texture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float Texture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture2DArray.SampleGrad` + +## Signature + +``` +T Texture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T Texture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T Texture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `Texture2DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T Texture2DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T Texture2DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension Texture2DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector Texture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RWTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.CalculateLevelOfDetail` + +## Signature + +``` +float RWTexture2DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RWTexture2DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GetDimensions` + +## Signature + +``` +void RWTexture2DArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void RWTexture2DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void RWTexture2DArray.GetDimensions( + out float width, + out float height, + out float elements); +void RWTexture2DArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2DArray.Load(vector location); +/// See Target Availability 2 +T RWTexture2DArray.Load( + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture2DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.subscript` + +## Signature + +``` +T RWTexture2DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RWTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RWTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.SampleBias` + +## Signature + +``` +T RWTexture2DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T RWTexture2DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.SampleCmp` + +## Signature + +``` +float RWTexture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RWTexture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RWTexture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RWTexture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.SampleGrad` + +## Signature + +``` +T RWTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RWTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RWTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RWTexture2DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RWTexture2DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RWTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTexture2DArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTexture2DArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture2DArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void RasterizerOrderedTexture2DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void RasterizerOrderedTexture2DArray.GetDimensions( + out float width, + out float height, + out float elements); +void RasterizerOrderedTexture2DArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2DArray.Load(vector location); +T RasterizerOrderedTexture2DArray.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture2DArray.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.subscript` + +## Signature + +``` +T RasterizerOrderedTexture2DArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2DArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RasterizerOrderedTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RasterizerOrderedTexture2DArray.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.SampleBias` + +## Signature + +``` +T RasterizerOrderedTexture2DArray.SampleBias( + SamplerState s, + vector location, + float bias); +T RasterizerOrderedTexture2DArray.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTexture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RasterizerOrderedTexture2DArray.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RasterizerOrderedTexture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RasterizerOrderedTexture2DArray.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RasterizerOrderedTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RasterizerOrderedTexture2DArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2DArray.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RasterizerOrderedTexture2DArray.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2DArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture2DArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 2 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 3 +vector RasterizerOrderedTexture2DArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct Texture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Texture2DMSArray.GetDimensions` + +## Signature + +``` +void Texture2DMSArray.GetDimensions( + out uint width, + out uint height, + out uint elements, + out uint sampleCount); +void Texture2DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void Texture2DMSArray.GetDimensions( + out float width, + out float height, + out float elements, + out float sampleCount); +void Texture2DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture2DMSArray.GetSamplePosition` + +## Signature + +``` +vector Texture2DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `Texture2DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture2DMSArray.Load( + vector location, + int sampleIndex); +T Texture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T Texture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture2DMSArray.subscript` + +## Signature + +``` +T Texture2DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RWTexture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWTexture2DMSArray.GetDimensions` + +## Signature + +``` +void RWTexture2DMSArray.GetDimensions( + out uint width, + out uint height, + out uint elements, + out uint sampleCount); +void RWTexture2DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void RWTexture2DMSArray.GetDimensions( + out float width, + out float height, + out float elements, + out float sampleCount); +void RWTexture2DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture2DMSArray.GetSamplePosition` + +## Signature + +``` +vector RWTexture2DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RWTexture2DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture2DMSArray.Load( + vector location, + int sampleIndex); +T RWTexture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RWTexture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture2DMSArray.subscript` + +## Signature + +``` +T RWTexture2DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture2DMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMSArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture2DMSArray.GetDimensions( + out uint width, + out uint height, + out uint elements, + out uint sampleCount); +void RasterizerOrderedTexture2DMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTexture2DMSArray.GetDimensions( + out float width, + out float height, + out float elements, + out float sampleCount); +void RasterizerOrderedTexture2DMSArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMSArray.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTexture2DMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMSArray.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture2DMSArray.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTexture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture2DMSArray.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture2DMSArray.subscript` + +## Signature + +``` +T RasterizerOrderedTexture2DMSArray.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct Texture3D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `Texture3D.CalculateLevelOfDetail` + +## Signature + +``` +float Texture3D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture3D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float Texture3D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `Texture3D.GetDimensions` + +## Signature + +``` +void Texture3D.GetDimensions( + out uint width, + out uint height, + out uint depth); +void Texture3D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint numberOfLevels); +void Texture3D.GetDimensions( + out float width, + out float height, + out float depth); +void Texture3D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture3D.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture3D.Load(vector location); +T Texture3D.Load( + vector location, + vector offset); +/// See Target Availability 2 +T Texture3D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture3D.subscript` + +## Signature + +``` +T Texture3D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `Texture3D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T Texture3D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T Texture3D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T Texture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T Texture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `Texture3D.SampleBias` + +## Signature + +``` +T Texture3D.SampleBias( + SamplerState s, + vector location, + float bias); +T Texture3D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture3D.SampleCmp` + +## Signature + +``` +float Texture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float Texture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture3D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float Texture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float Texture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `Texture3D.SampleGrad` + +## Signature + +``` +T Texture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T Texture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T Texture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `Texture3D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T Texture3D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T Texture3D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension Texture3D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location); +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location); +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location); +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location); +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location); +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location); +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location); +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location); +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location); +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location); +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location); +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location); +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location); +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location); +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location); +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension Texture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `Texture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location); +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location); +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location); +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location); +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `Texture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location); +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector Texture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RWTexture3D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RWTexture3D.CalculateLevelOfDetail` + +## Signature + +``` +float RWTexture3D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture3D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RWTexture3D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GetDimensions` + +## Signature + +``` +void RWTexture3D.GetDimensions( + out uint width, + out uint height, + out uint depth); +void RWTexture3D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint numberOfLevels); +void RWTexture3D.GetDimensions( + out float width, + out float height, + out float depth); +void RWTexture3D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture3D.Load(vector location); +/// See Target Availability 2 +T RWTexture3D.Load( + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture3D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture3D.subscript` + +## Signature + +``` +T RWTexture3D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture3D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RWTexture3D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RWTexture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RWTexture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture3D.SampleBias` + +## Signature + +``` +T RWTexture3D.SampleBias( + SamplerState s, + vector location, + float bias); +T RWTexture3D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture3D.SampleCmp` + +## Signature + +``` +float RWTexture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RWTexture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture3D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RWTexture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RWTexture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RWTexture3D.SampleGrad` + +## Signature + +``` +T RWTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RWTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RWTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RWTexture3D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture3D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RWTexture3D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RWTexture3D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location); +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location); +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location); +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location); +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location); +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location); +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RWTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RWTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location); +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location); +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RWTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RWTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture3D` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `subscript` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTexture3D.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTexture3D.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture3D.GetDimensions( + out uint width, + out uint height, + out uint depth); +void RasterizerOrderedTexture3D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint numberOfLevels); +void RasterizerOrderedTexture3D.GetDimensions( + out float width, + out float height, + out float depth); +void RasterizerOrderedTexture3D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture3D.Load(vector location); +T RasterizerOrderedTexture3D.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture3D.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.subscript` + +## Signature + +``` +T RasterizerOrderedTexture3D.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture3D.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTexture3D.Sample( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 3 +T RasterizerOrderedTexture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp); +T RasterizerOrderedTexture3D.Sample( + SamplerState s, + vector location, + vector offset, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.SampleBias` + +## Signature + +``` +T RasterizerOrderedTexture3D.SampleBias( + SamplerState s, + vector location, + float bias); +T RasterizerOrderedTexture3D.SampleBias( + SamplerState s, + vector location, + float bias, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTexture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +float RasterizerOrderedTexture3D.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.SampleCmpLevelZero` + +## Signature + +``` +/// See Target Availability 1 +float RasterizerOrderedTexture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +/// See Target Availability 2 +float RasterizerOrderedTexture3D.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue, + vector offset); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` +* `offset` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +T RasterizerOrderedTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset); +T RasterizerOrderedTexture3D.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY, + vector offset, + float lodClamp); +``` + +## Requirements + +`GLSL GL_ARB_sparse_texture_clamp` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` +* `offset` +* `lodClamp` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.SampleLevel` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture3D.SampleLevel( + SamplerState s, + vector location, + float level); +/// See Target Availability 2 +T RasterizerOrderedTexture3D.SampleLevel( + SamplerState s, + vector location, + float level, + vector offset); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` +* `offset` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture3D` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTexture3D` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3D.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTexture3D.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct Texture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Texture3DMS.GetDimensions` + +## Signature + +``` +void Texture3DMS.GetDimensions( + out uint width, + out uint height, + out uint depth, + out uint sampleCount); +void Texture3DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint sampleCount, + out uint numberOfLevels); +void Texture3DMS.GetDimensions( + out float width, + out float height, + out float depth, + out float sampleCount); +void Texture3DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `Texture3DMS.GetSamplePosition` + +## Signature + +``` +vector Texture3DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `Texture3DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T Texture3DMS.Load( + vector location, + int sampleIndex); +T Texture3DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T Texture3DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `Texture3DMS.subscript` + +## Signature + +``` +T Texture3DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RWTexture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWTexture3DMS.GetDimensions` + +## Signature + +``` +void RWTexture3DMS.GetDimensions( + out uint width, + out uint height, + out uint depth, + out uint sampleCount); +void RWTexture3DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint sampleCount, + out uint numberOfLevels); +void RWTexture3DMS.GetDimensions( + out float width, + out float height, + out float depth, + out float sampleCount); +void RWTexture3DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RWTexture3DMS.GetSamplePosition` + +## Signature + +``` +vector RWTexture3DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RWTexture3DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWTexture3DMS.Load( + vector location, + int sampleIndex); +T RWTexture3DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RWTexture3DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RWTexture3DMS.subscript` + +## Signature + +``` +T RWTexture3DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTexture3DMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3DMS.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTexture3DMS.GetDimensions( + out uint width, + out uint height, + out uint depth, + out uint sampleCount); +void RasterizerOrderedTexture3DMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint depth, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTexture3DMS.GetDimensions( + out float width, + out float height, + out float depth, + out float sampleCount); +void RasterizerOrderedTexture3DMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float depth, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `depth` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3DMS.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTexture3DMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3DMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTexture3DMS.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTexture3DMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTexture3DMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTexture3DMS.subscript` + +## Signature + +``` +T RasterizerOrderedTexture3DMS.subscript(vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `location` + +-------------------------------------------------------------------------------- +# `struct TextureCube` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `TextureCube.CalculateLevelOfDetail` + +## Signature + +``` +float TextureCube.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `TextureCube.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float TextureCube.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `TextureCube.GetDimensions` + +## Signature + +``` +void TextureCube.GetDimensions( + out uint width, + out uint height); +void TextureCube.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void TextureCube.GetDimensions( + out float width, + out float height); +void TextureCube.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `TextureCube.Load` + +## Signature + +``` +/// See Target Availability 1 +T TextureCube.Load(vector location); +T TextureCube.Load( + vector location, + vector offset); +/// See Target Availability 2 +T TextureCube.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `TextureCube.Sample` + +## Signature + +``` +/// See Target Availability 1 +T TextureCube.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T TextureCube.Sample( + SamplerState s, + vector location, + float clamp); +T TextureCube.Sample( + SamplerState s, + vector location, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `TextureCube.SampleBias` + +## Signature + +``` +T TextureCube.SampleBias( + SamplerState s, + vector location, + float bias); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` + +-------------------------------------------------------------------------------- +# `TextureCube.SampleCmp` + +## Signature + +``` +float TextureCube.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` + +-------------------------------------------------------------------------------- +# `TextureCube.SampleCmpLevelZero` + +## Signature + +``` +float TextureCube.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` + +-------------------------------------------------------------------------------- +# `TextureCube.SampleGrad` + +## Signature + +``` +T TextureCube.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` + +-------------------------------------------------------------------------------- +# `TextureCube.SampleLevel` + +## Signature + +``` +T TextureCube.SampleLevel( + SamplerState s, + vector location, + float level); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` + +-------------------------------------------------------------------------------- +# `extension TextureCube` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location); +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location); +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location); +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location); +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location); +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location); +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location); +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location); +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location); +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location); +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location); +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location); +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location); +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location); +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location); +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location); +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location); +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location); +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location); +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location); +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTextureCube` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Load` +* `Sample` +* `SampleBias` +* `SampleCmp` +* `SampleCmpLevelZero` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTextureCube.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTextureCube.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTextureCube.GetDimensions( + out uint width, + out uint height); +void RasterizerOrderedTextureCube.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void RasterizerOrderedTextureCube.GetDimensions( + out float width, + out float height); +void RasterizerOrderedTextureCube.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTextureCube.Load(vector location); +T RasterizerOrderedTextureCube.Load( + vector location, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTextureCube.Load( + vector location, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTextureCube.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTextureCube.Sample( + SamplerState s, + vector location, + float clamp); +T RasterizerOrderedTextureCube.Sample( + SamplerState s, + vector location, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.SampleBias` + +## Signature + +``` +T RasterizerOrderedTextureCube.SampleBias( + SamplerState s, + vector location, + float bias); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.SampleCmp` + +## Signature + +``` +float RasterizerOrderedTextureCube.SampleCmp( + SamplerComparisonState s, + vector location, + float compareValue); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.SampleCmpLevelZero` + +## Signature + +``` +float RasterizerOrderedTextureCube.SampleCmpLevelZero( + SamplerComparisonState s, + vector location, + float compareValue); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `compareValue` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTextureCube.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.SampleLevel` + +## Signature + +``` +T RasterizerOrderedTextureCube.SampleLevel( + SamplerState s, + vector location, + float level); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCube` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCube` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCube.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCube.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct TextureCubeMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` + +-------------------------------------------------------------------------------- +# `TextureCubeMS.GetDimensions` + +## Signature + +``` +void TextureCubeMS.GetDimensions( + out uint width, + out uint height, + out uint sampleCount); +void TextureCubeMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint sampleCount, + out uint numberOfLevels); +void TextureCubeMS.GetDimensions( + out float width, + out float height, + out float sampleCount); +void TextureCubeMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `TextureCubeMS.GetSamplePosition` + +## Signature + +``` +vector TextureCubeMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `TextureCubeMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T TextureCubeMS.Load( + vector location, + int sampleIndex); +T TextureCubeMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T TextureCubeMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTextureCubeMS` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` +* `Load` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeMS.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTextureCubeMS.GetDimensions( + out uint width, + out uint height, + out uint sampleCount); +void RasterizerOrderedTextureCubeMS.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTextureCubeMS.GetDimensions( + out float width, + out float height, + out float sampleCount); +void RasterizerOrderedTextureCubeMS.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeMS.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTextureCubeMS.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeMS.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTextureCubeMS.Load( + vector location, + int sampleIndex); +T RasterizerOrderedTextureCubeMS.Load( + vector location, + int sampleIndex, + vector offset); +/// See Target Availability 2 +T RasterizerOrderedTextureCubeMS.Load( + vector location, + int sampleIndex, + vector offset, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `sampleIndex` +* `offset` +* `status` + +-------------------------------------------------------------------------------- +# `struct TextureCubeArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Sample` +* `SampleBias` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.CalculateLevelOfDetail` + +## Signature + +``` +float TextureCubeArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float TextureCubeArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GetDimensions` + +## Signature + +``` +void TextureCubeArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void TextureCubeArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void TextureCubeArray.GetDimensions( + out float width, + out float height, + out float elements); +void TextureCubeArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T TextureCubeArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T TextureCubeArray.Sample( + SamplerState s, + vector location, + float clamp); +T TextureCubeArray.Sample( + SamplerState s, + vector location, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.SampleBias` + +## Signature + +``` +T TextureCubeArray.SampleBias( + SamplerState s, + vector location, + float bias); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.SampleGrad` + +## Signature + +``` +T TextureCubeArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.SampleLevel` + +## Signature + +``` +T TextureCubeArray.SampleLevel( + SamplerState s, + vector location, + float level); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` + +-------------------------------------------------------------------------------- +# `extension TextureCubeArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location); +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location); +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location); +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension TextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location); +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `TextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector TextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTextureCubeArray` + +## Generic Parameters + +* `T` +## Methods + +* `CalculateLevelOfDetail` +* `CalculateLevelOfDetailUnclamped` +* `GetDimensions` +* `Sample` +* `SampleBias` +* `SampleGrad` +* `SampleLevel` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.CalculateLevelOfDetail` + +## Signature + +``` +float RasterizerOrderedTextureCubeArray.CalculateLevelOfDetail( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.CalculateLevelOfDetailUnclamped` + +## Signature + +``` +float RasterizerOrderedTextureCubeArray.CalculateLevelOfDetailUnclamped( + SamplerState s, + vector location); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` +* `location` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTextureCubeArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void RasterizerOrderedTextureCubeArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void RasterizerOrderedTextureCubeArray.GetDimensions( + out float width, + out float height, + out float elements); +void RasterizerOrderedTextureCubeArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.Sample` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedTextureCubeArray.Sample( + SamplerState s, + vector location); +/// See Target Availability 2 +T RasterizerOrderedTextureCubeArray.Sample( + SamplerState s, + vector location, + float clamp); +T RasterizerOrderedTextureCubeArray.Sample( + SamplerState s, + vector location, + float clamp, + out uint status); +``` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `clamp` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.SampleBias` + +## Signature + +``` +T RasterizerOrderedTextureCubeArray.SampleBias( + SamplerState s, + vector location, + float bias); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `bias` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.SampleGrad` + +## Signature + +``` +T RasterizerOrderedTextureCubeArray.SampleGrad( + SamplerState s, + vector location, + vector gradX, + vector gradY); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `gradX` +* `gradY` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.SampleLevel` + +## Signature + +``` +T RasterizerOrderedTextureCubeArray.SampleLevel( + SamplerState s, + vector location, + float level); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `s` +* `location` +* `level` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCubeArray` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `extension RasterizerOrderedTextureCubeArray` + +## Methods + +* `Gather` +* `GatherRed` +* `GatherGreen` +* `GatherBlue` +* `GatherAlpha` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.Gather` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.Gather( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherRed` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherRed( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherGreen` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherGreen( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherBlue` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherBlue( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeArray.GatherAlpha` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location); +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset, + out uint status); +/// See Target Availability 1 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4); +/// See Target Availability 2 +vector RasterizerOrderedTextureCubeArray.GatherAlpha( + SamplerState s, + vector location, + vector offset1, + vector offset2, + vector offset3, + vector offset4, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `s` +* `location` +* `offset` +* `status` +* `offset1` +* `offset2` +* `offset3` +* `offset4` + +-------------------------------------------------------------------------------- +# `struct TextureCubeMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` + +-------------------------------------------------------------------------------- +# `TextureCubeMSArray.GetDimensions` + +## Signature + +``` +void TextureCubeMSArray.GetDimensions( + out uint width, + out uint height, + out uint elements, + out uint sampleCount); +void TextureCubeMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void TextureCubeMSArray.GetDimensions( + out float width, + out float height, + out float elements, + out float sampleCount); +void TextureCubeMSArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `TextureCubeMSArray.GetSamplePosition` + +## Signature + +``` +vector TextureCubeMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedTextureCubeMSArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `GetSamplePosition` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeMSArray.GetDimensions` + +## Signature + +``` +void RasterizerOrderedTextureCubeMSArray.GetDimensions( + out uint width, + out uint height, + out uint elements, + out uint sampleCount); +void RasterizerOrderedTextureCubeMSArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint sampleCount, + out uint numberOfLevels); +void RasterizerOrderedTextureCubeMSArray.GetDimensions( + out float width, + out float height, + out float elements, + out float sampleCount); +void RasterizerOrderedTextureCubeMSArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float sampleCount, + out float numberOfLevels); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `sampleCount` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedTextureCubeMSArray.GetSamplePosition` + +## Signature + +``` +vector RasterizerOrderedTextureCubeMSArray.GetSamplePosition(int s); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `s` + +-------------------------------------------------------------------------------- +# `bit_cast` + +## Signature + +``` +T bit_cast(U value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `U` +* `value` + +-------------------------------------------------------------------------------- +# `getStringHash` + +## Description + +Given a string returns an integer hash of that string. + +## Signature + +``` +int getStringHash(String string); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `string` + +-------------------------------------------------------------------------------- +# `beginInvocationInterlock` + +## Description + +Mark beginning of "interlocked" operations in a fragment shader. + +## Signature + +``` +void beginInvocationInterlock(); +``` + +## Requirements + +`GLSL GL_ARB_fragment_shader_interlock`, `GLSL420` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `endInvocationInterlock` + +## Description + +Mark end of "interlocked" operations in a fragment shader. + +## Signature + +``` +void endInvocationInterlock(); +``` + +## Requirements + +`GLSL GL_ARB_fragment_shader_interlock`, `GLSL420` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# enum _AttributeTargets + +## Values + +* _Struct_ +* _Var_ +* _Function_ +-------------------------------------------------------------------------------- +# `struct AppendStructuredBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `Append` +* `GetDimensions` + +-------------------------------------------------------------------------------- +# `AppendStructuredBuffer.Append` + +## Signature + +``` +void AppendStructuredBuffer.Append(T value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `AppendStructuredBuffer.GetDimensions` + +## Signature + +``` +void AppendStructuredBuffer.GetDimensions( + out uint numStructs, + out uint stride); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `numStructs` +* `stride` + +-------------------------------------------------------------------------------- +# `struct ByteAddressBuffer` + +## Methods + +* `GetDimensions` +* `Load2` +* `Load3` +* `Load4` + +-------------------------------------------------------------------------------- +# `ByteAddressBuffer.GetDimensions` + +## Signature + +``` +void ByteAddressBuffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `ByteAddressBuffer.Load2` + +## Signature + +``` +/// See Target Availability 1 +vector ByteAddressBuffer.Load2(int location); +/// See Target Availability 2 +vector ByteAddressBuffer.Load2( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `ByteAddressBuffer.Load3` + +## Signature + +``` +/// See Target Availability 1 +vector ByteAddressBuffer.Load3(int location); +/// See Target Availability 2 +vector ByteAddressBuffer.Load3( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `ByteAddressBuffer.Load4` + +## Signature + +``` +/// See Target Availability 1 +vector ByteAddressBuffer.Load4(int location); +/// See Target Availability 2 +vector ByteAddressBuffer.Load4( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `ByteAddressBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +uint ByteAddressBuffer.Load(int location); +/// See Target Availability 2 +uint ByteAddressBuffer.Load( + int location, + out uint status); +T ByteAddressBuffer.Load(int location); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `struct StructuredBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `StructuredBuffer.GetDimensions` + +## Signature + +``` +void StructuredBuffer.GetDimensions( + out uint numStructs, + out uint stride); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `numStructs` +* `stride` + +-------------------------------------------------------------------------------- +# `StructuredBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T StructuredBuffer.Load(int location); +/// See Target Availability 2 +T StructuredBuffer.Load( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `StructuredBuffer.subscript` + +## Signature + +``` +T StructuredBuffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct ConsumeStructuredBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `Consume` +* `GetDimensions` + +-------------------------------------------------------------------------------- +# `ConsumeStructuredBuffer.Consume` + +## Signature + +``` +T ConsumeStructuredBuffer.Consume(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `ConsumeStructuredBuffer.GetDimensions` + +## Signature + +``` +void ConsumeStructuredBuffer.GetDimensions( + out uint numStructs, + out uint stride); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `numStructs` +* `stride` + +-------------------------------------------------------------------------------- +# `struct InputPatch` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `subscript` + +-------------------------------------------------------------------------------- +# `InputPatch.subscript` + +## Signature + +``` +T InputPatch.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct OutputPatch` + +## Generic Parameters + +* `T` +* `N` +## Methods + +* `subscript` + +-------------------------------------------------------------------------------- +# `OutputPatch.subscript` + +## Signature + +``` +T OutputPatch.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct RWByteAddressBuffer` + +## Methods + +* `GetDimensions` +* `Load2` +* `Load3` +* `Load4` +* `InterlockedAddF32` +* `InterlockedAddI64` +* `InterlockedCompareExchangeU64` +* `InterlockedMaxU64` +* `InterlockedMinU64` +* `InterlockedAndU64` +* `InterlockedOrU64` +* `InterlockedXorU64` +* `InterlockedExchangeU64` +* `InterlockedAdd` +* `InterlockedAnd` +* `InterlockedCompareExchange` +* `InterlockedCompareStore` +* `InterlockedExchange` +* `InterlockedMax` +* `InterlockedMin` +* `InterlockedOr` +* `InterlockedXor` +* `Store2` +* `Store3` +* `Store4` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.GetDimensions` + +## Signature + +``` +void RWByteAddressBuffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Load2` + +## Signature + +``` +/// See Target Availability 1 +vector RWByteAddressBuffer.Load2(int location); +/// See Target Availability 2 +vector RWByteAddressBuffer.Load2( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Load3` + +## Signature + +``` +/// See Target Availability 1 +vector RWByteAddressBuffer.Load3(int location); +/// See Target Availability 2 +vector RWByteAddressBuffer.Load3( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Load4` + +## Signature + +``` +/// See Target Availability 1 +vector RWByteAddressBuffer.Load4(int location); +/// See Target Availability 2 +vector RWByteAddressBuffer.Load4( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +uint RWByteAddressBuffer.Load(int location); +/// See Target Availability 2 +uint RWByteAddressBuffer.Load( + int location, + out uint status); +T RWByteAddressBuffer.Load(int location); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedAddF32` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedAddF32( + uint byteAddress, + float valueToAdd, + out float originalValue); +void RWByteAddressBuffer.InterlockedAddF32( + uint byteAddress, + float valueToAdd); +``` + +## Requirements + +`CUDA SM 2.0`, `NVAPI` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `valueToAdd` +* `originalValue` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedAddI64` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedAddI64( + uint byteAddress, + int64_t valueToAdd, + out int64_t originalValue); +void RWByteAddressBuffer.InterlockedAddI64( + uint byteAddress, + int64_t valueToAdd); +``` + +## Requirements + +`CUDA SM 6.0` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `valueToAdd` +* `originalValue` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedCompareExchangeU64` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedCompareExchangeU64( + uint byteAddress, + uint64_t compareValue, + uint64_t value, + out uint64_t outOriginalValue); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `compareValue` +* `value` +* `outOriginalValue` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedMaxU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedMaxU64( + uint byteAddress, + uint64_t value); +``` + +## Requirements + +`CUDA SM 3.5` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedMinU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedMinU64( + uint byteAddress, + uint64_t value); +``` + +## Requirements + +`CUDA SM 3.5` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedAndU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedAndU64( + uint byteAddress, + uint64_t value); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedOrU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedOrU64( + uint byteAddress, + uint64_t value); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedXorU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedXorU64( + uint byteAddress, + uint64_t value); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedExchangeU64` + +## Signature + +``` +uint64_t RWByteAddressBuffer.InterlockedExchangeU64( + uint byteAddress, + uint64_t value); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `byteAddress` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedAdd` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedAdd( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedAdd( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedAnd` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedAnd( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedAnd( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedCompareExchange` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedCompareExchange( + uint dest, + uint compare_value, + uint value, + out uint original_value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedCompareStore` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedCompareStore( + uint dest, + uint compare_value, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedExchange` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedExchange( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedMax` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedMax( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedMax( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedMin` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedMin( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedMin( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedOr` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedOr( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedOr( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.InterlockedXor` + +## Signature + +``` +void RWByteAddressBuffer.InterlockedXor( + uint dest, + uint value, + out uint original_value); +void RWByteAddressBuffer.InterlockedXor( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Store2` + +## Signature + +``` +void RWByteAddressBuffer.Store2( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Store3` + +## Signature + +``` +void RWByteAddressBuffer.Store3( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Store4` + +## Signature + +``` +void RWByteAddressBuffer.Store4( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RWByteAddressBuffer.Store` + +## Signature + +``` +/// See Target Availability 1 +void RWByteAddressBuffer.Store( + uint address, + uint value); +/// See Target Availability 2 +void RWByteAddressBuffer.Store( + int offset, + T value); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `address` +* `value` +* `offset` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedByteAddressBuffer` + +## Methods + +* `GetDimensions` +* `Load2` +* `Load3` +* `Load4` +* `InterlockedAdd` +* `InterlockedAnd` +* `InterlockedCompareExchange` +* `InterlockedCompareStore` +* `InterlockedExchange` +* `InterlockedMax` +* `InterlockedMin` +* `InterlockedOr` +* `InterlockedXor` +* `Store2` +* `Store3` +* `Store4` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.GetDimensions` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Load2` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedByteAddressBuffer.Load2(int location); +/// See Target Availability 2 +vector RasterizerOrderedByteAddressBuffer.Load2( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Load3` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedByteAddressBuffer.Load3(int location); +/// See Target Availability 2 +vector RasterizerOrderedByteAddressBuffer.Load3( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Load4` + +## Signature + +``` +/// See Target Availability 1 +vector RasterizerOrderedByteAddressBuffer.Load4(int location); +/// See Target Availability 2 +vector RasterizerOrderedByteAddressBuffer.Load4( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +uint RasterizerOrderedByteAddressBuffer.Load(int location); +/// See Target Availability 2 +uint RasterizerOrderedByteAddressBuffer.Load( + int location, + out uint status); +T RasterizerOrderedByteAddressBuffer.Load(int location); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedAdd` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedAdd( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedAdd( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedAnd` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedAnd( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedAnd( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedCompareExchange` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedCompareExchange( + uint dest, + uint compare_value, + uint value, + out uint original_value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedCompareStore` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedCompareStore( + uint dest, + uint compare_value, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedExchange` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedExchange( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedMax` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedMax( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedMax( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedMin` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedMin( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedMin( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedOr` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedOr( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedOr( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.InterlockedXor` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.InterlockedXor( + uint dest, + uint value, + out uint original_value); +void RasterizerOrderedByteAddressBuffer.InterlockedXor( + uint dest, + uint value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Store2` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.Store2( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Store3` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.Store3( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Store4` + +## Signature + +``` +void RasterizerOrderedByteAddressBuffer.Store4( + uint address, + vector value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `address` +* `value` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedByteAddressBuffer.Store` + +## Signature + +``` +/// See Target Availability 1 +void RasterizerOrderedByteAddressBuffer.Store( + uint address, + uint value); +/// See Target Availability 2 +void RasterizerOrderedByteAddressBuffer.Store( + int offset, + T value); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `address` +* `value` +* `offset` + +-------------------------------------------------------------------------------- +# `struct RWStructuredBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `DecrementCounter` +* `GetDimensions` +* `IncrementCounter` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWStructuredBuffer.DecrementCounter` + +## Signature + +``` +uint RWStructuredBuffer.DecrementCounter(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `RWStructuredBuffer.GetDimensions` + +## Signature + +``` +void RWStructuredBuffer.GetDimensions( + out uint numStructs, + out uint stride); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `numStructs` +* `stride` + +-------------------------------------------------------------------------------- +# `RWStructuredBuffer.IncrementCounter` + +## Signature + +``` +uint RWStructuredBuffer.IncrementCounter(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `RWStructuredBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWStructuredBuffer.Load(int location); +/// See Target Availability 2 +T RWStructuredBuffer.Load( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWStructuredBuffer.subscript` + +## Signature + +``` +T RWStructuredBuffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedStructuredBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `DecrementCounter` +* `GetDimensions` +* `IncrementCounter` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedStructuredBuffer.DecrementCounter` + +## Signature + +``` +uint RasterizerOrderedStructuredBuffer.DecrementCounter(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `RasterizerOrderedStructuredBuffer.GetDimensions` + +## Signature + +``` +void RasterizerOrderedStructuredBuffer.GetDimensions( + out uint numStructs, + out uint stride); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `numStructs` +* `stride` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedStructuredBuffer.IncrementCounter` + +## Signature + +``` +uint RasterizerOrderedStructuredBuffer.IncrementCounter(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `RasterizerOrderedStructuredBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedStructuredBuffer.Load(int location); +/// See Target Availability 2 +T RasterizerOrderedStructuredBuffer.Load( + int location, + out uint status); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedStructuredBuffer.subscript` + +## Signature + +``` +T RasterizerOrderedStructuredBuffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct PointStream` + +## Generic Parameters + +* `T` +## Methods + +* `Append` +* `RestartStrip` + +-------------------------------------------------------------------------------- +# `PointStream.Append` + +## Signature + +``` +void PointStream.Append(T value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `PointStream.RestartStrip` + +## Signature + +``` +void PointStream.RestartStrip(); +``` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `struct LineStream` + +## Generic Parameters + +* `T` +## Methods + +* `Append` +* `RestartStrip` + +-------------------------------------------------------------------------------- +# `LineStream.Append` + +## Signature + +``` +void LineStream.Append(T value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `LineStream.RestartStrip` + +## Signature + +``` +void LineStream.RestartStrip(); +``` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `struct TriangleStream` + +## Generic Parameters + +* `T` +## Methods + +* `Append` +* `RestartStrip` + +-------------------------------------------------------------------------------- +# `TriangleStream.Append` + +## Signature + +``` +void TriangleStream.Append(T value); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `TriangleStream.RestartStrip` + +## Signature + +``` +void TriangleStream.RestartStrip(); +``` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `abort` + +## Signature + +``` +void abort(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `abs` + +## Signature + +``` +/// See Target Availability 1 +T abs(T x); +/// See Target Availability 2 +vector abs(vector x); +/// See Target Availability 3 +matrix abs(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `acos` + +## Signature + +``` +/// See Target Availability 1 +T acos(T x); +/// See Target Availability 2 +vector acos(vector x); +/// See Target Availability 3 +matrix acos(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `all` + +## Signature + +``` +/// See Target Availability 1 +bool all(T x); +bool all(vector x); +/// See Target Availability 2 +bool all(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `AllMemoryBarrier` + +## Signature + +``` +void AllMemoryBarrier(); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `AllMemoryBarrierWithGroupSync` + +## Signature + +``` +void AllMemoryBarrierWithGroupSync(); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `any` + +## Signature + +``` +/// See Target Availability 1 +bool any(T x); +bool any(vector x); +/// See Target Availability 2 +bool any(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `asdouble` + +## Signature + +``` +double asdouble( + uint lowbits, + uint highbits); +``` + +## Requirements + +`GLSL GL_ARB_gpu_shader5` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `lowbits` +* `highbits` + +-------------------------------------------------------------------------------- +# `asfloat` + +## Signature + +``` +/// See Target Availability 1 +float asfloat(int x); +float asfloat(uint x); +vector asfloat(vector x); +vector asfloat(vector x); +/// See Target Availability 2 +matrix asfloat(matrix x); +matrix asfloat(matrix x); +float asfloat(float x); +vector asfloat(vector x); +matrix asfloat(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `asin` + +## Signature + +``` +/// See Target Availability 1 +T asin(T x); +/// See Target Availability 2 +vector asin(vector x); +/// See Target Availability 3 +matrix asin(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `asint` + +## Signature + +``` +/// See Target Availability 1 +int asint(float x); +int asint(uint x); +vector asint(vector x); +vector asint(vector x); +/// See Target Availability 2 +matrix asint(matrix x); +matrix asint(matrix x); +int asint(int x); +vector asint(vector x); +matrix asint(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `asuint` + +## Signature + +``` +/// See Target Availability 1 +void asuint( + double value, + out uint lowbits, + out uint highbits); +uint asuint(float x); +uint asuint(int x); +vector asuint(vector x); +vector asuint(vector x); +/// See Target Availability 2 +matrix asuint(matrix x); +matrix asuint(matrix x); +uint asuint(uint x); +vector asuint(vector x); +matrix asuint(matrix x); +``` + +## Requirements + +`GLSL GL_ARB_gpu_shader5` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `N` +* `M` +* `value` +* `lowbits` +* `highbits` +* `x` + +-------------------------------------------------------------------------------- +# `asuint16` + +## Signature + +``` +/// See Target Availability 1 +uint16_t asuint16(uint16_t value); +vector asuint16(vector value); +matrix asuint16(matrix value); +uint16_t asuint16(int16_t value); +vector asuint16(vector value); +matrix asuint16(matrix value); +/// See Target Availability 2 +uint16_t asuint16(half value); +/// See Target Availability 1 +vector asuint16(vector value); +matrix asuint16(matrix value); +``` + +## Target Availability + +1. `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `N` +* `R` +* `C` +* `value` + +-------------------------------------------------------------------------------- +# `asint16` + +## Signature + +``` +int16_t asint16(int16_t value); +vector asint16(vector value); +matrix asint16(matrix value); +int16_t asint16(uint16_t value); +vector asint16(vector value); +matrix asint16(matrix value); +int16_t asint16(half value); +vector asint16(vector value); +matrix asint16(matrix value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `N` +* `R` +* `C` +* `value` + +-------------------------------------------------------------------------------- +# `asfloat16` + +## Signature + +``` +/// See Target Availability 1 +half asfloat16(half value); +vector asfloat16(vector value); +matrix asfloat16(matrix value); +/// See Target Availability 2 +half asfloat16(uint16_t value); +/// See Target Availability 1 +vector asfloat16(vector value); +matrix asfloat16(matrix value); +half asfloat16(int16_t value); +vector asfloat16(vector value); +matrix asfloat16(matrix value); +``` + +## Target Availability + +1. `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `N` +* `R` +* `C` +* `value` + +-------------------------------------------------------------------------------- +# `atan` + +## Signature + +``` +/// See Target Availability 1 +T atan(T x); +/// See Target Availability 2 +vector atan(vector x); +/// See Target Availability 3 +matrix atan(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `atan2` + +## Signature + +``` +/// See Target Availability 1 +T atan2( + T y, + T x); +/// See Target Availability 2 +vector atan2( + vector y, + vector x); +/// See Target Availability 3 +matrix atan2( + matrix y, + matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `y` +* `x` + +-------------------------------------------------------------------------------- +# `ceil` + +## Signature + +``` +/// See Target Availability 1 +T ceil(T x); +/// See Target Availability 2 +vector ceil(vector x); +/// See Target Availability 3 +matrix ceil(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `CheckAccessFullyMapped` + +## Signature + +``` +bool CheckAccessFullyMapped(uint status); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `status` + +-------------------------------------------------------------------------------- +# `clamp` + +## Signature + +``` +/// See Target Availability 1 +T clamp( + T x, + T minBound, + T maxBound); +vector clamp( + vector x, + vector minBound, + vector maxBound); +/// See Target Availability 2 +matrix clamp( + matrix x, + matrix minBound, + matrix maxBound); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `minBound` +* `maxBound` + +-------------------------------------------------------------------------------- +# `clip` + +## Signature + +``` +void clip(T x); +void clip(vector x); +void clip(matrix x); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `cos` + +## Signature + +``` +/// See Target Availability 1 +T cos(T x); +/// See Target Availability 2 +vector cos(vector x); +/// See Target Availability 3 +matrix cos(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `cosh` + +## Signature + +``` +/// See Target Availability 1 +T cosh(T x); +/// See Target Availability 2 +vector cosh(vector x); +/// See Target Availability 3 +matrix cosh(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `countbits` + +## Signature + +``` +uint countbits(uint value); +``` + +## Target Availability + +`CPP`, `CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `cross` + +## Signature + +``` +vector cross( + vector left, + vector right); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `left` +* `right` + +-------------------------------------------------------------------------------- +# `D3DCOLORtoUBYTE4` + +## Signature + +``` +vector D3DCOLORtoUBYTE4(vector color); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `color` + +-------------------------------------------------------------------------------- +# `ddx` + +## Signature + +``` +/// See Target Availability 1 +T ddx(T x); +vector ddx(vector x); +/// See Target Availability 2 +matrix ddx(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ddx_coarse` + +## Signature + +``` +/// See Target Availability 1 +T ddx_coarse(T x); +vector ddx_coarse(vector x); +/// See Target Availability 2 +matrix ddx_coarse(matrix x); +``` + +## Requirements + +`GLSL GL_ARB_derivative_control` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ddx_fine` + +## Signature + +``` +/// See Target Availability 1 +T ddx_fine(T x); +vector ddx_fine(vector x); +/// See Target Availability 2 +matrix ddx_fine(matrix x); +``` + +## Requirements + +`GLSL GL_ARB_derivative_control` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ddy` + +## Signature + +``` +/// See Target Availability 1 +T ddy(T x); +vector ddy(vector x); +/// See Target Availability 2 +matrix ddy(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ddy_coarse` + +## Signature + +``` +/// See Target Availability 1 +T ddy_coarse(T x); +vector ddy_coarse(vector x); +/// See Target Availability 2 +matrix ddy_coarse(matrix x); +``` + +## Requirements + +`GLSL GL_ARB_derivative_control` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ddy_fine` + +## Signature + +``` +/// See Target Availability 1 +T ddy_fine(T x); +vector ddy_fine(vector x); +/// See Target Availability 2 +matrix ddy_fine(matrix x); +``` + +## Requirements + +`GLSL GL_ARB_derivative_control` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `degrees` + +## Signature + +``` +/// See Target Availability 1 +T degrees(T x); +vector degrees(vector x); +/// See Target Availability 2 +matrix degrees(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `determinant` + +## Signature + +``` +T determinant(matrix m); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `m` + +-------------------------------------------------------------------------------- +# `DeviceMemoryBarrier` + +## Signature + +``` +void DeviceMemoryBarrier(); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `DeviceMemoryBarrierWithGroupSync` + +## Signature + +``` +void DeviceMemoryBarrierWithGroupSync(); +``` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `distance` + +## Signature + +``` +T distance( + vector x, + vector y); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `dot` + +## Signature + +``` +T dot( + vector x, + vector y); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `dst` + +## Signature + +``` +vector dst( + vector x, + vector y); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `EvaluateAttributeAtCentroid` + +## Signature + +``` +T EvaluateAttributeAtCentroid(T x); +vector EvaluateAttributeAtCentroid(vector x); +matrix EvaluateAttributeAtCentroid(matrix x); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `EvaluateAttributeAtSample` + +## Signature + +``` +T EvaluateAttributeAtSample( + T x, + uint sampleindex); +vector EvaluateAttributeAtSample( + vector x, + uint sampleindex); +matrix EvaluateAttributeAtSample( + matrix x, + uint sampleindex); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `sampleindex` + +-------------------------------------------------------------------------------- +# `EvaluateAttributeSnapped` + +## Signature + +``` +T EvaluateAttributeSnapped( + T x, + vector offset); +vector EvaluateAttributeSnapped( + vector x, + vector offset); +matrix EvaluateAttributeSnapped( + matrix x, + vector offset); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `offset` + +-------------------------------------------------------------------------------- +# `exp` + +## Signature + +``` +/// See Target Availability 1 +T exp(T x); +/// See Target Availability 2 +vector exp(vector x); +/// See Target Availability 3 +matrix exp(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `exp2` + +## Signature + +``` +/// See Target Availability 1 +T exp2(T x); +/// See Target Availability 2 +vector exp2(vector x); +/// See Target Availability 3 +matrix exp2(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `f16tof32` + +## Signature + +``` +/// See Target Availability 1 +float f16tof32(uint value); +/// See Target Availability 2 +vector f16tof32(vector value); +``` + +## Requirements + +`GLSL420` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `N` +* `value` + +-------------------------------------------------------------------------------- +# `f32tof16` + +## Signature + +``` +/// See Target Availability 1 +uint f32tof16(float value); +/// See Target Availability 2 +vector f32tof16(vector value); +``` + +## Requirements + +`GLSL420` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `N` +* `value` + +-------------------------------------------------------------------------------- +# `faceforward` + +## Signature + +``` +vector faceforward( + vector n, + vector i, + vector ng); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `n` +* `i` +* `ng` + +-------------------------------------------------------------------------------- +# `firstbithigh` + +## Signature + +``` +/// See Target Availability 1 +int firstbithigh(int value); +/// See Target Availability 2 +vector firstbithigh(vector value); +/// See Target Availability 1 +uint firstbithigh(uint value); +/// See Target Availability 2 +vector firstbithigh(vector value); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `N` +* `value` + +-------------------------------------------------------------------------------- +# `firstbitlow` + +## Signature + +``` +/// See Target Availability 1 +int firstbitlow(int value); +/// See Target Availability 2 +vector firstbitlow(vector value); +/// See Target Availability 1 +uint firstbitlow(uint value); +/// See Target Availability 2 +vector firstbitlow(vector value); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `N` +* `value` + +-------------------------------------------------------------------------------- +# `floor` + +## Signature + +``` +/// See Target Availability 1 +T floor(T x); +/// See Target Availability 2 +vector floor(vector x); +/// See Target Availability 3 +matrix floor(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `fma` + +## Signature + +``` +/// See Target Availability 1 +double fma( + double a, + double b, + double c); +/// See Target Availability 2 +vector fma( + vector a, + vector b, + vector c); +/// See Target Availability 3 +matrix fma( + matrix a, + matrix b, + matrix c); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `N` +* `M` +* `a` +* `b` +* `c` + +-------------------------------------------------------------------------------- +# `fmod` + +## Signature + +``` +/// See Target Availability 1 +T fmod( + T x, + T y); +/// See Target Availability 2 +vector fmod( + vector x, + vector y); +matrix fmod( + matrix x, + matrix y); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `frac` + +## Signature + +``` +/// See Target Availability 1 +T frac(T x); +/// See Target Availability 2 +vector frac(vector x); +/// See Target Availability 3 +matrix frac(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `frexp` + +## Signature + +``` +/// See Target Availability 1 +T frexp( + T x, + out T exp); +vector frexp( + vector x, + out vector exp); +/// See Target Availability 2 +matrix frexp( + matrix x, + out matrix exp); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `exp` + +-------------------------------------------------------------------------------- +# `fwidth` + +## Signature + +``` +/// See Target Availability 1 +T fwidth(T x); +/// See Target Availability 2 +vector fwidth(vector x); +/// See Target Availability 1 +matrix fwidth(matrix x); +``` + +## Target Availability + +1. `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `GetAttributeAtVertex` + +## Description + + Get the value of a vertex attribute at a specific vertex. + + The `GetAttributeAtVertex()` function can be used in a fragment shader + to get the value of the given `attribute` at the vertex of the primitive + that corresponds to the given `vertexIndex`. + + Note that the `attribute` must have been a declared varying input to + the fragment shader with the `nointerpolation` modifier. + + This function can be applied to scalars, vectors, and matrices of + built-in scalar types. + + Note: these functions are not curently implemented for Vulkan/SPIR-V output. + +## Signature + +``` +T GetAttributeAtVertex( + T attribute, + uint vertexIndex); +vector GetAttributeAtVertex( + vector attribute, + uint vertexIndex); +matrix GetAttributeAtVertex( + matrix attribute, + uint vertexIndex); +``` + +## Requirements + +`GLSL GL_NV_fragment_shader_barycentric`, `GLSL450` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `attribute` +* `vertexIndex` + +-------------------------------------------------------------------------------- +# `GetRenderTargetSampleCount` + +## Signature + +``` +uint GetRenderTargetSampleCount(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `GetRenderTargetSamplePosition` + +## Signature + +``` +vector GetRenderTargetSamplePosition(int Index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `Index` + +-------------------------------------------------------------------------------- +# `GroupMemoryBarrier` + +## Signature + +``` +void GroupMemoryBarrier(); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `GroupMemoryBarrierWithGroupSync` + +## Signature + +``` +void GroupMemoryBarrierWithGroupSync(); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `InterlockedAdd` + +## Signature + +``` +void InterlockedAdd( + int dest, + int value); +void InterlockedAdd( + uint dest, + uint value); +void InterlockedAdd( + int dest, + int value, + out int original_value); +void InterlockedAdd( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedAnd` + +## Signature + +``` +void InterlockedAnd( + int dest, + int value); +void InterlockedAnd( + uint dest, + uint value); +void InterlockedAnd( + int dest, + int value, + out int original_value); +void InterlockedAnd( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedCompareExchange` + +## Signature + +``` +void InterlockedCompareExchange( + int dest, + int compare_value, + int value, + out int original_value); +void InterlockedCompareExchange( + uint dest, + uint compare_value, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedCompareStore` + +## Signature + +``` +void InterlockedCompareStore( + int dest, + int compare_value, + int value); +void InterlockedCompareStore( + uint dest, + uint compare_value, + uint value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `compare_value` +* `value` + +-------------------------------------------------------------------------------- +# `InterlockedExchange` + +## Signature + +``` +void InterlockedExchange( + int dest, + int value, + out int original_value); +void InterlockedExchange( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedMax` + +## Signature + +``` +void InterlockedMax( + int dest, + int value); +void InterlockedMax( + uint dest, + uint value); +void InterlockedMax( + int dest, + int value, + out int original_value); +void InterlockedMax( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedMin` + +## Signature + +``` +void InterlockedMin( + int dest, + int value); +void InterlockedMin( + uint dest, + uint value); +void InterlockedMin( + int dest, + int value, + out int original_value); +void InterlockedMin( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedOr` + +## Signature + +``` +void InterlockedOr( + int dest, + int value); +void InterlockedOr( + uint dest, + uint value); +void InterlockedOr( + int dest, + int value, + out int original_value); +void InterlockedOr( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `InterlockedXor` + +## Signature + +``` +void InterlockedXor( + int dest, + int value); +void InterlockedXor( + uint dest, + uint value); +void InterlockedXor( + int dest, + int value, + out int original_value); +void InterlockedXor( + uint dest, + uint value, + out uint original_value); +``` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `dest` +* `value` +* `original_value` + +-------------------------------------------------------------------------------- +# `isfinite` + +## Signature + +``` +/// See Target Availability 1 +bool isfinite(T x); +/// See Target Availability 2 +vector isfinite(vector x); +matrix isfinite(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `isinf` + +## Signature + +``` +/// See Target Availability 1 +bool isinf(T x); +/// See Target Availability 2 +vector isinf(vector x); +/// See Target Availability 3 +matrix isinf(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `isnan` + +## Signature + +``` +/// See Target Availability 1 +bool isnan(T x); +/// See Target Availability 2 +vector isnan(vector x); +/// See Target Availability 3 +matrix isnan(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `ldexp` + +## Signature + +``` +T ldexp( + T x, + T exp); +vector ldexp( + vector x, + vector exp); +matrix ldexp( + matrix x, + matrix exp); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `exp` + +-------------------------------------------------------------------------------- +# `length` + +## Signature + +``` +T length(vector x); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `x` + +-------------------------------------------------------------------------------- +# `lerp` + +## Signature + +``` +/// See Target Availability 1 +T lerp( + T x, + T y, + T s); +vector lerp( + vector x, + vector y, + vector s); +/// See Target Availability 2 +matrix lerp( + matrix x, + matrix y, + matrix s); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `y` +* `s` + +-------------------------------------------------------------------------------- +# `lit` + +## Signature + +``` +vector lit( + float n_dot_l, + float n_dot_h, + float m); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `n_dot_l` +* `n_dot_h` +* `m` + +-------------------------------------------------------------------------------- +# `log` + +## Signature + +``` +/// See Target Availability 1 +T log(T x); +/// See Target Availability 2 +vector log(vector x); +/// See Target Availability 3 +matrix log(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `log10` + +## Signature + +``` +/// See Target Availability 1 +T log10(T x); +/// See Target Availability 2 +vector log10(vector x); +/// See Target Availability 3 +matrix log10(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `log2` + +## Signature + +``` +/// See Target Availability 1 +T log2(T x); +/// See Target Availability 2 +vector log2(vector x); +/// See Target Availability 3 +matrix log2(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `mad` + +## Signature + +``` +/// See Target Availability 1 +T mad( + T mvalue, + T avalue, + T bvalue); +/// See Target Availability 2 +vector mad( + vector mvalue, + vector avalue, + vector bvalue); +/// See Target Availability 3 +matrix mad( + matrix mvalue, + matrix avalue, + matrix bvalue); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mvalue` +* `avalue` +* `bvalue` + +-------------------------------------------------------------------------------- +# `max` + +## Signature + +``` +/// See Target Availability 1 +T max( + T x, + T y); +/// See Target Availability 2 +vector max( + vector x, + vector y); +/// See Target Availability 3 +matrix max( + matrix x, + matrix y); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `min` + +## Signature + +``` +/// See Target Availability 1 +T min( + T x, + T y); +/// See Target Availability 2 +vector min( + vector x, + vector y); +/// See Target Availability 3 +matrix min( + matrix x, + matrix y); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `modf` + +## Signature + +``` +/// See Target Availability 1 +T modf( + T x, + out T ip); +/// See Target Availability 2 +vector modf( + vector x, + out vector ip); +/// See Target Availability 1 +matrix modf( + matrix x, + out matrix ip); +``` + +## Target Availability + +1. `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `ip` + +-------------------------------------------------------------------------------- +# `msad4` + +## Signature + +``` +vector msad4( + uint reference, + vector source, + vector accum); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `reference` +* `source` +* `accum` + +-------------------------------------------------------------------------------- +# `mul` + +## Signature + +``` +/// See Target Availability 1 +T mul( + T x, + T y); +vector mul( + vector x, + T y); +vector mul( + T x, + vector y); +matrix mul( + matrix x, + T y); +matrix mul( + T x, + matrix y); +/// See Target Availability 2 +T mul( + vector x, + vector y); +vector mul( + vector left, + matrix right); +vector mul( + matrix left, + vector right); +matrix mul( + matrix right, + matrix left); +``` + +## Target Availability + +1. `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `R` +* `C` +* `x` +* `y` +* `left` +* `right` + +-------------------------------------------------------------------------------- +# `noise` + +## Signature + +``` +float noise(float x); +float noise(vector x); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `N` +* `x` + +-------------------------------------------------------------------------------- +# `NonUniformResourceIndex` + +## Signature + +``` +uint NonUniformResourceIndex(uint index); +int NonUniformResourceIndex(int index); +``` + +## Requirements + +`GLSL GL_EXT_nonuniform_qualifier` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `normalize` + +## Signature + +``` +vector normalize(vector x); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `x` + +-------------------------------------------------------------------------------- +# `pow` + +## Signature + +``` +/// See Target Availability 1 +T pow( + T x, + T y); +/// See Target Availability 2 +vector pow( + vector x, + vector y); +/// See Target Availability 3 +matrix pow( + matrix x, + matrix y); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `y` + +-------------------------------------------------------------------------------- +# `Process2DQuadTessFactorsAvg` + +## Signature + +``` +void Process2DQuadTessFactorsAvg( + in vector RawEdgeFactors, + in vector InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `Process2DQuadTessFactorsMax` + +## Signature + +``` +void Process2DQuadTessFactorsMax( + in vector RawEdgeFactors, + in vector InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `Process2DQuadTessFactorsMin` + +## Signature + +``` +void Process2DQuadTessFactorsMin( + in vector RawEdgeFactors, + in vector InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `ProcessIsolineTessFactors` + +## Signature + +``` +void ProcessIsolineTessFactors( + in float RawDetailFactor, + in float RawDensityFactor, + out float RoundedDetailFactor, + out float RoundedDensityFactor); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawDetailFactor` +* `RawDensityFactor` +* `RoundedDetailFactor` +* `RoundedDensityFactor` + +-------------------------------------------------------------------------------- +# `ProcessQuadTessFactorsAvg` + +## Signature + +``` +void ProcessQuadTessFactorsAvg( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `ProcessQuadTessFactorsMax` + +## Signature + +``` +void ProcessQuadTessFactorsMax( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `ProcessQuadTessFactorsMin` + +## Signature + +``` +void ProcessQuadTessFactorsMin( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out vector RoundedInsideTessFactors, + out vector UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `ProcessTriTessFactorsAvg` + +## Signature + +``` +void ProcessTriTessFactorsAvg( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out float RoundedInsideTessFactor, + out float UnroundedInsideTessFactor); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactor` +* `UnroundedInsideTessFactor` + +-------------------------------------------------------------------------------- +# `ProcessTriTessFactorsMax` + +## Signature + +``` +void ProcessTriTessFactorsMax( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out float RoundedInsideTessFactor, + out float UnroundedInsideTessFactor); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactor` +* `UnroundedInsideTessFactor` + +-------------------------------------------------------------------------------- +# `ProcessTriTessFactorsMin` + +## Signature + +``` +void ProcessTriTessFactorsMin( + in vector RawEdgeFactors, + in float InsideScale, + out vector RoundedEdgeTessFactors, + out float RoundedInsideTessFactors, + out float UnroundedInsideTessFactors); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `RawEdgeFactors` +* `InsideScale` +* `RoundedEdgeTessFactors` +* `RoundedInsideTessFactors` +* `UnroundedInsideTessFactors` + +-------------------------------------------------------------------------------- +# `radians` + +## Signature + +``` +/// See Target Availability 1 +T radians(T x); +vector radians(vector x); +/// See Target Availability 2 +matrix radians(matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `rcp` + +## Signature + +``` +T rcp(T x); +vector rcp(vector x); +matrix rcp(matrix x); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `reflect` + +## Signature + +``` +vector reflect( + vector i, + vector n); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `i` +* `n` + +-------------------------------------------------------------------------------- +# `refract` + +## Signature + +``` +vector refract( + vector i, + vector n, + T eta); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `i` +* `n` +* `eta` + +-------------------------------------------------------------------------------- +# `reversebits` + +## Signature + +``` +/// See Target Availability 1 +uint reversebits(uint value); +/// See Target Availability 2 +vector reversebits(vector value); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` + +## Parameters + +* `N` +* `value` + +-------------------------------------------------------------------------------- +# `round` + +## Signature + +``` +/// See Target Availability 1 +T round(T x); +/// See Target Availability 2 +vector round(vector x); +/// See Target Availability 3 +matrix round(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `rsqrt` + +## Signature + +``` +/// See Target Availability 1 +T rsqrt(T x); +/// See Target Availability 2 +vector rsqrt(vector x); +/// See Target Availability 3 +matrix rsqrt(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `saturate` + +## Signature + +``` +T saturate(T x); +vector saturate(vector x); +matrix saturate(matrix x); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `sign` + +## Signature + +``` +/// See Target Availability 1 +int sign(T x); +/// See Target Availability 2 +vector sign(vector x); +/// See Target Availability 3 +matrix sign(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `sin` + +## Signature + +``` +/// See Target Availability 1 +T sin(T x); +/// See Target Availability 2 +vector sin(vector x); +/// See Target Availability 3 +matrix sin(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `sincos` + +## Signature + +``` +/// See Target Availability 1 +void sincos( + T x, + out T s, + out T c); +/// See Target Availability 2 +void sincos( + vector x, + out vector s, + out vector c); +void sincos( + matrix x, + out matrix s, + out matrix c); +``` + +## Target Availability + +1. `CUDA`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` +* `s` +* `c` + +-------------------------------------------------------------------------------- +# `sinh` + +## Signature + +``` +/// See Target Availability 1 +T sinh(T x); +/// See Target Availability 2 +vector sinh(vector x); +/// See Target Availability 3 +matrix sinh(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `smoothstep` + +## Signature + +``` +/// See Target Availability 1 +T smoothstep( + T min, + T max, + T x); +vector smoothstep( + vector min, + vector max, + vector x); +/// See Target Availability 2 +matrix smoothstep( + matrix min, + matrix max, + matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `min` +* `max` +* `x` + +-------------------------------------------------------------------------------- +# `sqrt` + +## Signature + +``` +/// See Target Availability 1 +T sqrt(T x); +/// See Target Availability 2 +vector sqrt(vector x); +/// See Target Availability 3 +matrix sqrt(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `step` + +## Signature + +``` +/// See Target Availability 1 +T step( + T y, + T x); +vector step( + vector y, + vector x); +/// See Target Availability 2 +matrix step( + matrix y, + matrix x); +``` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `y` +* `x` + +-------------------------------------------------------------------------------- +# `tan` + +## Signature + +``` +/// See Target Availability 1 +T tan(T x); +/// See Target Availability 2 +vector tan(vector x); +/// See Target Availability 3 +matrix tan(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `tanh` + +## Signature + +``` +/// See Target Availability 1 +T tanh(T x); +/// See Target Availability 2 +vector tanh(vector x); +/// See Target Availability 3 +matrix tanh(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `transpose` + +## Signature + +``` +matrix transpose(matrix x); +``` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `trunc` + +## Signature + +``` +/// See Target Availability 1 +T trunc(T x); +/// See Target Availability 2 +vector trunc(vector x); +/// See Target Availability 3 +matrix trunc(matrix x); +``` + +## Target Availability + +1. `CPP`, `CUDA`, `GLSL`, `HLSL` +2. `GLSL`, `HLSL` +3. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `x` + +-------------------------------------------------------------------------------- +# `WaveGetConvergedMask` + +## Signature + +``` +uint WaveGetConvergedMask(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveGetActiveMask` + +## Signature + +``` +uint WaveGetActiveMask(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveMaskIsFirstLane` + +## Signature + +``` +bool WaveMaskIsFirstLane(uint mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMaskAllTrue` + +## Signature + +``` +bool WaveMaskAllTrue( + uint mask, + bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` +* `condition` + +-------------------------------------------------------------------------------- +# `WaveMaskAnyTrue` + +## Signature + +``` +bool WaveMaskAnyTrue( + uint mask, + bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` +* `condition` + +-------------------------------------------------------------------------------- +# `WaveMaskBallot` + +## Signature + +``` +uint WaveMaskBallot( + uint mask, + bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` +* `condition` + +-------------------------------------------------------------------------------- +# `WaveMaskCountBits` + +## Signature + +``` +uint WaveMaskCountBits( + uint mask, + bool value); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `mask` +* `value` + +-------------------------------------------------------------------------------- +# `AllMemoryBarrierWithWaveMaskSync` + +## Signature + +``` +void AllMemoryBarrierWithWaveMaskSync(uint mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` + +-------------------------------------------------------------------------------- +# `GroupMemoryBarrierWithWaveMaskSync` + +## Signature + +``` +void GroupMemoryBarrierWithWaveMaskSync(uint mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` + +-------------------------------------------------------------------------------- +# `AllMemoryBarrierWithWaveSync` + +## Signature + +``` +void AllMemoryBarrierWithWaveSync(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `GroupMemoryBarrierWithWaveSync` + +## Signature + +``` +void GroupMemoryBarrierWithWaveSync(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveMaskBroadcastLaneAt` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskBroadcastLaneAt( + uint mask, + T value, + int lane); +vector WaveMaskBroadcastLaneAt( + uint mask, + vector value, + int lane); +/// See Target Availability 2 +matrix WaveMaskBroadcastLaneAt( + uint mask, + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WaveMaskReadLaneAt` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskReadLaneAt( + uint mask, + T value, + int lane); +vector WaveMaskReadLaneAt( + uint mask, + vector value, + int lane); +/// See Target Availability 2 +matrix WaveMaskReadLaneAt( + uint mask, + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WaveMaskShuffle` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskShuffle( + uint mask, + T value, + int lane); +vector WaveMaskShuffle( + uint mask, + vector value, + int lane); +/// See Target Availability 2 +matrix WaveMaskShuffle( + uint mask, + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixCountBits` + +## Signature + +``` +uint WaveMaskPrefixCountBits( + uint mask, + bool value); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `mask` +* `value` + +-------------------------------------------------------------------------------- +# `WaveMaskBitAnd` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskBitAnd( + uint mask, + T expr); +vector WaveMaskBitAnd( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskBitAnd( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskBitOr` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskBitOr( + uint mask, + T expr); +vector WaveMaskBitOr( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskBitOr( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskBitXor` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskBitXor( + uint mask, + T expr); +vector WaveMaskBitXor( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskBitXor( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskMax` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskMax( + uint mask, + T expr); +vector WaveMaskMax( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskMax( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskMin` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskMin( + uint mask, + T expr); +vector WaveMaskMin( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskMin( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskProduct` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskProduct( + uint mask, + T expr); +vector WaveMaskProduct( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskProduct( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskSum` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskSum( + uint mask, + T expr); +vector WaveMaskSum( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskSum( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskAllEqual` + +## Signature + +``` +/// See Requirement 1 +/// See Target Availability 1 +bool WaveMaskAllEqual( + uint mask, + T value); +bool WaveMaskAllEqual( + uint mask, + vector value); +/// See Requirement 2 +/// See Target Availability 2 +bool WaveMaskAllEqual( + uint mask, + matrix value); +``` + +## Requirements + +1. `CUDA SM 7.0`, `GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` +2. `CUDA SM 7.0` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `value` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixProduct` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskPrefixProduct( + uint mask, + T expr); +vector WaveMaskPrefixProduct( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskPrefixProduct( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixSum` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskPrefixSum( + uint mask, + T expr); +vector WaveMaskPrefixSum( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskPrefixSum( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskReadLaneFirst` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskReadLaneFirst( + uint mask, + T expr); +vector WaveMaskReadLaneFirst( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskReadLaneFirst( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskMatch` + +## Signature + +``` +uint WaveMaskMatch( + uint mask, + T value); +uint WaveMaskMatch( + uint mask, + vector value); +uint WaveMaskMatch( + uint mask, + matrix value); +``` + +## Requirements + +`CUDA SM 7.0` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `value` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixBitAnd` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskPrefixBitAnd( + uint mask, + T expr); +/// See Target Availability 2 +vector WaveMaskPrefixBitAnd( + uint mask, + vector expr); +/// See Target Availability 1 +matrix WaveMaskPrefixBitAnd( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `HLSL` +2. `CUDA`, `GLSL`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixBitOr` + +## Signature + +``` +T WaveMaskPrefixBitOr( + uint mask, + T expr); +vector WaveMaskPrefixBitOr( + uint mask, + vector expr); +matrix WaveMaskPrefixBitOr( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveMaskPrefixBitXor` + +## Signature + +``` +/// See Target Availability 1 +T WaveMaskPrefixBitXor( + uint mask, + T expr); +vector WaveMaskPrefixBitXor( + uint mask, + vector expr); +/// See Target Availability 2 +matrix WaveMaskPrefixBitXor( + uint mask, + matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `mask` +* `expr` + +-------------------------------------------------------------------------------- +# `QuadReadLaneAt` + +## Signature + +``` +T QuadReadLaneAt( + T sourceValue, + uint quadLaneID); +vector QuadReadLaneAt( + vector sourceValue, + uint quadLaneID); +matrix QuadReadLaneAt( + matrix sourceValue, + uint quadLaneID); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `sourceValue` +* `quadLaneID` + +-------------------------------------------------------------------------------- +# `QuadReadAcrossX` + +## Signature + +``` +T QuadReadAcrossX(T localValue); +vector QuadReadAcrossX(vector localValue); +matrix QuadReadAcrossX(matrix localValue); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `localValue` + +-------------------------------------------------------------------------------- +# `QuadReadAcrossY` + +## Signature + +``` +T QuadReadAcrossY(T localValue); +vector QuadReadAcrossY(vector localValue); +matrix QuadReadAcrossY(matrix localValue); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `localValue` + +-------------------------------------------------------------------------------- +# `QuadReadAcrossDiagonal` + +## Signature + +``` +T QuadReadAcrossDiagonal(T localValue); +vector QuadReadAcrossDiagonal(vector localValue); +matrix QuadReadAcrossDiagonal(matrix localValue); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `localValue` + +-------------------------------------------------------------------------------- +# `WaveActiveBitAnd` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveBitAnd(T expr); +vector WaveActiveBitAnd(vector expr); +/// See Target Availability 2 +matrix WaveActiveBitAnd(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveBitOr` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveBitOr(T expr); +vector WaveActiveBitOr(vector expr); +/// See Target Availability 2 +matrix WaveActiveBitOr(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveBitXor` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveBitXor(T expr); +vector WaveActiveBitXor(vector expr); +/// See Target Availability 2 +matrix WaveActiveBitXor(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveMax` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveMax(T expr); +vector WaveActiveMax(vector expr); +/// See Target Availability 2 +matrix WaveActiveMax(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveMin` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveMin(T expr); +vector WaveActiveMin(vector expr); +/// See Target Availability 2 +matrix WaveActiveMin(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveProduct` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveProduct(T expr); +vector WaveActiveProduct(vector expr); +/// See Target Availability 2 +matrix WaveActiveProduct(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveSum` + +## Signature + +``` +/// See Target Availability 1 +T WaveActiveSum(T expr); +vector WaveActiveSum(vector expr); +/// See Target Availability 2 +matrix WaveActiveSum(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveActiveAllEqual` + +## Signature + +``` +/// See Target Availability 1 +bool WaveActiveAllEqual(T value); +bool WaveActiveAllEqual(vector value); +/// See Target Availability 2 +bool WaveActiveAllEqual(matrix value); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` + +-------------------------------------------------------------------------------- +# `WaveActiveAllTrue` + +## Signature + +``` +bool WaveActiveAllTrue(bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `condition` + +-------------------------------------------------------------------------------- +# `WaveActiveAnyTrue` + +## Signature + +``` +bool WaveActiveAnyTrue(bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `condition` + +-------------------------------------------------------------------------------- +# `WaveActiveBallot` + +## Signature + +``` +vector WaveActiveBallot(bool condition); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `condition` + +-------------------------------------------------------------------------------- +# `WaveActiveCountBits` + +## Signature + +``` +uint WaveActiveCountBits(bool value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `WaveGetLaneCount` + +## Signature + +``` +uint WaveGetLaneCount(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveGetLaneIndex` + +## Signature + +``` +uint WaveGetLaneIndex(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveIsFirstLane` + +## Signature + +``` +bool WaveIsFirstLane(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `_WaveCountBits` + +## Signature + +``` +uint _WaveCountBits(vector value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `WavePrefixProduct` + +## Signature + +``` +/// See Target Availability 1 +T WavePrefixProduct(T expr); +vector WavePrefixProduct(vector expr); +/// See Target Availability 2 +matrix WavePrefixProduct(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WavePrefixSum` + +## Signature + +``` +/// See Target Availability 1 +T WavePrefixSum(T expr); +vector WavePrefixSum(vector expr); +/// See Target Availability 2 +matrix WavePrefixSum(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveReadLaneFirst` + +## Signature + +``` +/// See Target Availability 1 +T WaveReadLaneFirst(T expr); +vector WaveReadLaneFirst(vector expr); +/// See Target Availability 2 +matrix WaveReadLaneFirst(matrix expr); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` + +-------------------------------------------------------------------------------- +# `WaveBroadcastLaneAt` + +## Signature + +``` +/// See Target Availability 1 +T WaveBroadcastLaneAt( + T value, + int lane); +vector WaveBroadcastLaneAt( + vector value, + int lane); +/// See Target Availability 2 +matrix WaveBroadcastLaneAt( + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WaveReadLaneAt` + +## Signature + +``` +/// See Target Availability 1 +T WaveReadLaneAt( + T value, + int lane); +vector WaveReadLaneAt( + vector value, + int lane); +/// See Target Availability 2 +matrix WaveReadLaneAt( + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WaveShuffle` + +## Signature + +``` +/// See Target Availability 1 +T WaveShuffle( + T value, + int lane); +vector WaveShuffle( + vector value, + int lane); +/// See Target Availability 2 +matrix WaveShuffle( + matrix value, + int lane); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` +* `lane` + +-------------------------------------------------------------------------------- +# `WavePrefixCountBits` + +## Signature + +``` +uint WavePrefixCountBits(bool value); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `value` + +-------------------------------------------------------------------------------- +# `WaveGetConvergedMulti` + +## Signature + +``` +vector WaveGetConvergedMulti(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveGetActiveMulti` + +## Signature + +``` +vector WaveGetActiveMulti(); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WaveMatch` + +## Signature + +``` +vector WaveMatch(T value); +vector WaveMatch(vector value); +vector WaveMatch(matrix value); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixCountBits` + +## Signature + +``` +uint WaveMultiPrefixCountBits( + bool value, + vector mask); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `value` +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixBitAnd` + +## Signature + +``` +/// See Target Availability 1 +T WaveMultiPrefixBitAnd( + T expr, + vector mask); +vector WaveMultiPrefixBitAnd( + vector expr, + vector mask); +/// See Target Availability 2 +matrix WaveMultiPrefixBitAnd( + matrix expr, + vector mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixBitOr` + +## Signature + +``` +T WaveMultiPrefixBitOr( + T expr, + vector mask); +vector WaveMultiPrefixBitOr( + vector expr, + vector mask); +matrix WaveMultiPrefixBitOr( + matrix expr, + vector mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixBitXor` + +## Signature + +``` +/// See Target Availability 1 +T WaveMultiPrefixBitXor( + T expr, + vector mask); +vector WaveMultiPrefixBitXor( + vector expr, + vector mask); +/// See Target Availability 2 +matrix WaveMultiPrefixBitXor( + matrix expr, + vector mask); +``` + +## Requirements + +`GLSL GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` + +## Target Availability + +1. `CUDA`, `GLSL`, `HLSL` +2. `CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `expr` +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixProduct` + +## Signature + +``` +T WaveMultiPrefixProduct( + T value, + vector mask); +vector WaveMultiPrefixProduct( + vector value, + vector mask); +matrix WaveMultiPrefixProduct( + matrix value, + vector mask); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` +* `mask` + +-------------------------------------------------------------------------------- +# `WaveMultiPrefixSum` + +## Signature + +``` +T WaveMultiPrefixSum( + T value, + vector mask); +vector WaveMultiPrefixSum( + vector value, + vector mask); +matrix WaveMultiPrefixSum( + matrix value, + vector mask); +``` + +## Target Availability + +`CUDA`, `HLSL` + +## Parameters + +* `T` +* `N` +* `M` +* `value` +* `mask` + +-------------------------------------------------------------------------------- +# `struct Buffer` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `Buffer.GetDimensions` + +## Signature + +``` +void Buffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `Buffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T Buffer.Load(int location); +/// See Target Availability 2 +T Buffer.Load( + int location, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `Buffer.subscript` + +## Signature + +``` +T Buffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct RWBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RWBuffer.GetDimensions` + +## Signature + +``` +void RWBuffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `RWBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T RWBuffer.Load(int location); +/// See Target Availability 2 +T RWBuffer.Load( + int location, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RWBuffer.subscript` + +## Signature + +``` +T RWBuffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# `struct RasterizerOrderedBuffer` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` +* `Load` +* `subscript` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedBuffer.GetDimensions` + +## Signature + +``` +void RasterizerOrderedBuffer.GetDimensions(out uint dim); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `dim` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedBuffer.Load` + +## Signature + +``` +/// See Target Availability 1 +T RasterizerOrderedBuffer.Load(int location); +/// See Target Availability 2 +T RasterizerOrderedBuffer.Load( + int location, + out uint status); +``` + +## Requirements + +`GLSL GL_EXT_samplerless_texture_functions` + +## Target Availability + +1. `GLSL`, `HLSL` +2. `HLSL` + +## Parameters + +* `location` +* `status` + +-------------------------------------------------------------------------------- +# `RasterizerOrderedBuffer.subscript` + +## Signature + +``` +T RasterizerOrderedBuffer.subscript(uint index); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `index` + +-------------------------------------------------------------------------------- +# RAY_FLAG_NONE + +``` +uint RAY_FLAG_NONE +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_FORCE_OPAQUE + +``` +uint RAY_FLAG_FORCE_OPAQUE +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_FORCE_NON_OPAQUE + +``` +uint RAY_FLAG_FORCE_NON_OPAQUE +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH + +``` +uint RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_SKIP_CLOSEST_HIT_SHADER + +``` +uint RAY_FLAG_SKIP_CLOSEST_HIT_SHADER +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_CULL_BACK_FACING_TRIANGLES + +``` +uint RAY_FLAG_CULL_BACK_FACING_TRIANGLES +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_CULL_FRONT_FACING_TRIANGLES + +``` +uint RAY_FLAG_CULL_FRONT_FACING_TRIANGLES +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_CULL_OPAQUE + +``` +uint RAY_FLAG_CULL_OPAQUE +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_CULL_NON_OPAQUE + +``` +uint RAY_FLAG_CULL_NON_OPAQUE +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_SKIP_TRIANGLES + +``` +uint RAY_FLAG_SKIP_TRIANGLES +``` + + +-------------------------------------------------------------------------------- +# RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES + +``` +uint RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES +``` + + +-------------------------------------------------------------------------------- +# `struct RayDesc` + +## Fields + +* `Origin` +* `TMin` +* `Direction` +* `TMax` + +-------------------------------------------------------------------------------- +# `struct RaytracingAccelerationStructure` + + +-------------------------------------------------------------------------------- +# `struct BuiltInTriangleIntersectionAttributes` + +## Fields + +* `barycentrics` + +-------------------------------------------------------------------------------- +# `CallShader` + +## Signature + +``` +void CallShader( + uint shaderIndex, + inout Payload payload); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `Payload` +* `shaderIndex` +* `payload` + +-------------------------------------------------------------------------------- +# `TraceRay` + +## Signature + +``` +void TraceRay( + RaytracingAccelerationStructure AccelerationStructure, + uint RayFlags, + uint InstanceInclusionMask, + uint RayContributionToHitGroupIndex, + uint MultiplierForGeometryContributionToHitGroupIndex, + uint MissShaderIndex, + RayDesc Ray, + inout payload_t Payload); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `payload_t` +* `AccelerationStructure` +* `RayFlags` +* `InstanceInclusionMask` +* `RayContributionToHitGroupIndex` +* `MultiplierForGeometryContributionToHitGroupIndex` +* `MissShaderIndex` +* `Ray` +* `Payload` + +-------------------------------------------------------------------------------- +# `ReportHit` + +## Signature + +``` +bool ReportHit( + float tHit, + uint hitKind, + A attributes); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `A` +* `tHit` +* `hitKind` +* `attributes` + +-------------------------------------------------------------------------------- +# `IgnoreHit` + +## Signature + +``` +void IgnoreHit(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `AcceptHitAndEndSearch` + +## Signature + +``` +void AcceptHitAndEndSearch(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `DispatchRaysIndex` + +## Signature + +``` +vector DispatchRaysIndex(); +``` + +## Target Availability + +`CUDA`, `GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `DispatchRaysDimensions` + +## Signature + +``` +vector DispatchRaysDimensions(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WorldRayOrigin` + +## Signature + +``` +vector WorldRayOrigin(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WorldRayDirection` + +## Signature + +``` +vector WorldRayDirection(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayTMin` + +## Signature + +``` +float RayTMin(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayTCurrent` + +## Signature + +``` +float RayTCurrent(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayFlags` + +## Signature + +``` +uint RayFlags(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `InstanceIndex` + +## Signature + +``` +uint InstanceIndex(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `InstanceID` + +## Signature + +``` +uint InstanceID(); +``` + +## Target Availability + +`HLSL`, `__GLSLRAYTRACING` + + +-------------------------------------------------------------------------------- +# `PrimitiveIndex` + +## Signature + +``` +uint PrimitiveIndex(); +``` + +## Target Availability + +`HLSL`, `__GLSLRAYTRACING` + + +-------------------------------------------------------------------------------- +# `ObjectRayOrigin` + +## Signature + +``` +vector ObjectRayOrigin(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `ObjectRayDirection` + +## Signature + +``` +vector ObjectRayDirection(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `ObjectToWorld3x4` + +## Signature + +``` +matrix ObjectToWorld3x4(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WorldToObject3x4` + +## Signature + +``` +matrix WorldToObject3x4(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `ObjectToWorld4x3` + +## Signature + +``` +matrix ObjectToWorld4x3(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `WorldToObject4x3` + +## Signature + +``` +matrix WorldToObject4x3(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# `ObjectToWorld` + +## Signature + +``` +matrix ObjectToWorld(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `WorldToObject` + +## Signature + +``` +matrix WorldToObject(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `HitKind` + +## Signature + +``` +uint HitKind(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `GL_NV_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# HIT_KIND_TRIANGLE_FRONT_FACE + +``` +uint HIT_KIND_TRIANGLE_FRONT_FACE +``` + + +-------------------------------------------------------------------------------- +# HIT_KIND_TRIANGLE_BACK_FACE + +``` +uint HIT_KIND_TRIANGLE_BACK_FACE +``` + + +-------------------------------------------------------------------------------- +# `dot4add_u8packed` + +## Signature + +``` +uint dot4add_u8packed( + uint left, + uint right, + uint acc); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `left` +* `right` +* `acc` + +-------------------------------------------------------------------------------- +# `dot4add_i8packed` + +## Signature + +``` +int dot4add_i8packed( + uint left, + uint right, + int acc); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `left` +* `right` +* `acc` + +-------------------------------------------------------------------------------- +# `dot2add` + +## Signature + +``` +float dot2add( + vector left, + vector right, + float acc); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `left` +* `right` +* `acc` + +-------------------------------------------------------------------------------- +# `SetMeshOutputCounts` + +## Signature + +``` +void SetMeshOutputCounts( + uint vertexCount, + uint primitiveCount); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `vertexCount` +* `primitiveCount` + +-------------------------------------------------------------------------------- +# `DispatchMesh` + +## Signature + +``` +void DispatchMesh

( + uint threadGroupCountX, + uint threadGroupCountY, + uint threadGroupCountZ, + P meshPayload); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `P` +* `threadGroupCountX` +* `threadGroupCountY` +* `threadGroupCountZ` +* `meshPayload` + +-------------------------------------------------------------------------------- +# `struct SAMPLER_FEEDBACK_MIN_MIP` + +*Implements:* `__BuiltinSamplerFeedbackType` + + +-------------------------------------------------------------------------------- +# `struct SAMPLER_FEEDBACK_MIP_REGION_USED` + +*Implements:* `__BuiltinSamplerFeedbackType` + + +-------------------------------------------------------------------------------- +# `struct FeedbackTexture2D` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2D.GetDimensions` + +## Signature + +``` +void FeedbackTexture2D.GetDimensions( + out uint width, + out uint height); +void FeedbackTexture2D.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint numberOfLevels); +void FeedbackTexture2D.GetDimensions( + out float width, + out float height); +void FeedbackTexture2D.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float numberOfLevels); +``` + +## Target Availability + +``, `HLSL` + +## Parameters + +* `width` +* `height` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2D.WriteSamplerFeedbackLevel` + +## Signature + +``` +void FeedbackTexture2D.WriteSamplerFeedbackLevel( + Texture2D tex, + SamplerState samp, + vector location, + float lod); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `tex` +* `samp` +* `location` +* `lod` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2D.WriteSamplerFeedback` + +## Signature + +``` +void FeedbackTexture2D.WriteSamplerFeedback( + Texture2D tex, + SamplerState samp, + vector location, + float clamp); +void FeedbackTexture2D.WriteSamplerFeedback( + Texture2D tex, + SamplerState samp, + vector location); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `tex` +* `samp` +* `location` +* `clamp` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2D.WriteSamplerFeedbackBias` + +## Signature + +``` +void FeedbackTexture2D.WriteSamplerFeedbackBias( + Texture2D tex, + SamplerState samp, + vector location, + float bias, + float clamp); +void FeedbackTexture2D.WriteSamplerFeedbackBias( + Texture2D tex, + SamplerState samp, + vector location, + float bias); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `tex` +* `samp` +* `location` +* `bias` +* `clamp` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2D.WriteSamplerFeedbackGrad` + +## Signature + +``` +void FeedbackTexture2D.WriteSamplerFeedbackGrad( + Texture2D tex, + SamplerState samp, + vector location, + vector ddx, + vector ddy, + float clamp); +void FeedbackTexture2D.WriteSamplerFeedbackGrad( + Texture2D tex, + SamplerState samp, + vector location, + vector ddx, + vector ddy); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `tex` +* `samp` +* `location` +* `ddx` +* `ddy` +* `clamp` + +-------------------------------------------------------------------------------- +# `struct FeedbackTexture2DArray` + +## Generic Parameters + +* `T` +## Methods + +* `GetDimensions` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2DArray.GetDimensions` + +## Signature + +``` +void FeedbackTexture2DArray.GetDimensions( + out uint width, + out uint height, + out uint elements); +void FeedbackTexture2DArray.GetDimensions( + uint mipLevel, + out uint width, + out uint height, + out uint elements, + out uint numberOfLevels); +void FeedbackTexture2DArray.GetDimensions( + out float width, + out float height, + out float elements); +void FeedbackTexture2DArray.GetDimensions( + uint mipLevel, + out float width, + out float height, + out float elements, + out float numberOfLevels); +``` + +## Target Availability + +``, `HLSL` + +## Parameters + +* `width` +* `height` +* `elements` +* `mipLevel` +* `numberOfLevels` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2DArray.WriteSamplerFeedbackLevel` + +## Signature + +``` +void FeedbackTexture2DArray.WriteSamplerFeedbackLevel( + Texture2DArray texArray, + SamplerState samp, + vector location, + float lod); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `texArray` +* `samp` +* `location` +* `lod` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2DArray.WriteSamplerFeedback` + +## Signature + +``` +void FeedbackTexture2DArray.WriteSamplerFeedback( + Texture2DArray texArray, + SamplerState samp, + vector location, + float clamp); +void FeedbackTexture2DArray.WriteSamplerFeedback( + Texture2DArray texArray, + SamplerState samp, + vector location); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `texArray` +* `samp` +* `location` +* `clamp` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2DArray.WriteSamplerFeedbackBias` + +## Signature + +``` +void FeedbackTexture2DArray.WriteSamplerFeedbackBias( + Texture2DArray texArray, + SamplerState samp, + vector location, + float bias, + float clamp); +void FeedbackTexture2DArray.WriteSamplerFeedbackBias( + Texture2DArray texArray, + SamplerState samp, + vector location, + float bias); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `texArray` +* `samp` +* `location` +* `bias` +* `clamp` + +-------------------------------------------------------------------------------- +# `FeedbackTexture2DArray.WriteSamplerFeedbackGrad` + +## Signature + +``` +void FeedbackTexture2DArray.WriteSamplerFeedbackGrad( + Texture2DArray texArray, + SamplerState samp, + vector location, + vector ddx, + vector ddy, + float clamp); +void FeedbackTexture2DArray.WriteSamplerFeedbackGrad( + Texture2DArray texArray, + SamplerState samp, + vector location, + vector ddx, + vector ddy); +``` + +## Target Availability + +`CPP`, `HLSL` + +## Parameters + +* `S` +* `texArray` +* `samp` +* `location` +* `ddx` +* `ddy` +* `clamp` + +-------------------------------------------------------------------------------- +# `GeometryIndex` + +## Signature + +``` +uint GeometryIndex(); +``` + +## Target Availability + +`GL_EXT_RAY_TRACING`, `HLSL` + + +-------------------------------------------------------------------------------- +# COMMITTED_NOTHING + +``` +uint COMMITTED_NOTHING +``` + + +-------------------------------------------------------------------------------- +# COMMITTED_TRIANGLE_HIT + +``` +uint COMMITTED_TRIANGLE_HIT +``` + + +-------------------------------------------------------------------------------- +# COMMITTED_PROCEDURAL_PRIMITIVE_HIT + +``` +uint COMMITTED_PROCEDURAL_PRIMITIVE_HIT +``` + + +-------------------------------------------------------------------------------- +# CANDIDATE_NON_OPAQUE_TRIANGLE + +``` +uint CANDIDATE_NON_OPAQUE_TRIANGLE +``` + + +-------------------------------------------------------------------------------- +# CANDIDATE_PROCEDURAL_PRIMITIVE + +``` +uint CANDIDATE_PROCEDURAL_PRIMITIVE +``` + + +-------------------------------------------------------------------------------- +# `struct RayQuery` + +## Generic Parameters + +* `rayFlags` +## Methods + +* `init` +* `TraceRayInline` +* `Proceed` +* `Abort` +* `CandidateType` +* `CandidateObjectToWorld3x4` +* `CandidateObjectToWorld4x3` +* `CandidateWorldToObject3x4` +* `CandidateWorldToObject4x3` +* `CandidateInstanceIndex` +* `CandidateInstanceID` +* `CandidateGeometryIndex` +* `CandidatePrimitiveIndex` +* `CandidateInstanceContributionToHitGroupIndex` +* `CandidateObjectRayOrigin` +* `CandidateObjectRayDirection` +* `CandidateProceduralPrimitiveNonOpaque` +* `CandidateTriangleFrontFace` +* `CandidateTriangleBarycentrics` +* `CandidateTriangleRayT` +* `CommitNonOpaqueTriangleHit` +* `CommitProceduralPrimitiveHit` +* `CommittedStatus` +* `CommittedObjectToWorld3x4` +* `CommittedObjectToWorld4x3` +* `CommittedWorldToObject3x4` +* `CommittedWorldToObject4x3` +* `CommittedRayT` +* `CommittedInstanceIndex` +* `CommittedInstanceID` +* `CommittedGeometryIndex` +* `CommittedPrimitiveIndex` +* `CommittedInstanceContributionToHitGroupIndex` +* `CommittedObjectRayOrigin` +* `CommittedObjectRayDirection` +* `CommittedTriangleFrontFace` +* `CommittedTriangleBarycentrics` +* `RayFlags` +* `WorldRayOrigin` +* `WorldRayDirection` +* `RayTMin` + +-------------------------------------------------------------------------------- +# `RayQuery.init` + +## Signature + +``` +RayQuery.init(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.TraceRayInline` + +## Signature + +``` +void RayQuery.TraceRayInline( + RaytracingAccelerationStructure accelerationStructure, + uint rayFlags, + uint instanceInclusionMask, + RayDesc ray); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `accelerationStructure` +* `rayFlags` +* `instanceInclusionMask` +* `ray` + +-------------------------------------------------------------------------------- +# `RayQuery.Proceed` + +## Signature + +``` +bool RayQuery.Proceed(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.Abort` + +## Signature + +``` +void RayQuery.Abort(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateType` + +## Signature + +``` +uint RayQuery.CandidateType(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateObjectToWorld3x4` + +## Signature + +``` +matrix RayQuery.CandidateObjectToWorld3x4(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateObjectToWorld4x3` + +## Signature + +``` +matrix RayQuery.CandidateObjectToWorld4x3(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateWorldToObject3x4` + +## Signature + +``` +matrix RayQuery.CandidateWorldToObject3x4(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateWorldToObject4x3` + +## Signature + +``` +matrix RayQuery.CandidateWorldToObject4x3(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateInstanceIndex` + +## Signature + +``` +uint RayQuery.CandidateInstanceIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateInstanceID` + +## Signature + +``` +uint RayQuery.CandidateInstanceID(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateGeometryIndex` + +## Signature + +``` +uint RayQuery.CandidateGeometryIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidatePrimitiveIndex` + +## Signature + +``` +uint RayQuery.CandidatePrimitiveIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateInstanceContributionToHitGroupIndex` + +## Signature + +``` +uint RayQuery.CandidateInstanceContributionToHitGroupIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateObjectRayOrigin` + +## Signature + +``` +vector RayQuery.CandidateObjectRayOrigin(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateObjectRayDirection` + +## Signature + +``` +vector RayQuery.CandidateObjectRayDirection(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateProceduralPrimitiveNonOpaque` + +## Signature + +``` +bool RayQuery.CandidateProceduralPrimitiveNonOpaque(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateTriangleFrontFace` + +## Signature + +``` +bool RayQuery.CandidateTriangleFrontFace(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateTriangleBarycentrics` + +## Signature + +``` +vector RayQuery.CandidateTriangleBarycentrics(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CandidateTriangleRayT` + +## Signature + +``` +float RayQuery.CandidateTriangleRayT(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommitNonOpaqueTriangleHit` + +## Signature + +``` +void RayQuery.CommitNonOpaqueTriangleHit(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommitProceduralPrimitiveHit` + +## Signature + +``` +void RayQuery.CommitProceduralPrimitiveHit(float t); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + +## Parameters + +* `t` + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedStatus` + +## Signature + +``` +uint RayQuery.CommittedStatus(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedObjectToWorld3x4` + +## Signature + +``` +matrix RayQuery.CommittedObjectToWorld3x4(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedObjectToWorld4x3` + +## Signature + +``` +matrix RayQuery.CommittedObjectToWorld4x3(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedWorldToObject3x4` + +## Signature + +``` +matrix RayQuery.CommittedWorldToObject3x4(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedWorldToObject4x3` + +## Signature + +``` +matrix RayQuery.CommittedWorldToObject4x3(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedRayT` + +## Signature + +``` +float RayQuery.CommittedRayT(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedInstanceIndex` + +## Signature + +``` +uint RayQuery.CommittedInstanceIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedInstanceID` + +## Signature + +``` +uint RayQuery.CommittedInstanceID(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedGeometryIndex` + +## Signature + +``` +uint RayQuery.CommittedGeometryIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedPrimitiveIndex` + +## Signature + +``` +uint RayQuery.CommittedPrimitiveIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedInstanceContributionToHitGroupIndex` + +## Signature + +``` +uint RayQuery.CommittedInstanceContributionToHitGroupIndex(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedObjectRayOrigin` + +## Signature + +``` +vector RayQuery.CommittedObjectRayOrigin(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedObjectRayDirection` + +## Signature + +``` +vector RayQuery.CommittedObjectRayDirection(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedTriangleFrontFace` + +## Signature + +``` +bool RayQuery.CommittedTriangleFrontFace(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.CommittedTriangleBarycentrics` + +## Signature + +``` +vector RayQuery.CommittedTriangleBarycentrics(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.RayFlags` + +## Signature + +``` +uint RayQuery.RayFlags(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.WorldRayOrigin` + +## Signature + +``` +vector RayQuery.WorldRayOrigin(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.WorldRayDirection` + +## Signature + +``` +vector RayQuery.WorldRayDirection(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `RayQuery.RayTMin` + +## Signature + +``` +float RayQuery.RayTMin(); +``` + +## Requirements + +`GLSL GL_EXT_ray_query`, `GLSL460` + +## Target Availability + +`GLSL`, `HLSL` + + +-------------------------------------------------------------------------------- +# `struct VkSubpassInput` + +## Generic Parameters + +* `T` +## Methods + +* `SubpassLoad` + +-------------------------------------------------------------------------------- +# `VkSubpassInput.SubpassLoad` + +## Signature + +``` +T VkSubpassInput.SubpassLoad(); +``` + +## Target Availability + +`HLSL` + + +-------------------------------------------------------------------------------- +# `struct VkSubpassInputMS` + +## Generic Parameters + +* `T` +## Methods + +* `SubpassLoad` + +-------------------------------------------------------------------------------- +# `VkSubpassInputMS.SubpassLoad` + +## Signature + +``` +T VkSubpassInputMS.SubpassLoad(int sampleIndex); +``` + +## Target Availability + +`HLSL` + +## Parameters + +* `sampleIndex` -- cgit v1.2.3