--------------------------------------------------------------------------------
# `__BuiltinArithmeticType.init`

## Signature 

```
__BuiltinArithmeticType.init(int value);
```

## Parameters

* `value`

--------------------------------------------------------------------------------
# `__BuiltinFloatingPointType.init`

## Signature 

```
__BuiltinFloatingPointType.init(float value);
```

## Parameters

* `value`

--------------------------------------------------------------------------------
# `__BuiltinFloatingPointType.getPi`

## Description

Get the value of the mathematical constant pi in this type.

## Signature 

```
__BuiltinFloatingPointType.This __BuiltinFloatingPointType.getPi();
```

--------------------------------------------------------------------------------
# `struct ConstantBuffer<T>`

## Generic Parameters

* `T`

--------------------------------------------------------------------------------
# `struct TextureBuffer<T>`

## Generic Parameters

* `T`

--------------------------------------------------------------------------------
# `struct ParameterBlock<T>`

## 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 Texture1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Texture1D<T>.CalculateLevelOfDetail`

## Signature 

```
float Texture1D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Texture1D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture1D<T>.GetDimensions`

## Signature 

```
void Texture1D<T>.GetDimensions(out uint width);
void Texture1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void Texture1D<T>.GetDimensions(out float width);
void Texture1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture1D<T>.Load`

## Signature 

```
/// See Availability 1
T Texture1D<T>.Load(vector<int,2> location);
/// See Availability 2
T Texture1D<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 3
T Texture1D<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture1D<T>.subscript`

## Signature 

```
T Texture1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Texture1D<T>.Sample`

## Signature 

```
/// See Availability 1
T Texture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location);
/// See Availability 2
T Texture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T Texture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T Texture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Texture1D<T>.SampleBias`

## Signature 

```
T Texture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias);
T Texture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Texture1D<T>.SampleCmp`

## Signature 

```
float Texture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float Texture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Texture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float Texture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Texture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T Texture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T Texture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Texture1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Texture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level);
/// See Availability 2
T Texture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Texture1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Texture1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWTexture1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWTexture1D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWTexture1D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.GetDimensions`

## Signature 

```
void RWTexture1D<T>.GetDimensions(out uint width);
void RWTexture1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void RWTexture1D<T>.GetDimensions(out float width);
void RWTexture1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture1D<T>.Load(vector<int,1> location);
/// See Availability 2
T RWTexture1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset);
/// See Availability 3
T RWTexture1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.subscript`

## Signature 

```
T RWTexture1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location);
/// See Availability 2
T RWTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T RWTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T RWTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.SampleBias`

## Signature 

```
T RWTexture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias);
T RWTexture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.SampleCmp`

## Signature 

```
float RWTexture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float RWTexture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWTexture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float RWTexture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RWTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RWTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWTexture1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWTexture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level);
/// See Availability 2
T RWTexture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWTexture1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWTexture1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTexture1D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTexture1D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture1D<T>.GetDimensions(out uint width);
void RasterizerOrderedTexture1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void RasterizerOrderedTexture1D<T>.GetDimensions(out float width);
void RasterizerOrderedTexture1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1D<T>.Load(vector<int,1> location);
T RasterizerOrderedTexture1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location);
/// See Availability 2
T RasterizerOrderedTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T RasterizerOrderedTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T RasterizerOrderedTexture1D<T>.Sample(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTexture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias);
T RasterizerOrderedTexture1D<T>.SampleBias(
    SamplerState         s,
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTexture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float RasterizerOrderedTexture1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedTexture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedTexture1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RasterizerOrderedTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1D<T>.SampleGrad(
    SamplerState         s,
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedTexture1D<T>.SampleLevel(
    SamplerState         s,
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTexture1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<T,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<float,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<int,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.Gather(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherRed(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherGreen(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherBlue(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location);
vector<uint,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1D.GatherAlpha(
    SamplerState         s,
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Texture1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Texture1DMS<T>.GetDimensions`

## Signature 

```
void Texture1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void Texture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Texture1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void Texture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Texture1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Texture1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Texture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T Texture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T Texture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture1DMS<T>.subscript`

## Signature 

```
T Texture1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWTexture1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWTexture1DMS<T>.GetDimensions`

## Signature 

```
void RWTexture1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void RWTexture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWTexture1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void RWTexture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWTexture1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWTexture1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T RWTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RWTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1DMS<T>.subscript`

## Signature 

```
T RWTexture1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void RasterizerOrderedTexture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTexture1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void RasterizerOrderedTexture1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTexture1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T RasterizerOrderedTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Texture1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float Texture1DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Texture1DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.GetDimensions`

## Signature 

```
void Texture1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void Texture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void Texture1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void Texture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T Texture1DArray<T>.Load(vector<int,3> location);
T Texture1DArray<T>.Load(
    vector<int,3>        location,
    vector<int,1>        offset);
/// See Availability 2
T Texture1DArray<T>.Load(
    vector<int,3>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.subscript`

## Signature 

```
T Texture1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T Texture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T Texture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T Texture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T Texture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.SampleBias`

## Signature 

```
T Texture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T Texture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.SampleCmp`

## Signature 

```
float Texture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float Texture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Texture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float Texture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Texture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T Texture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T Texture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Texture1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Texture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T Texture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Texture1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Texture1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Texture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWTexture1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RWTexture1DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWTexture1DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.GetDimensions`

## Signature 

```
void RWTexture1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void RWTexture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void RWTexture1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void RWTexture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture1DArray<T>.Load(vector<int,2> location);
/// See Availability 2
T RWTexture1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 3
T RWTexture1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.subscript`

## Signature 

```
T RWTexture1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RWTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T RWTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T RWTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T RWTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.SampleBias`

## Signature 

```
T RWTexture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T RWTexture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.SampleCmp`

## Signature 

```
float RWTexture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RWTexture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWTexture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RWTexture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RWTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RWTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWTexture1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWTexture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RWTexture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWTexture1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWTexture1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTexture1DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTexture1DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,1>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void RasterizerOrderedTexture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedTexture1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void RasterizerOrderedTexture1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DArray<T>.Load(vector<int,2> location);
T RasterizerOrderedTexture1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T RasterizerOrderedTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T RasterizerOrderedTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T RasterizerOrderedTexture1DArray<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTexture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T RasterizerOrderedTexture1DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTexture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RasterizerOrderedTexture1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedTexture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedTexture1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RasterizerOrderedTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedTexture1DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTexture1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<T,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<float,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<int,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
vector<uint,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture1DArray.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Texture1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Texture1DMSArray<T>.GetDimensions`

## Signature 

```
void Texture1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void Texture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Texture1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void Texture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Texture1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Texture1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T Texture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T Texture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T Texture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture1DMSArray<T>.subscript`

## Signature 

```
T Texture1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWTexture1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWTexture1DMSArray<T>.GetDimensions`

## Signature 

```
void RWTexture1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void RWTexture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWTexture1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void RWTexture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWTexture1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWTexture1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RWTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RWTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture1DMSArray<T>.subscript`

## Signature 

```
T RWTexture1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedTexture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTexture1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedTexture1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTexture1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RasterizerOrderedTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedTexture1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture1DMSArray<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Texture2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Texture2D<T>.CalculateLevelOfDetail`

## Signature 

```
float Texture2D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Texture2D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture2D<T>.GetDimensions`

## Signature 

```
void Texture2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void Texture2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void Texture2D<T>.GetDimensions(
    out float            width,
    out float            height);
void Texture2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture2D<T>.Load`

## Signature 

```
/// See Availability 1
T Texture2D<T>.Load(vector<int,3> location);
T Texture2D<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 2
T Texture2D<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture2D<T>.subscript`

## Signature 

```
T Texture2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Texture2D<T>.Sample`

## Signature 

```
/// See Availability 1
T Texture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T Texture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T Texture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T Texture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Texture2D<T>.SampleBias`

## Signature 

```
T Texture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T Texture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Texture2D<T>.SampleCmp`

## Signature 

```
float Texture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float Texture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Texture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float Texture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Texture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T Texture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T Texture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Texture2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Texture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T Texture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Texture2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Texture2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWTexture2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWTexture2D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWTexture2D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.GetDimensions`

## Signature 

```
void RWTexture2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RWTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RWTexture2D<T>.GetDimensions(
    out float            width,
    out float            height);
void RWTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture2D<T>.Load(vector<int,2> location);
/// See Availability 2
T RWTexture2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset);
/// See Availability 3
T RWTexture2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.subscript`

## Signature 

```
T RWTexture2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T RWTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T RWTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T RWTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.SampleBias`

## Signature 

```
T RWTexture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T RWTexture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.SampleCmp`

## Signature 

```
float RWTexture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RWTexture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWTexture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RWTexture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RWTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RWTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWTexture2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWTexture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RWTexture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWTexture2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWTexture2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTexture2D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTexture2D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RasterizerOrderedTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RasterizerOrderedTexture2D<T>.GetDimensions(
    out float            width,
    out float            height);
void RasterizerOrderedTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2D<T>.Load(vector<int,2> location);
T RasterizerOrderedTexture2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
T RasterizerOrderedTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T RasterizerOrderedTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T RasterizerOrderedTexture2D<T>.Sample(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTexture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias);
T RasterizerOrderedTexture2D<T>.SampleBias(
    SamplerState         s,
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTexture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RasterizerOrderedTexture2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedTexture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedTexture2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RasterizerOrderedTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2D<T>.SampleGrad(
    SamplerState         s,
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedTexture2D<T>.SampleLevel(
    SamplerState         s,
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTexture2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.Gather(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherRed(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherGreen(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherBlue(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2D.GatherAlpha(
    SamplerState         s,
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Texture2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Texture2DMS<T>.GetDimensions`

## Signature 

```
void Texture2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void Texture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Texture2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void Texture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Texture2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Texture2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Texture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T Texture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T Texture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture2DMS<T>.subscript`

## Signature 

```
T Texture2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWTexture2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWTexture2DMS<T>.GetDimensions`

## Signature 

```
void RWTexture2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RWTexture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWTexture2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RWTexture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWTexture2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWTexture2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RWTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RWTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2DMS<T>.subscript`

## Signature 

```
T RWTexture2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RasterizerOrderedTexture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTexture2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RasterizerOrderedTexture2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTexture2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RasterizerOrderedTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Texture2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float Texture2DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Texture2DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.GetDimensions`

## Signature 

```
void Texture2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void Texture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void Texture2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void Texture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T Texture2DArray<T>.Load(vector<int,4> location);
T Texture2DArray<T>.Load(
    vector<int,4>        location,
    vector<int,2>        offset);
/// See Availability 2
T Texture2DArray<T>.Load(
    vector<int,4>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.subscript`

## Signature 

```
T Texture2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T Texture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T Texture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T Texture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T Texture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.SampleBias`

## Signature 

```
T Texture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T Texture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.SampleCmp`

## Signature 

```
float Texture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float Texture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Texture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float Texture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Texture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T Texture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T Texture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Texture2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Texture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T Texture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Texture2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Texture2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Texture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWTexture2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RWTexture2DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWTexture2DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.GetDimensions`

## Signature 

```
void RWTexture2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RWTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RWTexture2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RWTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture2DArray<T>.Load(vector<int,3> location);
/// See Availability 2
T RWTexture2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 3
T RWTexture2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.subscript`

## Signature 

```
T RWTexture2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RWTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T RWTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T RWTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T RWTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.SampleBias`

## Signature 

```
T RWTexture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T RWTexture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.SampleCmp`

## Signature 

```
float RWTexture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RWTexture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWTexture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RWTexture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RWTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RWTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWTexture2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWTexture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RWTexture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWTexture2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWTexture2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTexture2DArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTexture2DArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,2>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RasterizerOrderedTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedTexture2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RasterizerOrderedTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DArray<T>.Load(vector<int,3> location);
T RasterizerOrderedTexture2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T RasterizerOrderedTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T RasterizerOrderedTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T RasterizerOrderedTexture2DArray<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTexture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T RasterizerOrderedTexture2DArray<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTexture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RasterizerOrderedTexture2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedTexture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedTexture2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RasterizerOrderedTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2DArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedTexture2DArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTexture2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<float,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<int,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
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 Availability 1
vector<uint,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedTexture2DArray.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Texture2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Texture2DMSArray<T>.GetDimensions`

## Signature 

```
void Texture2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void Texture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Texture2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void Texture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Texture2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Texture2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T Texture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T Texture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T Texture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture2DMSArray<T>.subscript`

## Signature 

```
T Texture2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWTexture2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWTexture2DMSArray<T>.GetDimensions`

## Signature 

```
void RWTexture2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RWTexture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWTexture2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RWTexture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWTexture2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWTexture2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RWTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RWTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture2DMSArray<T>.subscript`

## Signature 

```
T RWTexture2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedTexture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTexture2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedTexture2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTexture2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedTexture2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture2DMSArray<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Texture3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Texture3D<T>.CalculateLevelOfDetail`

## Signature 

```
float Texture3D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Texture3D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `Texture3D<T>.GetDimensions`

## Signature 

```
void Texture3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void Texture3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void Texture3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void Texture3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture3D<T>.Load`

## Signature 

```
/// See Availability 1
T Texture3D<T>.Load(vector<int,4> location);
T Texture3D<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset);
/// See Availability 2
T Texture3D<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture3D<T>.subscript`

## Signature 

```
T Texture3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Texture3D<T>.Sample`

## Signature 

```
/// See Availability 1
T Texture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T Texture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T Texture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T Texture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Texture3D<T>.SampleBias`

## Signature 

```
T Texture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T Texture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Texture3D<T>.SampleCmp`

## Signature 

```
float Texture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float Texture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Texture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float Texture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Texture3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Texture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T Texture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T Texture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Texture3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Texture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T Texture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Texture3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Texture3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Texture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Texture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Texture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Texture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Texture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Texture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWTexture3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWTexture3D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWTexture3D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.GetDimensions`

## Signature 

```
void RWTexture3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void RWTexture3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void RWTexture3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void RWTexture3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture3D<T>.Load(vector<int,3> location);
/// See Availability 2
T RWTexture3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 3
T RWTexture3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.subscript`

## Signature 

```
T RWTexture3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T RWTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T RWTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T RWTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.SampleBias`

## Signature 

```
T RWTexture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T RWTexture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.SampleCmp`

## Signature 

```
float RWTexture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RWTexture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWTexture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RWTexture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T RWTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T RWTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWTexture3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWTexture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RWTexture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWTexture3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWTexture3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTexture3D<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTexture3D<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void RasterizerOrderedTexture3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void RasterizerOrderedTexture3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void RasterizerOrderedTexture3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture3D<T>.Load(vector<int,3> location);
T RasterizerOrderedTexture3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedTexture3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T RasterizerOrderedTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T RasterizerOrderedTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T RasterizerOrderedTexture3D<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTexture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
T RasterizerOrderedTexture3D<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTexture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RasterizerOrderedTexture3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedTexture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedTexture3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T RasterizerOrderedTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedTexture3D<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedTexture3D<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTexture3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTexture3D.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Texture3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Texture3DMS<T>.GetDimensions`

## Signature 

```
void Texture3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void Texture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Texture3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void Texture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Texture3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Texture3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Texture3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Texture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T Texture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T Texture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Texture3DMS<T>.subscript`

## Signature 

```
T Texture3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWTexture3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWTexture3DMS<T>.GetDimensions`

## Signature 

```
void RWTexture3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void RWTexture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWTexture3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void RWTexture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWTexture3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWTexture3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWTexture3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RWTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RWTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWTexture3DMS<T>.subscript`

## Signature 

```
T RWTexture3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTexture3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTexture3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void RasterizerOrderedTexture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTexture3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void RasterizerOrderedTexture3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTexture3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedTexture3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTexture3DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedTexture3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct TextureCube<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `TextureCube<T>.CalculateLevelOfDetail`

## Signature 

```
float TextureCube<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `TextureCube<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float TextureCube<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `TextureCube<T>.GetDimensions`

## Signature 

```
void TextureCube<T>.GetDimensions(
    out uint             width,
    out uint             height);
void TextureCube<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void TextureCube<T>.GetDimensions(
    out float            width,
    out float            height);
void TextureCube<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `TextureCube<T>.Load`

## Signature 

```
/// See Availability 1
T TextureCube<T>.Load(vector<int,4> location);
T TextureCube<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset);
/// See Availability 2
T TextureCube<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `TextureCube<T>.Sample`

## Signature 

```
/// See Availability 1
T TextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T TextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    float                clamp);
T TextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `TextureCube<T>.SampleBias`

## Signature 

```
T TextureCube<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`

--------------------------------------------------------------------------------
# `TextureCube<T>.SampleCmp`

## Signature 

```
float TextureCube<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `TextureCube<T>.SampleCmpLevelZero`

## Signature 

```
float TextureCube<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `TextureCube<T>.SampleGrad`

## Signature 

```
T TextureCube<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `TextureCube<T>.SampleLevel`

## Signature 

```
T TextureCube<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `s`
* `location`
* `level`

--------------------------------------------------------------------------------
# `extension TextureCube`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `TextureCube.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTextureCube<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTextureCube<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTextureCube<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTextureCube<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RasterizerOrderedTextureCube<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RasterizerOrderedTextureCube<T>.GetDimensions(
    out float            width,
    out float            height);
void RasterizerOrderedTextureCube<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTextureCube<T>.Load(vector<int,3> location);
T RasterizerOrderedTextureCube<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedTextureCube<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location);
/// See Availability 2
T RasterizerOrderedTextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    float                clamp);
T RasterizerOrderedTextureCube<T>.Sample(
    SamplerState         s,
    vector<float,3>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTextureCube<T>.SampleBias(
    SamplerState         s,
    vector<float,3>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedTextureCube<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.SampleCmpLevelZero`

## Signature 

```
float RasterizerOrderedTextureCube<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.SampleGrad`

## Signature 

```
T RasterizerOrderedTextureCube<T>.SampleGrad(
    SamplerState         s,
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube<T>.SampleLevel`

## Signature 

```
T RasterizerOrderedTextureCube<T>.SampleLevel(
    SamplerState         s,
    vector<float,3>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `s`
* `location`
* `level`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTextureCube`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<T,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<float,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<int,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.Gather(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherRed(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherGreen(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherBlue(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location);
vector<uint,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCube.GatherAlpha(
    SamplerState         s,
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct TextureCubeMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`

--------------------------------------------------------------------------------
# `TextureCubeMS<T>.GetDimensions`

## Signature 

```
void TextureCubeMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void TextureCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void TextureCubeMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void TextureCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `TextureCubeMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> TextureCubeMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `TextureCubeMS<T>.Load`

## Signature 

```
/// See Availability 1
T TextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T TextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T TextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTextureCubeMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTextureCubeMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RasterizerOrderedTextureCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTextureCubeMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RasterizerOrderedTextureCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTextureCubeMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedTextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedTextureCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `struct TextureCubeArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Sample`
* `SampleBias`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.CalculateLevelOfDetail`

## Signature 

```
float TextureCubeArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float TextureCubeArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.GetDimensions`

## Signature 

```
void TextureCubeArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void TextureCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void TextureCubeArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void TextureCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.Sample`

## Signature 

```
/// See Availability 1
T TextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location);
/// See Availability 2
T TextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location,
    float                clamp);
T TextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.SampleBias`

## Signature 

```
T TextureCubeArray<T>.SampleBias(
    SamplerState         s,
    vector<float,4>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.SampleGrad`

## Signature 

```
T TextureCubeArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,4>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `TextureCubeArray<T>.SampleLevel`

## Signature 

```
T TextureCubeArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,4>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `s`
* `location`
* `level`

--------------------------------------------------------------------------------
# `extension TextureCubeArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `TextureCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `TextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> TextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTextureCubeArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Sample`
* `SampleBias`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedTextureCubeArray<T>.CalculateLevelOfDetail(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedTextureCubeArray<T>.CalculateLevelOfDetailUnclamped(
    SamplerState         s,
    vector<float,3>      location);
```

## Parameters

* `s`
* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTextureCubeArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RasterizerOrderedTextureCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedTextureCubeArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RasterizerOrderedTextureCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedTextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location);
/// See Availability 2
T RasterizerOrderedTextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location,
    float                clamp);
T RasterizerOrderedTextureCubeArray<T>.Sample(
    SamplerState         s,
    vector<float,4>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedTextureCubeArray<T>.SampleBias(
    SamplerState         s,
    vector<float,4>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `bias`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.SampleGrad`

## Signature 

```
T RasterizerOrderedTextureCubeArray<T>.SampleGrad(
    SamplerState         s,
    vector<float,4>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray<T>.SampleLevel`

## Signature 

```
T RasterizerOrderedTextureCubeArray<T>.SampleLevel(
    SamplerState         s,
    vector<float,4>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `s`
* `location`
* `level`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedTextureCubeArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<T,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<float,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<int,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## 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 Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.Gather(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherRed(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherGreen(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherBlue(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location);
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedTextureCubeArray.GatherAlpha(
    SamplerState         s,
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct TextureCubeMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`

--------------------------------------------------------------------------------
# `TextureCubeMSArray<T>.GetDimensions`

## Signature 

```
void TextureCubeMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void TextureCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void TextureCubeMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void TextureCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `TextureCubeMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> TextureCubeMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedTextureCubeMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedTextureCubeMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedTextureCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedTextureCubeMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedTextureCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedTextureCubeMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedTextureCubeMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `struct Sampler1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Sampler1D<T>.CalculateLevelOfDetail`

## Signature 

```
float Sampler1D<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Sampler1D<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1D<T>.GetDimensions`

## Signature 

```
void Sampler1D<T>.GetDimensions(out uint width);
void Sampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void Sampler1D<T>.GetDimensions(out float width);
void Sampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler1D<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler1D<T>.Load(vector<int,2> location);
/// See Availability 2
T Sampler1D<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 3
T Sampler1D<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler1D<T>.subscript`

## Signature 

```
T Sampler1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1D<T>.Sample`

## Signature 

```
/// See Availability 1
T Sampler1D<T>.Sample(vector<float,1> location);
/// See Availability 2
T Sampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T Sampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T Sampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Sampler1D<T>.SampleBias`

## Signature 

```
T Sampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias);
T Sampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1D<T>.SampleCmp`

## Signature 

```
float Sampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float Sampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Sampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float Sampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Sampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T Sampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T Sampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Sampler1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Sampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level);
/// See Availability 2
T Sampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Sampler1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1D.Gather(vector<float,1> location);
vector<T,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1D.GatherRed(vector<float,1> location);
vector<T,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1D.GatherGreen(vector<float,1> location);
vector<T,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1D.GatherBlue(vector<float,1> location);
vector<T,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1D.GatherAlpha(vector<float,1> location);
vector<T,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1D.Gather(vector<float,1> location);
vector<float,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1D.GatherRed(vector<float,1> location);
vector<float,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1D.GatherGreen(vector<float,1> location);
vector<float,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1D.GatherBlue(vector<float,1> location);
vector<float,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1D.GatherAlpha(vector<float,1> location);
vector<float,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1D.Gather(vector<float,1> location);
vector<int,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1D.GatherRed(vector<float,1> location);
vector<int,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1D.GatherGreen(vector<float,1> location);
vector<int,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1D.GatherBlue(vector<float,1> location);
vector<int,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1D.GatherAlpha(vector<float,1> location);
vector<int,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1D.Gather(vector<float,1> location);
vector<uint,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1D.GatherRed(vector<float,1> location);
vector<uint,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1D.GatherGreen(vector<float,1> location);
vector<uint,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1D.GatherBlue(vector<float,1> location);
vector<uint,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1D.GatherAlpha(vector<float,1> location);
vector<uint,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWSampler1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWSampler1D<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWSampler1D<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.GetDimensions`

## Signature 

```
void RWSampler1D<T>.GetDimensions(out uint width);
void RWSampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void RWSampler1D<T>.GetDimensions(out float width);
void RWSampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler1D<T>.Load(vector<int,1> location);
/// See Availability 2
T RWSampler1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset);
/// See Availability 3
T RWSampler1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.subscript`

## Signature 

```
T RWSampler1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWSampler1D<T>.Sample(vector<float,1> location);
/// See Availability 2
T RWSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T RWSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T RWSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.SampleBias`

## Signature 

```
T RWSampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias);
T RWSampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.SampleCmp`

## Signature 

```
float RWSampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float RWSampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWSampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float RWSampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RWSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RWSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWSampler1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWSampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level);
/// See Availability 2
T RWSampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWSampler1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1D.Gather(vector<float,1> location);
vector<T,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1D.GatherRed(vector<float,1> location);
vector<T,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1D.GatherGreen(vector<float,1> location);
vector<T,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1D.GatherBlue(vector<float,1> location);
vector<T,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1D.GatherAlpha(vector<float,1> location);
vector<T,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1D.Gather(vector<float,1> location);
vector<float,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1D.GatherRed(vector<float,1> location);
vector<float,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1D.GatherGreen(vector<float,1> location);
vector<float,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1D.GatherBlue(vector<float,1> location);
vector<float,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1D.GatherAlpha(vector<float,1> location);
vector<float,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1D.Gather(vector<float,1> location);
vector<int,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1D.GatherRed(vector<float,1> location);
vector<int,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1D.GatherGreen(vector<float,1> location);
vector<int,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1D.GatherBlue(vector<float,1> location);
vector<int,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1D.GatherAlpha(vector<float,1> location);
vector<int,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1D.Gather(vector<float,1> location);
vector<uint,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1D.GatherRed(vector<float,1> location);
vector<uint,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1D.GatherGreen(vector<float,1> location);
vector<uint,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1D.GatherBlue(vector<float,1> location);
vector<uint,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1D.GatherAlpha(vector<float,1> location);
vector<uint,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler1D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSampler1D<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSampler1D<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler1D<T>.GetDimensions(out uint width);
void RasterizerOrderedSampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             numberOfLevels);
void RasterizerOrderedSampler1D<T>.GetDimensions(out float width);
void RasterizerOrderedSampler1D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1D<T>.Load(vector<int,1> location);
T RasterizerOrderedSampler1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1D<T>.Load(
    vector<int,1>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler1D<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1D<T>.Sample(vector<float,1> location);
/// See Availability 2
T RasterizerOrderedSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 3
T RasterizerOrderedSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp);
T RasterizerOrderedSampler1D<T>.Sample(
    vector<float,1>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias);
T RasterizerOrderedSampler1D<T>.SampleBias(
    vector<float,1>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
float RasterizerOrderedSampler1D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedSampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedSampler1D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,1>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RasterizerOrderedSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1D<T>.SampleGrad(
    vector<float,1>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedSampler1D<T>.SampleLevel(
    vector<float,1>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.Gather(vector<float,1> location);
vector<T,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherRed(vector<float,1> location);
vector<T,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherGreen(vector<float,1> location);
vector<T,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherBlue(vector<float,1> location);
vector<T,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherAlpha(vector<float,1> location);
vector<T,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.Gather(vector<float,1> location);
vector<float,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherRed(vector<float,1> location);
vector<float,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherGreen(vector<float,1> location);
vector<float,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherBlue(vector<float,1> location);
vector<float,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherAlpha(vector<float,1> location);
vector<float,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.Gather(vector<float,1> location);
vector<int,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherRed(vector<float,1> location);
vector<int,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherGreen(vector<float,1> location);
vector<int,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherBlue(vector<float,1> location);
vector<int,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherAlpha(vector<float,1> location);
vector<int,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.Gather(vector<float,1> location);
vector<uint,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.Gather(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherRed(vector<float,1> location);
vector<uint,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherRed(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherGreen(vector<float,1> location);
vector<uint,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherGreen(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherBlue(vector<float,1> location);
vector<uint,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherBlue(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherAlpha(vector<float,1> location);
vector<uint,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1D.GatherAlpha(
    vector<float,1>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Sampler1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Sampler1DMS<T>.GetDimensions`

## Signature 

```
void Sampler1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void Sampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Sampler1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void Sampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Sampler1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Sampler1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T Sampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T Sampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler1DMS<T>.subscript`

## Signature 

```
T Sampler1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWSampler1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWSampler1DMS<T>.GetDimensions`

## Signature 

```
void RWSampler1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void RWSampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWSampler1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void RWSampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWSampler1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWSampler1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T RWSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RWSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1DMS<T>.subscript`

## Signature 

```
T RWSampler1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler1DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler1DMS<T>.GetDimensions(
    out uint             width,
    out uint             sampleCount);
void RasterizerOrderedSampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSampler1DMS<T>.GetDimensions(
    out float            width,
    out float            sampleCount);
void RasterizerOrderedSampler1DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSampler1DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex);
T RasterizerOrderedSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1DMS<T>.Load(
    vector<int,1>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler1DMS<T>.subscript(uint location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Sampler1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float Sampler1DArray<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Sampler1DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.GetDimensions`

## Signature 

```
void Sampler1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void Sampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void Sampler1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void Sampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler1DArray<T>.Load(vector<int,3> location);
T Sampler1DArray<T>.Load(
    vector<int,3>        location,
    vector<int,1>        offset);
/// See Availability 2
T Sampler1DArray<T>.Load(
    vector<int,3>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.subscript`

## Signature 

```
T Sampler1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T Sampler1DArray<T>.Sample(vector<float,2> location);
/// See Availability 2
T Sampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T Sampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T Sampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.SampleBias`

## Signature 

```
T Sampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T Sampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.SampleCmp`

## Signature 

```
float Sampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float Sampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Sampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float Sampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Sampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T Sampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T Sampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Sampler1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Sampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T Sampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Sampler1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1DArray.Gather(vector<float,2> location);
vector<T,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1DArray.GatherRed(vector<float,2> location);
vector<T,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1DArray.GatherGreen(vector<float,2> location);
vector<T,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1DArray.GatherBlue(vector<float,2> location);
vector<T,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler1DArray.GatherAlpha(vector<float,2> location);
vector<T,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1DArray.Gather(vector<float,2> location);
vector<float,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1DArray.GatherRed(vector<float,2> location);
vector<float,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1DArray.GatherGreen(vector<float,2> location);
vector<float,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1DArray.GatherBlue(vector<float,2> location);
vector<float,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler1DArray.GatherAlpha(vector<float,2> location);
vector<float,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1DArray.Gather(vector<float,2> location);
vector<int,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1DArray.GatherRed(vector<float,2> location);
vector<int,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1DArray.GatherGreen(vector<float,2> location);
vector<int,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1DArray.GatherBlue(vector<float,2> location);
vector<int,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler1DArray.GatherAlpha(vector<float,2> location);
vector<int,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1DArray.Gather(vector<float,2> location);
vector<uint,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherRed(vector<float,2> location);
vector<uint,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherGreen(vector<float,2> location);
vector<uint,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherBlue(vector<float,2> location);
vector<uint,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherAlpha(vector<float,2> location);
vector<uint,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> Sampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWSampler1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RWSampler1DArray<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWSampler1DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.GetDimensions`

## Signature 

```
void RWSampler1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void RWSampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void RWSampler1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void RWSampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler1DArray<T>.Load(vector<int,2> location);
/// See Availability 2
T RWSampler1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 3
T RWSampler1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.subscript`

## Signature 

```
T RWSampler1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RWSampler1DArray<T>.Sample(vector<float,2> location);
/// See Availability 2
T RWSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T RWSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T RWSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.SampleBias`

## Signature 

```
T RWSampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T RWSampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.SampleCmp`

## Signature 

```
float RWSampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RWSampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWSampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RWSampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RWSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RWSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWSampler1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWSampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RWSampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWSampler1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1DArray.Gather(vector<float,2> location);
vector<T,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherRed(vector<float,2> location);
vector<T,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherGreen(vector<float,2> location);
vector<T,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherBlue(vector<float,2> location);
vector<T,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherAlpha(vector<float,2> location);
vector<T,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1DArray.Gather(vector<float,2> location);
vector<float,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherRed(vector<float,2> location);
vector<float,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherGreen(vector<float,2> location);
vector<float,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherBlue(vector<float,2> location);
vector<float,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherAlpha(vector<float,2> location);
vector<float,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1DArray.Gather(vector<float,2> location);
vector<int,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherRed(vector<float,2> location);
vector<int,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherGreen(vector<float,2> location);
vector<int,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherBlue(vector<float,2> location);
vector<int,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherAlpha(vector<float,2> location);
vector<int,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1DArray.Gather(vector<float,2> location);
vector<uint,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherRed(vector<float,2> location);
vector<uint,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherGreen(vector<float,2> location);
vector<uint,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherBlue(vector<float,2> location);
vector<uint,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherAlpha(vector<float,2> location);
vector<uint,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RWSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler1DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSampler1DArray<T>.CalculateLevelOfDetail(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSampler1DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,1> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler1DArray<T>.GetDimensions(
    out uint             width,
    out uint             elements);
void RasterizerOrderedSampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedSampler1DArray<T>.GetDimensions(
    out float            width,
    out float            elements);
void RasterizerOrderedSampler1DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DArray<T>.Load(vector<int,2> location);
T RasterizerOrderedSampler1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1DArray<T>.Load(
    vector<int,2>        location,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler1DArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DArray<T>.Sample(vector<float,2> location);
/// See Availability 2
T RasterizerOrderedSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 3
T RasterizerOrderedSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp);
T RasterizerOrderedSampler1DArray<T>.Sample(
    vector<float,2>      location,
    vector<int,1>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T RasterizerOrderedSampler1DArray<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RasterizerOrderedSampler1DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedSampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedSampler1DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY);
T RasterizerOrderedSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1DArray<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,1>      gradX,
    vector<float,1>      gradY,
    vector<int,1>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedSampler1DArray<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,1>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.Gather(vector<float,2> location);
vector<T,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherRed(vector<float,2> location);
vector<T,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherGreen(vector<float,2> location);
vector<T,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherBlue(vector<float,2> location);
vector<T,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherAlpha(vector<float,2> location);
vector<T,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.Gather(vector<float,2> location);
vector<float,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherRed(vector<float,2> location);
vector<float,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherGreen(vector<float,2> location);
vector<float,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherBlue(vector<float,2> location);
vector<float,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherAlpha(vector<float,2> location);
vector<float,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.Gather(vector<float,2> location);
vector<int,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherRed(vector<float,2> location);
vector<int,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherGreen(vector<float,2> location);
vector<int,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherBlue(vector<float,2> location);
vector<int,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherAlpha(vector<float,2> location);
vector<int,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler1DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.Gather(vector<float,2> location);
vector<uint,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.Gather(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherRed(vector<float,2> location);
vector<uint,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherRed(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherGreen(vector<float,2> location);
vector<uint,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherGreen(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherBlue(vector<float,2> location);
vector<uint,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherBlue(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherAlpha(vector<float,2> location);
vector<uint,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler1DArray.GatherAlpha(
    vector<float,2>      location,
    vector<int,1>        offset1,
    vector<int,1>        offset2,
    vector<int,1>        offset3,
    vector<int,1>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Sampler1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Sampler1DMSArray<T>.GetDimensions`

## Signature 

```
void Sampler1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void Sampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Sampler1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void Sampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Sampler1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Sampler1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T Sampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T Sampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler1DMSArray<T>.subscript`

## Signature 

```
T Sampler1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWSampler1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWSampler1DMSArray<T>.GetDimensions`

## Signature 

```
void RWSampler1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void RWSampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWSampler1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void RWSampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWSampler1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWSampler1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RWSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RWSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler1DMSArray<T>.subscript`

## Signature 

```
T RWSampler1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler1DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler1DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedSampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSampler1DMSArray<T>.GetDimensions(
    out float            width,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedSampler1DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSampler1DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RasterizerOrderedSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset);
/// See Availability 2
T RasterizerOrderedSampler1DMSArray<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,1>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler1DMSArray<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler1DMSArray<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Sampler2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Sampler2D<T>.CalculateLevelOfDetail`

## Signature 

```
float Sampler2D<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Sampler2D<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2D<T>.GetDimensions`

## Signature 

```
void Sampler2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void Sampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void Sampler2D<T>.GetDimensions(
    out float            width,
    out float            height);
void Sampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler2D<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler2D<T>.Load(vector<int,3> location);
T Sampler2D<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2D<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler2D<T>.subscript`

## Signature 

```
T Sampler2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2D<T>.Sample`

## Signature 

```
/// See Availability 1
T Sampler2D<T>.Sample(vector<float,2> location);
/// See Availability 2
T Sampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T Sampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T Sampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Sampler2D<T>.SampleBias`

## Signature 

```
T Sampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T Sampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2D<T>.SampleCmp`

## Signature 

```
float Sampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float Sampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Sampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float Sampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Sampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T Sampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Sampler2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Sampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T Sampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Sampler2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<T,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<T,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<T,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<T,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<T,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<float,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<float,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<float,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<float,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<float,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<int,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<int,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<int,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<int,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<int,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<uint,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<uint,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<uint,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<uint,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<uint,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWSampler2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWSampler2D<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWSampler2D<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.GetDimensions`

## Signature 

```
void RWSampler2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RWSampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RWSampler2D<T>.GetDimensions(
    out float            width,
    out float            height);
void RWSampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler2D<T>.Load(vector<int,2> location);
/// See Availability 2
T RWSampler2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset);
/// See Availability 3
T RWSampler2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.subscript`

## Signature 

```
T RWSampler2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWSampler2D<T>.Sample(vector<float,2> location);
/// See Availability 2
T RWSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T RWSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T RWSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.SampleBias`

## Signature 

```
T RWSampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T RWSampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.SampleCmp`

## Signature 

```
float RWSampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RWSampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWSampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RWSampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RWSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RWSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWSampler2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWSampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RWSampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWSampler2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<T,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<T,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<T,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<T,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<T,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<float,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<float,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<float,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<float,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<float,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<int,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<int,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<int,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<int,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<int,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<uint,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler2D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSampler2D<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSampler2D<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RasterizerOrderedSampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RasterizerOrderedSampler2D<T>.GetDimensions(
    out float            width,
    out float            height);
void RasterizerOrderedSampler2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2D<T>.Load(vector<int,2> location);
T RasterizerOrderedSampler2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2D<T>.Load(
    vector<int,2>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler2D<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2D<T>.Sample(vector<float,2> location);
/// See Availability 2
T RasterizerOrderedSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
T RasterizerOrderedSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp);
T RasterizerOrderedSampler2D<T>.Sample(
    vector<float,2>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias);
T RasterizerOrderedSampler2D<T>.SampleBias(
    vector<float,2>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
float RasterizerOrderedSampler2D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedSampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedSampler2D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,2>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RasterizerOrderedSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2D<T>.SampleGrad(
    vector<float,2>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedSampler2D<T>.SampleLevel(
    vector<float,2>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2D.Gather(vector<float,2> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.Gather(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2D.GatherRed(vector<float,2> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherRed(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2D.GatherGreen(vector<float,2> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherGreen(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2D.GatherBlue(vector<float,2> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherBlue(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2D.GatherAlpha(vector<float,2> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2D.GatherAlpha(
    vector<float,2>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Sampler2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Sampler2DMS<T>.GetDimensions`

## Signature 

```
void Sampler2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void Sampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Sampler2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void Sampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Sampler2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Sampler2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T Sampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler2DMS<T>.subscript`

## Signature 

```
T Sampler2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWSampler2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWSampler2DMS<T>.GetDimensions`

## Signature 

```
void RWSampler2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RWSampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWSampler2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RWSampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWSampler2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWSampler2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RWSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RWSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2DMS<T>.subscript`

## Signature 

```
T RWSampler2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler2DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler2DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RasterizerOrderedSampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSampler2DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RasterizerOrderedSampler2DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSampler2DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex);
T RasterizerOrderedSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2DMS<T>.Load(
    vector<int,2>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler2DMS<T>.subscript(vector<uint,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Sampler2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float Sampler2DArray<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Sampler2DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.GetDimensions`

## Signature 

```
void Sampler2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void Sampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void Sampler2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void Sampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler2DArray<T>.Load(vector<int,4> location);
T Sampler2DArray<T>.Load(
    vector<int,4>        location,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2DArray<T>.Load(
    vector<int,4>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.subscript`

## Signature 

```
T Sampler2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T Sampler2DArray<T>.Sample(vector<float,3> location);
/// See Availability 2
T Sampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T Sampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T Sampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.SampleBias`

## Signature 

```
T Sampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T Sampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.SampleCmp`

## Signature 

```
float Sampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float Sampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Sampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float Sampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Sampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T Sampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Sampler2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Sampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T Sampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Sampler2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<T,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<float,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<int,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<uint,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> Sampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWSampler2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RWSampler2DArray<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWSampler2DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.GetDimensions`

## Signature 

```
void RWSampler2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RWSampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RWSampler2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RWSampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler2DArray<T>.Load(vector<int,3> location);
/// See Availability 2
T RWSampler2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 3
T RWSampler2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.subscript`

## Signature 

```
T RWSampler2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RWSampler2DArray<T>.Sample(vector<float,3> location);
/// See Availability 2
T RWSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T RWSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T RWSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.SampleBias`

## Signature 

```
T RWSampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T RWSampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.SampleCmp`

## Signature 

```
float RWSampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RWSampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWSampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RWSampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RWSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RWSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWSampler2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWSampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RWSampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWSampler2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<T,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<float,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<int,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<uint,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RWSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSampler2DArray<T>.CalculateLevelOfDetail(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSampler2DArray<T>.CalculateLevelOfDetailUnclamped(vector<float,2> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RasterizerOrderedSampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedSampler2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RasterizerOrderedSampler2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DArray<T>.Load(vector<int,3> location);
T RasterizerOrderedSampler2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2DArray<T>.Load(
    vector<int,3>        location,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler2DArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DArray<T>.Sample(vector<float,3> location);
/// See Availability 2
T RasterizerOrderedSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
T RasterizerOrderedSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp);
T RasterizerOrderedSampler2DArray<T>.Sample(
    vector<float,3>      location,
    vector<int,2>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T RasterizerOrderedSampler2DArray<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RasterizerOrderedSampler2DArray<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedSampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedSampler2DArray<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY);
T RasterizerOrderedSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2DArray<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,2>      gradX,
    vector<float,2>      gradY,
    vector<int,2>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedSampler2DArray<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2DArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<T,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<float,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<int,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler2DArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2DArray.Gather(vector<float,3> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.Gather(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2DArray.GatherRed(vector<float,3> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherRed(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2DArray.GatherGreen(vector<float,3> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherGreen(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2DArray.GatherBlue(vector<float,3> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherBlue(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler2DArray.GatherAlpha(vector<float,3> location);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset,
    out uint             status);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4);
/// See Availability 3
vector<uint,4> RasterizerOrderedSampler2DArray.GatherAlpha(
    vector<float,3>      location,
    vector<int,2>        offset1,
    vector<int,2>        offset2,
    vector<int,2>        offset3,
    vector<int,2>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Sampler2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Sampler2DMSArray<T>.GetDimensions`

## Signature 

```
void Sampler2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void Sampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Sampler2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void Sampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Sampler2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Sampler2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T Sampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T Sampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler2DMSArray<T>.subscript`

## Signature 

```
T Sampler2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWSampler2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWSampler2DMSArray<T>.GetDimensions`

## Signature 

```
void RWSampler2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RWSampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWSampler2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RWSampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWSampler2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWSampler2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RWSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RWSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler2DMSArray<T>.subscript`

## Signature 

```
T RWSampler2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler2DMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler2DMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedSampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSampler2DMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedSampler2DMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSampler2DMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMSArray<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset);
/// See Availability 2
T RasterizerOrderedSampler2DMSArray<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,2>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler2DMSArray<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler2DMSArray<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct Sampler3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `Sampler3D<T>.CalculateLevelOfDetail`

## Signature 

```
float Sampler3D<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float Sampler3D<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler3D<T>.GetDimensions`

## Signature 

```
void Sampler3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void Sampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void Sampler3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void Sampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler3D<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler3D<T>.Load(vector<int,4> location);
T Sampler3D<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset);
/// See Availability 2
T Sampler3D<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler3D<T>.subscript`

## Signature 

```
T Sampler3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `Sampler3D<T>.Sample`

## Signature 

```
/// See Availability 1
T Sampler3D<T>.Sample(vector<float,3> location);
/// See Availability 2
T Sampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T Sampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T Sampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `Sampler3D<T>.SampleBias`

## Signature 

```
T Sampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T Sampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `Sampler3D<T>.SampleCmp`

## Signature 

```
float Sampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float Sampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float Sampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float Sampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `Sampler3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T Sampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T Sampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T Sampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `Sampler3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T Sampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T Sampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension Sampler3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler3D.Gather(vector<float,3> location);
vector<T,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler3D.GatherRed(vector<float,3> location);
vector<T,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler3D.GatherGreen(vector<float,3> location);
vector<T,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler3D.GatherBlue(vector<float,3> location);
vector<T,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> Sampler3D.GatherAlpha(vector<float,3> location);
vector<T,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler3D.Gather(vector<float,3> location);
vector<float,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler3D.GatherRed(vector<float,3> location);
vector<float,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler3D.GatherGreen(vector<float,3> location);
vector<float,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler3D.GatherBlue(vector<float,3> location);
vector<float,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> Sampler3D.GatherAlpha(vector<float,3> location);
vector<float,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler3D.Gather(vector<float,3> location);
vector<int,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler3D.GatherRed(vector<float,3> location);
vector<int,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler3D.GatherGreen(vector<float,3> location);
vector<int,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler3D.GatherBlue(vector<float,3> location);
vector<int,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> Sampler3D.GatherAlpha(vector<float,3> location);
vector<int,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension Sampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `Sampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler3D.Gather(vector<float,3> location);
vector<uint,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Sampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler3D.GatherRed(vector<float,3> location);
vector<uint,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Sampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler3D.GatherGreen(vector<float,3> location);
vector<uint,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Sampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler3D.GatherBlue(vector<float,3> location);
vector<uint,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Sampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `Sampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> Sampler3D.GatherAlpha(vector<float,3> location);
vector<uint,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> Sampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RWSampler3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.CalculateLevelOfDetail`

## Signature 

```
float RWSampler3D<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RWSampler3D<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.GetDimensions`

## Signature 

```
void RWSampler3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void RWSampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void RWSampler3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void RWSampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler3D<T>.Load(vector<int,3> location);
/// See Availability 2
T RWSampler3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 3
T RWSampler3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** **CUDA** 
2. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.subscript`

## Signature 

```
T RWSampler3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.Sample`

## Signature 

```
/// See Availability 1
T RWSampler3D<T>.Sample(vector<float,3> location);
/// See Availability 2
T RWSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T RWSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T RWSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.SampleBias`

## Signature 

```
T RWSampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T RWSampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.SampleCmp`

## Signature 

```
float RWSampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RWSampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RWSampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RWSampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RWSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T RWSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T RWSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RWSampler3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RWSampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RWSampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RWSampler3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler3D.Gather(vector<float,3> location);
vector<T,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler3D.GatherRed(vector<float,3> location);
vector<T,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler3D.GatherGreen(vector<float,3> location);
vector<T,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler3D.GatherBlue(vector<float,3> location);
vector<T,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RWSampler3D.GatherAlpha(vector<float,3> location);
vector<T,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler3D.Gather(vector<float,3> location);
vector<float,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler3D.GatherRed(vector<float,3> location);
vector<float,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler3D.GatherGreen(vector<float,3> location);
vector<float,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler3D.GatherBlue(vector<float,3> location);
vector<float,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RWSampler3D.GatherAlpha(vector<float,3> location);
vector<float,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler3D.Gather(vector<float,3> location);
vector<int,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler3D.GatherRed(vector<float,3> location);
vector<int,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler3D.GatherGreen(vector<float,3> location);
vector<int,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler3D.GatherBlue(vector<float,3> location);
vector<int,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RWSampler3D.GatherAlpha(vector<float,3> location);
vector<int,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RWSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RWSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler3D.Gather(vector<float,3> location);
vector<uint,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler3D.GatherRed(vector<float,3> location);
vector<uint,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler3D.GatherGreen(vector<float,3> location);
vector<uint,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler3D.GatherBlue(vector<float,3> location);
vector<uint,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RWSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RWSampler3D.GatherAlpha(vector<float,3> location);
vector<uint,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RWSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler3D<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `subscript`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSampler3D<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSampler3D<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler3D<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth);
void RasterizerOrderedSampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             numberOfLevels);
void RasterizerOrderedSampler3D<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth);
void RasterizerOrderedSampler3D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler3D<T>.Load(vector<int,3> location);
T RasterizerOrderedSampler3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedSampler3D<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler3D<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler3D<T>.Sample(vector<float,3> location);
/// See Availability 2
T RasterizerOrderedSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 3
T RasterizerOrderedSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp);
T RasterizerOrderedSampler3D<T>.Sample(
    vector<float,3>      location,
    vector<int,3>        offset,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `location`
* `offset`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
T RasterizerOrderedSampler3D<T>.SampleBias(
    vector<float,3>      location,
    float                bias,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
float RasterizerOrderedSampler3D<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.SampleCmpLevelZero`

## Signature 

```
/// See Availability 1
float RasterizerOrderedSampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
/// See Availability 2
float RasterizerOrderedSampler3D<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`
* `offset`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.SampleGrad`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
T RasterizerOrderedSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedSampler3D<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY,
    vector<int,3>        offset,
    float                lodClamp);
```

## Availability

1. **GLSL** **HLSL** 
2. **GLSL** `GL_ARB_sparse_texture_clamp` **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`
* `offset`
* `lodClamp`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D<T>.SampleLevel`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
/// See Availability 2
T RasterizerOrderedSampler3D<T>.SampleLevel(
    vector<float,3>      location,
    float                level,
    vector<int,3>        offset);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `location`
* `level`
* `offset`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler3D`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.Gather(vector<float,3> location);
vector<T,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherRed(vector<float,3> location);
vector<T,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherGreen(vector<float,3> location);
vector<T,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherBlue(vector<float,3> location);
vector<T,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherAlpha(vector<float,3> location);
vector<T,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.Gather(vector<float,3> location);
vector<float,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherRed(vector<float,3> location);
vector<float,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherGreen(vector<float,3> location);
vector<float,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherBlue(vector<float,3> location);
vector<float,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherAlpha(vector<float,3> location);
vector<float,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.Gather(vector<float,3> location);
vector<int,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherRed(vector<float,3> location);
vector<int,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherGreen(vector<float,3> location);
vector<int,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherBlue(vector<float,3> location);
vector<int,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherAlpha(vector<float,3> location);
vector<int,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSampler3D`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.Gather(vector<float,3> location);
vector<uint,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherRed(vector<float,3> location);
vector<uint,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherGreen(vector<float,3> location);
vector<uint,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherBlue(vector<float,3> location);
vector<uint,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3D.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherAlpha(vector<float,3> location);
vector<uint,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSampler3D.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct Sampler3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Sampler3DMS<T>.GetDimensions`

## Signature 

```
void Sampler3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void Sampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void Sampler3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void Sampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `Sampler3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> Sampler3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `Sampler3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T Sampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T Sampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T Sampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `Sampler3DMS<T>.subscript`

## Signature 

```
T Sampler3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RWSampler3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWSampler3DMS<T>.GetDimensions`

## Signature 

```
void RWSampler3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void RWSampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RWSampler3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void RWSampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RWSampler3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RWSampler3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RWSampler3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RWSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RWSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RWSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RWSampler3DMS<T>.subscript`

## Signature 

```
T RWSampler3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSampler3DMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3DMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSampler3DMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount);
void RasterizerOrderedSampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             depth,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSampler3DMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount);
void RasterizerOrderedSampler3DMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            depth,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `depth`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3DMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSampler3DMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3DMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedSampler3DMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSampler3DMS<T>.subscript`

## Signature 

```
T RasterizerOrderedSampler3DMS<T>.subscript(vector<uint,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `struct SamplerCube<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `SamplerCube<T>.CalculateLevelOfDetail`

## Signature 

```
float SamplerCube<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `SamplerCube<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float SamplerCube<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `SamplerCube<T>.GetDimensions`

## Signature 

```
void SamplerCube<T>.GetDimensions(
    out uint             width,
    out uint             height);
void SamplerCube<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void SamplerCube<T>.GetDimensions(
    out float            width,
    out float            height);
void SamplerCube<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `SamplerCube<T>.Load`

## Signature 

```
/// See Availability 1
T SamplerCube<T>.Load(vector<int,4> location);
T SamplerCube<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset);
/// See Availability 2
T SamplerCube<T>.Load(
    vector<int,4>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `SamplerCube<T>.Sample`

## Signature 

```
/// See Availability 1
T SamplerCube<T>.Sample(vector<float,3> location);
/// See Availability 2
T SamplerCube<T>.Sample(
    vector<float,3>      location,
    float                clamp);
T SamplerCube<T>.Sample(
    vector<float,3>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `SamplerCube<T>.SampleBias`

## Signature 

```
T SamplerCube<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`

--------------------------------------------------------------------------------
# `SamplerCube<T>.SampleCmp`

## Signature 

```
float SamplerCube<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `SamplerCube<T>.SampleCmpLevelZero`

## Signature 

```
float SamplerCube<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `SamplerCube<T>.SampleGrad`

## Signature 

```
T SamplerCube<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `SamplerCube<T>.SampleLevel`

## Signature 

```
T SamplerCube<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `location`
* `level`

--------------------------------------------------------------------------------
# `extension SamplerCube`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCube.Gather(vector<float,3> location);
vector<T,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCube.GatherRed(vector<float,3> location);
vector<T,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCube.GatherGreen(vector<float,3> location);
vector<T,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCube.GatherBlue(vector<float,3> location);
vector<T,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCube.GatherAlpha(vector<float,3> location);
vector<T,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCube.Gather(vector<float,3> location);
vector<float,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCube.GatherRed(vector<float,3> location);
vector<float,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCube.GatherGreen(vector<float,3> location);
vector<float,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCube.GatherBlue(vector<float,3> location);
vector<float,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCube.GatherAlpha(vector<float,3> location);
vector<float,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCube.Gather(vector<float,3> location);
vector<int,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCube.GatherRed(vector<float,3> location);
vector<int,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCube.GatherGreen(vector<float,3> location);
vector<int,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCube.GatherBlue(vector<float,3> location);
vector<int,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCube.GatherAlpha(vector<float,3> location);
vector<int,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCube.Gather(vector<float,3> location);
vector<uint,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCube.GatherRed(vector<float,3> location);
vector<uint,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCube.GatherGreen(vector<float,3> location);
vector<uint,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCube.GatherBlue(vector<float,3> location);
vector<uint,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCube.GatherAlpha(vector<float,3> location);
vector<uint,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSamplerCube<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Load`
* `Sample`
* `SampleBias`
* `SampleCmp`
* `SampleCmpLevelZero`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSamplerCube<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSamplerCube<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSamplerCube<T>.GetDimensions(
    out uint             width,
    out uint             height);
void RasterizerOrderedSamplerCube<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void RasterizerOrderedSamplerCube<T>.GetDimensions(
    out float            width,
    out float            height);
void RasterizerOrderedSamplerCube<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSamplerCube<T>.Load(vector<int,3> location);
T RasterizerOrderedSamplerCube<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedSamplerCube<T>.Load(
    vector<int,3>        location,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSamplerCube<T>.Sample(vector<float,3> location);
/// See Availability 2
T RasterizerOrderedSamplerCube<T>.Sample(
    vector<float,3>      location,
    float                clamp);
T RasterizerOrderedSamplerCube<T>.Sample(
    vector<float,3>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSamplerCube<T>.SampleBias(
    vector<float,3>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.SampleCmp`

## Signature 

```
float RasterizerOrderedSamplerCube<T>.SampleCmp(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.SampleCmpLevelZero`

## Signature 

```
float RasterizerOrderedSamplerCube<T>.SampleCmpLevelZero(
    SamplerComparisonState s,
    vector<float,3>      location,
    float                compareValue);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `s`
* `location`
* `compareValue`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.SampleGrad`

## Signature 

```
T RasterizerOrderedSamplerCube<T>.SampleGrad(
    vector<float,3>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube<T>.SampleLevel`

## Signature 

```
T RasterizerOrderedSamplerCube<T>.SampleLevel(
    vector<float,3>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `location`
* `level`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCube`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.Gather(vector<float,3> location);
vector<T,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherRed(vector<float,3> location);
vector<T,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherGreen(vector<float,3> location);
vector<T,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherBlue(vector<float,3> location);
vector<T,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherAlpha(vector<float,3> location);
vector<T,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.Gather(vector<float,3> location);
vector<float,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherRed(vector<float,3> location);
vector<float,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherGreen(vector<float,3> location);
vector<float,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherBlue(vector<float,3> location);
vector<float,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherAlpha(vector<float,3> location);
vector<float,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.Gather(vector<float,3> location);
vector<int,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherRed(vector<float,3> location);
vector<int,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherGreen(vector<float,3> location);
vector<int,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherBlue(vector<float,3> location);
vector<int,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherAlpha(vector<float,3> location);
vector<int,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCube`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.Gather(vector<float,3> location);
vector<uint,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.Gather(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherRed(vector<float,3> location);
vector<uint,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherRed(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherGreen(vector<float,3> location);
vector<uint,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherGreen(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherBlue(vector<float,3> location);
vector<uint,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherBlue(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCube.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherAlpha(vector<float,3> location);
vector<uint,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCube.GatherAlpha(
    vector<float,3>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct SamplerCubeMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`

--------------------------------------------------------------------------------
# `SamplerCubeMS<T>.GetDimensions`

## Signature 

```
void SamplerCubeMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void SamplerCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void SamplerCubeMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void SamplerCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `SamplerCubeMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> SamplerCubeMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `SamplerCubeMS<T>.Load`

## Signature 

```
/// See Availability 1
T SamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T SamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T SamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSamplerCubeMS<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`
* `Load`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeMS<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSamplerCubeMS<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             sampleCount);
void RasterizerOrderedSamplerCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSamplerCubeMS<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            sampleCount);
void RasterizerOrderedSamplerCubeMS<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeMS<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSamplerCubeMS<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeMS<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex);
T RasterizerOrderedSamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset);
/// See Availability 2
T RasterizerOrderedSamplerCubeMS<T>.Load(
    vector<int,3>        location,
    int                  sampleIndex,
    vector<int,3>        offset,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `sampleIndex`
* `offset`
* `status`

--------------------------------------------------------------------------------
# `struct SamplerCubeArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Sample`
* `SampleBias`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.CalculateLevelOfDetail`

## Signature 

```
float SamplerCubeArray<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float SamplerCubeArray<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.GetDimensions`

## Signature 

```
void SamplerCubeArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void SamplerCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void SamplerCubeArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void SamplerCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.Sample`

## Signature 

```
/// See Availability 1
T SamplerCubeArray<T>.Sample(vector<float,4> location);
/// See Availability 2
T SamplerCubeArray<T>.Sample(
    vector<float,4>      location,
    float                clamp);
T SamplerCubeArray<T>.Sample(
    vector<float,4>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.SampleBias`

## Signature 

```
T SamplerCubeArray<T>.SampleBias(
    vector<float,4>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.SampleGrad`

## Signature 

```
T SamplerCubeArray<T>.SampleGrad(
    vector<float,4>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `SamplerCubeArray<T>.SampleLevel`

## Signature 

```
T SamplerCubeArray<T>.SampleLevel(
    vector<float,4>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `location`
* `level`

--------------------------------------------------------------------------------
# `extension SamplerCubeArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCubeArray.Gather(vector<float,4> location);
vector<T,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherRed(vector<float,4> location);
vector<T,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherGreen(vector<float,4> location);
vector<T,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherBlue(vector<float,4> location);
vector<T,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<T,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCubeArray.Gather(vector<float,4> location);
vector<float,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherRed(vector<float,4> location);
vector<float,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherGreen(vector<float,4> location);
vector<float,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherBlue(vector<float,4> location);
vector<float,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<float,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCubeArray.Gather(vector<float,4> location);
vector<int,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherRed(vector<float,4> location);
vector<int,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherGreen(vector<float,4> location);
vector<int,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherBlue(vector<float,4> location);
vector<int,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<int,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension SamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `SamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCubeArray.Gather(vector<float,4> location);
vector<uint,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherRed(vector<float,4> location);
vector<uint,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherGreen(vector<float,4> location);
vector<uint,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherBlue(vector<float,4> location);
vector<uint,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `SamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<uint,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> SamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSamplerCubeArray<T>`

## Generic Parameters

* `T`

## Methods

* `CalculateLevelOfDetail`
* `CalculateLevelOfDetailUnclamped`
* `GetDimensions`
* `Sample`
* `SampleBias`
* `SampleGrad`
* `SampleLevel`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.CalculateLevelOfDetail`

## Signature 

```
float RasterizerOrderedSamplerCubeArray<T>.CalculateLevelOfDetail(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.CalculateLevelOfDetailUnclamped`

## Signature 

```
float RasterizerOrderedSamplerCubeArray<T>.CalculateLevelOfDetailUnclamped(vector<float,3> location);
```

## Parameters

* `location`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSamplerCubeArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void RasterizerOrderedSamplerCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void RasterizerOrderedSamplerCubeArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void RasterizerOrderedSamplerCubeArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.Sample`

## Signature 

```
/// See Availability 1
T RasterizerOrderedSamplerCubeArray<T>.Sample(vector<float,4> location);
/// See Availability 2
T RasterizerOrderedSamplerCubeArray<T>.Sample(
    vector<float,4>      location,
    float                clamp);
T RasterizerOrderedSamplerCubeArray<T>.Sample(
    vector<float,4>      location,
    float                clamp,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `location`
* `clamp`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.SampleBias`

## Signature 

```
T RasterizerOrderedSamplerCubeArray<T>.SampleBias(
    vector<float,4>      location,
    float                bias);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `bias`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.SampleGrad`

## Signature 

```
T RasterizerOrderedSamplerCubeArray<T>.SampleGrad(
    vector<float,4>      location,
    vector<float,3>      gradX,
    vector<float,3>      gradY);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `location`
* `gradX`
* `gradY`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray<T>.SampleLevel`

## Signature 

```
T RasterizerOrderedSamplerCubeArray<T>.SampleLevel(
    vector<float,4>      location,
    float                level);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `location`
* `level`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCubeArray`

## Generic Parameters

* `T`
* `N`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.Gather(vector<float,4> location);
vector<T,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherRed(vector<float,4> location);
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherGreen(vector<float,4> location);
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherBlue(vector<float,4> location);
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<T,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.Gather(vector<float,4> location);
vector<float,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherRed(vector<float,4> location);
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherGreen(vector<float,4> location);
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherBlue(vector<float,4> location);
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<float,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.Gather(vector<float,4> location);
vector<int,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherRed(vector<float,4> location);
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherGreen(vector<float,4> location);
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherBlue(vector<float,4> location);
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<int,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `extension RasterizerOrderedSamplerCubeArray`

## Methods

* `Gather`
* `GatherRed`
* `GatherGreen`
* `GatherBlue`
* `GatherAlpha`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.Gather`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.Gather(vector<float,4> location);
vector<uint,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.Gather(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherRed`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherRed(vector<float,4> location);
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherRed(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherGreen`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherGreen(vector<float,4> location);
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherGreen(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherBlue`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherBlue(vector<float,4> location);
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherBlue(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeArray.GatherAlpha`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(vector<float,4> location);
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset,
    out uint             status);
/// See Availability 1
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4);
/// See Availability 2
vector<uint,4> RasterizerOrderedSamplerCubeArray.GatherAlpha(
    vector<float,4>      location,
    vector<int,3>        offset1,
    vector<int,3>        offset2,
    vector<int,3>        offset3,
    vector<int,3>        offset4,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `offset`
* `status`
* `offset1`
* `offset2`
* `offset3`
* `offset4`

--------------------------------------------------------------------------------
# `struct SamplerCubeMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`

--------------------------------------------------------------------------------
# `SamplerCubeMSArray<T>.GetDimensions`

## Signature 

```
void SamplerCubeMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void SamplerCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void SamplerCubeMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void SamplerCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `SamplerCubeMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> SamplerCubeMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedSamplerCubeMSArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `GetSamplePosition`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeMSArray<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedSamplerCubeMSArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount);
void RasterizerOrderedSamplerCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             sampleCount,
    out uint             numberOfLevels);
void RasterizerOrderedSamplerCubeMSArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount);
void RasterizerOrderedSamplerCubeMSArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            sampleCount,
    out float            numberOfLevels);
```

## Availability

**GLSL** `GLSL450`, `GL_EXT_samplerless_texture_functions` **HLSL** 

## Parameters

* `width`
* `height`
* `elements`
* `sampleCount`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `RasterizerOrderedSamplerCubeMSArray<T>.GetSamplePosition`

## Signature 

```
vector<float,2> RasterizerOrderedSamplerCubeMSArray<T>.GetSamplePosition(int s);
```

## Parameters

* `s`

--------------------------------------------------------------------------------
# `bit_cast`

## Signature 

```
T bit_cast<T, U>(U value);
```

## Parameters

* `T`
* `U`
* `value`

--------------------------------------------------------------------------------
# `createDynamicObject`

## Signature 

```
T createDynamicObject<T, U>(
    uint                 typeId,
    U                    value);
```

## Parameters

* `T`
* `U`
* `typeId`
* `value`

--------------------------------------------------------------------------------
# `reinterpret`

## Signature 

```
T reinterpret<T, U>(U value);
```

## Parameters

* `T`
* `U`
* `value`

--------------------------------------------------------------------------------
# `getStringHash`

## Description

Given a string returns an integer hash of that string.

## Signature 

```
int getStringHash(String string);
```

## Parameters

* `string`

--------------------------------------------------------------------------------
# `beginInvocationInterlock`

## Description

Mark beginning of "interlocked" operations in a fragment shader.

## Signature 

```
void beginInvocationInterlock();
```

## Availability

**GLSL** `GLSL420`, `GL_ARB_fragment_shader_interlock` **HLSL** 

--------------------------------------------------------------------------------
# `endInvocationInterlock`

## Description

Mark end of "interlocked" operations in a fragment shader.

## Signature 

```
void endInvocationInterlock();
```

## Availability

**GLSL** `GLSL420`, `GL_ARB_fragment_shader_interlock` **HLSL** 

--------------------------------------------------------------------------------
# enum _AttributeTargets

## Values 

* _Struct_
* _Var_
* _Function_
--------------------------------------------------------------------------------
# `struct AppendStructuredBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `Append`
* `GetDimensions`

--------------------------------------------------------------------------------
# `AppendStructuredBuffer<T>.Append`

## Signature 

```
void AppendStructuredBuffer<T>.Append(T value);
```

## Parameters

* `value`

--------------------------------------------------------------------------------
# `AppendStructuredBuffer<T>.GetDimensions`

## Signature 

```
void AppendStructuredBuffer<T>.GetDimensions(
    out uint             numStructs,
    out uint             stride);
```

## Parameters

* `numStructs`
* `stride`

--------------------------------------------------------------------------------
# `struct ByteAddressBuffer`

## Methods

* `GetDimensions`
* `Load2`
* `Load3`
* `Load4`

--------------------------------------------------------------------------------
# `ByteAddressBuffer.GetDimensions`

## Signature 

```
void ByteAddressBuffer.GetDimensions(out uint dim);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `ByteAddressBuffer.Load2`

## Signature 

```
/// See Availability 1
vector<uint,2> ByteAddressBuffer.Load2(int location);
/// See Availability 2
vector<uint,2> ByteAddressBuffer.Load2(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `ByteAddressBuffer.Load3`

## Signature 

```
/// See Availability 1
vector<uint,3> ByteAddressBuffer.Load3(int location);
/// See Availability 2
vector<uint,3> ByteAddressBuffer.Load3(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `ByteAddressBuffer.Load4`

## Signature 

```
/// See Availability 1
vector<uint,4> ByteAddressBuffer.Load4(int location);
/// See Availability 2
vector<uint,4> ByteAddressBuffer.Load4(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `ByteAddressBuffer.Load`

## Signature 

```
/// See Availability 1
uint ByteAddressBuffer.Load(int location);
/// See Availability 2
uint ByteAddressBuffer.Load(
    int                  location,
    out uint             status);
T ByteAddressBuffer.Load<T>(int location);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `location`
* `status`

--------------------------------------------------------------------------------
# `struct StructuredBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `StructuredBuffer<T>.GetDimensions`

## Signature 

```
void StructuredBuffer<T>.GetDimensions(
    out uint             numStructs,
    out uint             stride);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `numStructs`
* `stride`

--------------------------------------------------------------------------------
# `StructuredBuffer<T>.Load`

## Signature 

```
/// See Availability 1
T StructuredBuffer<T>.Load(int location);
/// See Availability 2
T StructuredBuffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `StructuredBuffer<T>.subscript`

## Signature 

```
T StructuredBuffer<T>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct ConsumeStructuredBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `Consume`
* `GetDimensions`

--------------------------------------------------------------------------------
# `ConsumeStructuredBuffer<T>.Consume`

## Signature 

```
T ConsumeStructuredBuffer<T>.Consume();
```

--------------------------------------------------------------------------------
# `ConsumeStructuredBuffer<T>.GetDimensions`

## Signature 

```
void ConsumeStructuredBuffer<T>.GetDimensions(
    out uint             numStructs,
    out uint             stride);
```

## Parameters

* `numStructs`
* `stride`

--------------------------------------------------------------------------------
# `struct InputPatch<T, N:int>`

## Generic Parameters

* `T`
* `N`

## Methods

* `subscript`

--------------------------------------------------------------------------------
# `InputPatch<T, N:int>.subscript`

## Signature 

```
T InputPatch<T, N:int>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct OutputPatch<T, N:int>`

## Generic Parameters

* `T`
* `N`

## Methods

* `subscript`

--------------------------------------------------------------------------------
# `OutputPatch<T, N:int>.subscript`

## Signature 

```
T OutputPatch<T, N:int>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct RWByteAddressBuffer`

## Methods

* `GetDimensions`
* `Load2`
* `Load3`
* `Load4`
* `InterlockedAddF32`
* `InterlockedAddI64`
* `InterlockedCompareExchangeU64`
* `InterlockedMaxU64`
* `InterlockedMinU64`
* `InterlockedAndU64`
* `InterlockedOrU64`
* `InterlockedXorU64`
* `InterlockedExchangeU64`
* `InterlockedAdd64`
* `InterlockedCompareExchange64`
* `InterlockedAdd`
* `InterlockedAnd`
* `InterlockedCompareExchange`
* `InterlockedCompareStore`
* `InterlockedExchange`
* `InterlockedMax`
* `InterlockedMin`
* `InterlockedOr`
* `InterlockedXor`
* `Store2`
* `Store3`
* `Store4`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.GetDimensions`

## Signature 

```
void RWByteAddressBuffer.GetDimensions(out uint dim);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Load2`

## Signature 

```
/// See Availability 1
vector<uint,2> RWByteAddressBuffer.Load2(int location);
/// See Availability 2
vector<uint,2> RWByteAddressBuffer.Load2(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Load3`

## Signature 

```
/// See Availability 1
vector<uint,3> RWByteAddressBuffer.Load3(int location);
/// See Availability 2
vector<uint,3> RWByteAddressBuffer.Load3(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Load4`

## Signature 

```
/// See Availability 1
vector<uint,4> RWByteAddressBuffer.Load4(int location);
/// See Availability 2
vector<uint,4> RWByteAddressBuffer.Load4(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Load`

## Signature 

```
/// See Availability 1
uint RWByteAddressBuffer.Load(int location);
/// See Availability 2
uint RWByteAddressBuffer.Load(
    int                  location,
    out uint             status);
T RWByteAddressBuffer.Load<T>(int location);
```

## 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);
```

## Availability

**HLSL** `NVAPI` **CUDA** `SM 2.0` 

## 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);
```

## Availability

**HLSL** **CUDA** `SM 6.0` 

## Parameters

* `byteAddress`
* `valueToAdd`
* `originalValue`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedCompareExchangeU64`

## Signature 

```
void RWByteAddressBuffer.InterlockedCompareExchangeU64(
    uint                 byteAddress,
    uint64_t             compareValue,
    uint64_t             value,
    out uint64_t         outOriginalValue);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `byteAddress`
* `compareValue`
* `value`
* `outOriginalValue`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedMaxU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedMaxU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** `SM 3.5` 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedMinU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedMinU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** `SM 3.5` 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedAndU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedAndU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedOrU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedOrU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedXorU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedXorU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedExchangeU64`

## Signature 

```
uint64_t RWByteAddressBuffer.InterlockedExchangeU64(
    uint                 byteAddress,
    uint64_t             value);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `byteAddress`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedAdd64`

## Signature 

```
void RWByteAddressBuffer.InterlockedAdd64(
    uint                 byteAddress,
    int64_t              valueToAdd,
    out int64_t          outOriginalValue);
void RWByteAddressBuffer.InterlockedAdd64(
    uint                 byteAddress,
    uint64_t             valueToAdd,
    out uint64_t         outOriginalValue);
```

## Parameters

* `byteAddress`
* `valueToAdd`
* `outOriginalValue`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedCompareExchange64`

## Signature 

```
void RWByteAddressBuffer.InterlockedCompareExchange64(
    uint                 byteAddress,
    int64_t              compareValue,
    int64_t              value,
    out int64_t          outOriginalValue);
void RWByteAddressBuffer.InterlockedCompareExchange64(
    uint                 byteAddress,
    uint64_t             compareValue,
    uint64_t             value,
    out uint64_t         outOriginalValue);
```

## Parameters

* `byteAddress`
* `compareValue`
* `value`
* `outOriginalValue`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedAdd`

## Signature 

```
void RWByteAddressBuffer.InterlockedAdd(
    uint                 dest,
    uint                 value,
    out uint             original_value);
void RWByteAddressBuffer.InterlockedAdd(
    uint                 dest,
    uint                 value);
```

## 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);
```

## 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);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `compare_value`
* `value`
* `original_value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedCompareStore`

## Signature 

```
void RWByteAddressBuffer.InterlockedCompareStore(
    uint                 dest,
    uint                 compare_value,
    uint                 value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `compare_value`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.InterlockedExchange`

## Signature 

```
void RWByteAddressBuffer.InterlockedExchange(
    uint                 dest,
    uint                 value,
    out uint             original_value);
```

## 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);
```

## 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);
```

## 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);
```

## 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);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `value`
* `original_value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Store2`

## Signature 

```
void RWByteAddressBuffer.Store2(
    uint                 address,
    vector<uint,2>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Store3`

## Signature 

```
void RWByteAddressBuffer.Store3(
    uint                 address,
    vector<uint,3>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Store4`

## Signature 

```
void RWByteAddressBuffer.Store4(
    uint                 address,
    vector<uint,4>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RWByteAddressBuffer.Store`

## Signature 

```
/// See Availability 1
void RWByteAddressBuffer.Store(
    uint                 address,
    uint                 value);
/// See Availability 2
void RWByteAddressBuffer.Store<T>(
    int                  offset,
    T                    value);
```

## 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);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Load2`

## Signature 

```
/// See Availability 1
vector<uint,2> RasterizerOrderedByteAddressBuffer.Load2(int location);
/// See Availability 2
vector<uint,2> RasterizerOrderedByteAddressBuffer.Load2(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Load3`

## Signature 

```
/// See Availability 1
vector<uint,3> RasterizerOrderedByteAddressBuffer.Load3(int location);
/// See Availability 2
vector<uint,3> RasterizerOrderedByteAddressBuffer.Load3(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Load4`

## Signature 

```
/// See Availability 1
vector<uint,4> RasterizerOrderedByteAddressBuffer.Load4(int location);
/// See Availability 2
vector<uint,4> RasterizerOrderedByteAddressBuffer.Load4(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Load`

## Signature 

```
/// See Availability 1
uint RasterizerOrderedByteAddressBuffer.Load(int location);
/// See Availability 2
uint RasterizerOrderedByteAddressBuffer.Load(
    int                  location,
    out uint             status);
T RasterizerOrderedByteAddressBuffer.Load<T>(int location);
```

## 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);
```

## 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);
```

## 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);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `compare_value`
* `value`
* `original_value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.InterlockedCompareStore`

## Signature 

```
void RasterizerOrderedByteAddressBuffer.InterlockedCompareStore(
    uint                 dest,
    uint                 compare_value,
    uint                 value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `compare_value`
* `value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.InterlockedExchange`

## Signature 

```
void RasterizerOrderedByteAddressBuffer.InterlockedExchange(
    uint                 dest,
    uint                 value,
    out uint             original_value);
```

## 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);
```

## 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);
```

## 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);
```

## 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);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `dest`
* `value`
* `original_value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Store2`

## Signature 

```
void RasterizerOrderedByteAddressBuffer.Store2(
    uint                 address,
    vector<uint,2>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Store3`

## Signature 

```
void RasterizerOrderedByteAddressBuffer.Store3(
    uint                 address,
    vector<uint,3>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Store4`

## Signature 

```
void RasterizerOrderedByteAddressBuffer.Store4(
    uint                 address,
    vector<uint,4>       value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `address`
* `value`

--------------------------------------------------------------------------------
# `RasterizerOrderedByteAddressBuffer.Store`

## Signature 

```
/// See Availability 1
void RasterizerOrderedByteAddressBuffer.Store(
    uint                 address,
    uint                 value);
/// See Availability 2
void RasterizerOrderedByteAddressBuffer.Store<T>(
    int                  offset,
    T                    value);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `address`
* `value`
* `offset`

--------------------------------------------------------------------------------
# `struct RWStructuredBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `DecrementCounter`
* `GetDimensions`
* `IncrementCounter`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWStructuredBuffer<T>.DecrementCounter`

## Signature 

```
uint RWStructuredBuffer<T>.DecrementCounter();
```

--------------------------------------------------------------------------------
# `RWStructuredBuffer<T>.GetDimensions`

## Signature 

```
void RWStructuredBuffer<T>.GetDimensions(
    out uint             numStructs,
    out uint             stride);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `numStructs`
* `stride`

--------------------------------------------------------------------------------
# `RWStructuredBuffer<T>.IncrementCounter`

## Signature 

```
uint RWStructuredBuffer<T>.IncrementCounter();
```

--------------------------------------------------------------------------------
# `RWStructuredBuffer<T>.Load`

## Signature 

```
/// See Availability 1
T RWStructuredBuffer<T>.Load(int location);
/// See Availability 2
T RWStructuredBuffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RWStructuredBuffer<T>.subscript`

## Signature 

```
T RWStructuredBuffer<T>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedStructuredBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `DecrementCounter`
* `GetDimensions`
* `IncrementCounter`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedStructuredBuffer<T>.DecrementCounter`

## Signature 

```
uint RasterizerOrderedStructuredBuffer<T>.DecrementCounter();
```

--------------------------------------------------------------------------------
# `RasterizerOrderedStructuredBuffer<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedStructuredBuffer<T>.GetDimensions(
    out uint             numStructs,
    out uint             stride);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `numStructs`
* `stride`

--------------------------------------------------------------------------------
# `RasterizerOrderedStructuredBuffer<T>.IncrementCounter`

## Signature 

```
uint RasterizerOrderedStructuredBuffer<T>.IncrementCounter();
```

--------------------------------------------------------------------------------
# `RasterizerOrderedStructuredBuffer<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedStructuredBuffer<T>.Load(int location);
/// See Availability 2
T RasterizerOrderedStructuredBuffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedStructuredBuffer<T>.subscript`

## Signature 

```
T RasterizerOrderedStructuredBuffer<T>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct PointStream<T>`

## Generic Parameters

* `T`

## Methods

* `Append`
* `RestartStrip`

--------------------------------------------------------------------------------
# `PointStream<T>.Append`

## Signature 

```
void PointStream<T>.Append(T value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `value`

--------------------------------------------------------------------------------
# `PointStream<T>.RestartStrip`

## Signature 

```
void PointStream<T>.RestartStrip();
```

## Availability

**GLSL** **HLSL** 

--------------------------------------------------------------------------------
# `struct LineStream<T>`

## Generic Parameters

* `T`

## Methods

* `Append`
* `RestartStrip`

--------------------------------------------------------------------------------
# `LineStream<T>.Append`

## Signature 

```
void LineStream<T>.Append(T value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `value`

--------------------------------------------------------------------------------
# `LineStream<T>.RestartStrip`

## Signature 

```
void LineStream<T>.RestartStrip();
```

## Availability

**GLSL** **HLSL** 

--------------------------------------------------------------------------------
# `struct TriangleStream<T>`

## Generic Parameters

* `T`

## Methods

* `Append`
* `RestartStrip`

--------------------------------------------------------------------------------
# `TriangleStream<T>.Append`

## Signature 

```
void TriangleStream<T>.Append(T value);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `value`

--------------------------------------------------------------------------------
# `TriangleStream<T>.RestartStrip`

## Signature 

```
void TriangleStream<T>.RestartStrip();
```

## Availability

**GLSL** **HLSL** 

--------------------------------------------------------------------------------
# `abort`

## Signature 

```
void abort();
```

--------------------------------------------------------------------------------
# `abs`

## Signature 

```
/// See Availability 1
T abs<T>(T x);
/// See Availability 2
vector<T,N> abs<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> abs<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `acos`

## Signature 

```
/// See Availability 1
T acos<T>(T x);
/// See Availability 2
vector<T,N> acos<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> acos<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `all`

## Signature 

```
/// See Availability 1
bool all<T>(T x);
bool all<T, N:int>(vector<T,N> x);
/// See Availability 2
bool all<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `AllMemoryBarrier`

## Signature 

```
void AllMemoryBarrier();
```

## Availability

**GLSL** **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `AllMemoryBarrierWithGroupSync`

## Signature 

```
void AllMemoryBarrierWithGroupSync();
```

## Availability

**GLSL** **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `any`

## Signature 

```
/// See Availability 1
bool any<T>(T x);
bool any<T, N:int>(vector<T,N> x);
/// See Availability 2
bool any<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `asdouble`

## Signature 

```
double asdouble(
    uint                 lowbits,
    uint                 highbits);
```

## Availability

**GLSL** `GL_ARB_gpu_shader5` **HLSL** **SPIRV** 

## Parameters

* `lowbits`
* `highbits`

--------------------------------------------------------------------------------
# `asfloat`

## Signature 

```
/// See Availability 1
float asfloat(int x);
float asfloat(uint x);
vector<float,N> asfloat<N:int>(vector<int,N> x);
vector<float,N> asfloat<N:int>(vector<uint,N> x);
/// See Availability 2
matrix<float,N,M> asfloat<N:int, M:int>(matrix<int,N,M> x);
matrix<float,N,M> asfloat<N:int, M:int>(matrix<uint,N,M> x);
float asfloat(float x);
vector<float,N> asfloat<N:int>(vector<float,N> x);
matrix<float,N,M> asfloat<N:int, M:int>(matrix<float,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `asin`

## Signature 

```
/// See Availability 1
T asin<T>(T x);
/// See Availability 2
vector<T,N> asin<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> asin<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `asint`

## Signature 

```
/// See Availability 1
int asint(float x);
int asint(uint x);
vector<int,N> asint<N:int>(vector<float,N> x);
vector<int,N> asint<N:int>(vector<uint,N> x);
/// See Availability 2
matrix<int,N,M> asint<N:int, M:int>(matrix<float,N,M> x);
matrix<int,N,M> asint<N:int, M:int>(matrix<uint,N,M> x);
int asint(int x);
vector<int,N> asint<N:int>(vector<int,N> x);
matrix<int,N,M> asint<N:int, M:int>(matrix<int,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `asuint`

## Signature 

```
/// See Availability 1
void asuint(
    double               value,
    out uint             lowbits,
    out uint             highbits);
/// See Availability 2
uint asuint(float x);
uint asuint(int x);
vector<uint,N> asuint<N:int>(vector<float,N> x);
vector<uint,N> asuint<N:int>(vector<int,N> x);
/// See Availability 3
matrix<uint,N,M> asuint<N:int, M:int>(matrix<float,N,M> x);
matrix<uint,N,M> asuint<N:int, M:int>(matrix<int,N,M> x);
uint asuint(uint x);
vector<uint,N> asuint<N:int>(vector<uint,N> x);
matrix<uint,N,M> asuint<N:int, M:int>(matrix<uint,N,M> x);
```

## Availability

1. **GLSL** `GL_ARB_gpu_shader5` **HLSL** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `N`
* `M`
* `value`
* `lowbits`
* `highbits`
* `x`

--------------------------------------------------------------------------------
# `asuint16`

## Signature 

```
/// See Availability 1
uint16_t asuint16(uint16_t value);
vector<uint16_t,N> asuint16<N:int>(vector<uint16_t,N> value);
matrix<uint16_t,R,C> asuint16<R:int, C:int>(matrix<uint16_t,R,C> value);
uint16_t asuint16(int16_t value);
vector<uint16_t,N> asuint16<N:int>(vector<int16_t,N> value);
matrix<uint16_t,R,C> asuint16<R:int, C:int>(matrix<int16_t,R,C> value);
/// See Availability 2
uint16_t asuint16(half value);
/// See Availability 1
vector<uint16_t,N> asuint16<N:int>(vector<half,N> value);
matrix<uint16_t,R,C> asuint16<R:int, C:int>(matrix<half,R,C> value);
```

## Availability

1. **HLSL** 
2. **GLSL** **HLSL** **CUDA** 

## Parameters

* `N`
* `R`
* `C`
* `value`

--------------------------------------------------------------------------------
# `asint16`

## Signature 

```
/// See Availability 1
int16_t asint16(int16_t value);
vector<int16_t,N> asint16<N:int>(vector<int16_t,N> value);
matrix<int16_t,R,C> asint16<R:int, C:int>(matrix<int16_t,R,C> value);
int16_t asint16(uint16_t value);
vector<int16_t,N> asint16<N:int>(vector<uint16_t,N> value);
matrix<int16_t,R,C> asint16<R:int, C:int>(matrix<uint16_t,R,C> value);
/// See Availability 2
int16_t asint16(half value);
/// See Availability 1
vector<int16_t,N> asint16<N:int>(vector<half,N> value);
matrix<int16_t,R,C> asint16<R:int, C:int>(matrix<half,R,C> value);
```

## Availability

1. **HLSL** 
2. **HLSL** **CUDA** 

## Parameters

* `N`
* `R`
* `C`
* `value`

--------------------------------------------------------------------------------
# `asfloat16`

## Signature 

```
/// See Availability 1
half asfloat16(half value);
vector<half,N> asfloat16<N:int>(vector<half,N> value);
matrix<half,R,C> asfloat16<R:int, C:int>(matrix<half,R,C> value);
/// See Availability 2
half asfloat16(uint16_t value);
/// See Availability 1
vector<half,N> asfloat16<N:int>(vector<uint16_t,N> value);
matrix<half,R,C> asfloat16<R:int, C:int>(matrix<uint16_t,R,C> value);
/// See Availability 3
half asfloat16(int16_t value);
/// See Availability 1
vector<half,N> asfloat16<N:int>(vector<int16_t,N> value);
matrix<half,R,C> asfloat16<R:int, C:int>(matrix<int16_t,R,C> value);
```

## Availability

1. **HLSL** 
2. **GLSL** **HLSL** **CUDA** 
3. **HLSL** **CUDA** 

## Parameters

* `N`
* `R`
* `C`
* `value`

--------------------------------------------------------------------------------
# `atan`

## Signature 

```
/// See Availability 1
T atan<T>(T x);
/// See Availability 2
vector<T,N> atan<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> atan<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `atan2`

## Signature 

```
/// See Availability 1
T atan2<T>(
    T                    y,
    T                    x);
/// See Availability 2
vector<T,N> atan2<T, N:int>(
    vector<T,N>          y,
    vector<T,N>          x);
/// See Availability 3
matrix<T,N,M> atan2<T, N:int, M:int>(
    matrix<T,N,M>        y,
    matrix<T,N,M>        x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `y`
* `x`

--------------------------------------------------------------------------------
# `ceil`

## Signature 

```
/// See Availability 1
T ceil<T>(T x);
/// See Availability 2
vector<T,N> ceil<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> ceil<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `CheckAccessFullyMapped`

## Signature 

```
bool CheckAccessFullyMapped(uint status);
```

## Parameters

* `status`

--------------------------------------------------------------------------------
# `clamp`

## Signature 

```
/// See Availability 1
T clamp<T>(
    T                    x,
    T                    minBound,
    T                    maxBound);
vector<T,N> clamp<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          minBound,
    vector<T,N>          maxBound);
/// See Availability 2
matrix<T,N,M> clamp<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        minBound,
    matrix<T,N,M>        maxBound);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `minBound`
* `maxBound`

--------------------------------------------------------------------------------
# `clip`

## Signature 

```
void clip<T>(T x);
void clip<T, N:int>(vector<T,N> x);
void clip<T, N:int, M:int>(matrix<T,N,M> x);
```

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `cos`

## Signature 

```
/// See Availability 1
T cos<T>(T x);
/// See Availability 2
vector<T,N> cos<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> cos<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `cosh`

## Signature 

```
/// See Availability 1
T cosh<T>(T x);
/// See Availability 2
vector<T,N> cosh<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> cosh<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `countbits`

## Signature 

```
uint countbits(uint value);
```

## Availability

**GLSL** **HLSL** **CPP** **CUDA** 

## Parameters

* `value`

--------------------------------------------------------------------------------
# `cross`

## Signature 

```
vector<T,3> cross<T>(
    vector<T,3>          left,
    vector<T,3>          right);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `left`
* `right`

--------------------------------------------------------------------------------
# `D3DCOLORtoUBYTE4`

## Signature 

```
vector<int,4> D3DCOLORtoUBYTE4(vector<float,4> color);
```

## Parameters

* `color`

--------------------------------------------------------------------------------
# `ddx`

## Signature 

```
/// See Availability 1
T ddx<T>(T x);
vector<T,N> ddx<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddx<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ddx_coarse`

## Signature 

```
/// See Availability 1
T ddx_coarse<T>(T x);
vector<T,N> ddx_coarse<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddx_coarse<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** `GL_ARB_derivative_control` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ddx_fine`

## Signature 

```
/// See Availability 1
T ddx_fine<T>(T x);
vector<T,N> ddx_fine<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddx_fine<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** `GL_ARB_derivative_control` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ddy`

## Signature 

```
/// See Availability 1
T ddy<T>(T x);
vector<T,N> ddy<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddy<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ddy_coarse`

## Signature 

```
/// See Availability 1
T ddy_coarse<T>(T x);
vector<T,N> ddy_coarse<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddy_coarse<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** `GL_ARB_derivative_control` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ddy_fine`

## Signature 

```
/// See Availability 1
T ddy_fine<T>(T x);
vector<T,N> ddy_fine<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> ddy_fine<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** `GL_ARB_derivative_control` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `degrees`

## Signature 

```
/// See Availability 1
T degrees<T>(T x);
vector<T,N> degrees<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> degrees<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `determinant`

## Signature 

```
T determinant<T, N:int>(matrix<T,N,N> m);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `m`

--------------------------------------------------------------------------------
# `DeviceMemoryBarrier`

## Signature 

```
void DeviceMemoryBarrier();
```

## Availability

**GLSL** **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `DeviceMemoryBarrierWithGroupSync`

## Signature 

```
void DeviceMemoryBarrierWithGroupSync();
```

## Availability

**GLSL** **HLSL** 

--------------------------------------------------------------------------------
# `distance`

## Signature 

```
T distance<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `x`
* `y`

--------------------------------------------------------------------------------
# `dot`

## Signature 

```
T dot<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `x`
* `y`

--------------------------------------------------------------------------------
# `dst`

## Signature 

```
vector<T,4> dst<T>(
    vector<T,4>          x,
    vector<T,4>          y);
```

## Parameters

* `T`
* `x`
* `y`

--------------------------------------------------------------------------------
# `EvaluateAttributeAtCentroid`

## Signature 

```
/// See Availability 1
T EvaluateAttributeAtCentroid<T>(T x);
vector<T,N> EvaluateAttributeAtCentroid<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> EvaluateAttributeAtCentroid<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `EvaluateAttributeAtSample`

## Signature 

```
/// See Availability 1
T EvaluateAttributeAtSample<T>(
    T                    x,
    uint                 sampleindex);
vector<T,N> EvaluateAttributeAtSample<T, N:int>(
    vector<T,N>          x,
    uint                 sampleindex);
/// See Availability 2
matrix<T,N,M> EvaluateAttributeAtSample<T, N:int, M:int>(
    matrix<T,N,M>        x,
    uint                 sampleindex);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `sampleindex`

--------------------------------------------------------------------------------
# `EvaluateAttributeSnapped`

## Signature 

```
/// See Availability 1
T EvaluateAttributeSnapped<T>(
    T                    x,
    vector<int,2>        offset);
vector<T,N> EvaluateAttributeSnapped<T, N:int>(
    vector<T,N>          x,
    vector<int,2>        offset);
/// See Availability 2
matrix<T,N,M> EvaluateAttributeSnapped<T, N:int, M:int>(
    matrix<T,N,M>        x,
    vector<int,2>        offset);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `offset`

--------------------------------------------------------------------------------
# `exp`

## Signature 

```
/// See Availability 1
T exp<T>(T x);
/// See Availability 2
vector<T,N> exp<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> exp<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `exp2`

## Signature 

```
/// See Availability 1
T exp2<T>(T x);
/// See Availability 2
vector<T,N> exp2<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> exp2<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `f32tof16`

## Signature 

```
/// See Availability 1
uint f32tof16(float value);
/// See Availability 2
vector<uint,N> f32tof16<N:int>(vector<float,N> value);
```

## Availability

1. **GLSL** `GLSL420` **HLSL** 
2. **HLSL** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `f16tof32`

## Signature 

```
/// See Availability 1
float f16tof32(uint value);
/// See Availability 2
vector<float,N> f16tof32<N:int>(vector<uint,N> value);
/// See Availability 3
float f16tof32(half value);
/// See Availability 4
vector<float,N> f16tof32<N:int>(vector<half,N> value);
```

## Availability

1. **GLSL** `GLSL420` **HLSL** 
2. **HLSL** 
3. **GLSL** `GLSL420` **HLSL** **CUDA** 
4. **HLSL** **CUDA** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `f32tof16_`

## Signature 

```
/// See Availability 1
half f32tof16_(float value);
/// See Availability 2
vector<half,N> f32tof16_<N:int>(vector<float,N> value);
```

## Availability

1. **GLSL** `GLSL420` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `faceforward`

## Signature 

```
vector<T,N> faceforward<T, N:int>(
    vector<T,N>          n,
    vector<T,N>          i,
    vector<T,N>          ng);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `n`
* `i`
* `ng`

--------------------------------------------------------------------------------
# `firstbithigh`

## Signature 

```
/// See Availability 1
int firstbithigh(int value);
/// See Availability 2
vector<int,N> firstbithigh<N:int>(vector<int,N> value);
/// See Availability 1
uint firstbithigh(uint value);
/// See Availability 2
vector<uint,N> firstbithigh<N:int>(vector<uint,N> value);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `firstbitlow`

## Signature 

```
/// See Availability 1
int firstbitlow(int value);
/// See Availability 2
vector<int,N> firstbitlow<N:int>(vector<int,N> value);
/// See Availability 1
uint firstbitlow(uint value);
/// See Availability 2
vector<uint,N> firstbitlow<N:int>(vector<uint,N> value);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `floor`

## Signature 

```
/// See Availability 1
T floor<T>(T x);
/// See Availability 2
vector<T,N> floor<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> floor<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `fma`

## Signature 

```
/// See Availability 1
double fma(
    double               a,
    double               b,
    double               c);
/// See Availability 2
vector<double,N> fma<N:int>(
    vector<double,N>     a,
    vector<double,N>     b,
    vector<double,N>     c);
/// See Availability 3
matrix<double,N,M> fma<N:int, M:int>(
    matrix<double,N,M>   a,
    matrix<double,N,M>   b,
    matrix<double,N,M>   c);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `N`
* `M`
* `a`
* `b`
* `c`

--------------------------------------------------------------------------------
# `fmod`

## Signature 

```
/// See Availability 1
T fmod<T>(
    T                    x,
    T                    y);
/// See Availability 2
vector<T,N> fmod<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
matrix<T,N,M> fmod<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        y);
```

## Availability

1. **HLSL** **CPP** **CUDA** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `y`

--------------------------------------------------------------------------------
# `frac`

## Signature 

```
/// See Availability 1
T frac<T>(T x);
/// See Availability 2
vector<T,N> frac<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> frac<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `frexp`

## Signature 

```
/// See Availability 1
T frexp<T>(
    T                    x,
    out int              exp);
vector<T,N> frexp<T, N:int>(
    vector<T,N>          x,
    out vector<int,N>    exp);
/// See Availability 2
matrix<T,N,M> frexp<T, N:int, M:int>(
    matrix<T,N,M>        x,
    out matrix<int,N,M>  exp);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `exp`

--------------------------------------------------------------------------------
# `fwidth`

## Signature 

```
/// See Availability 1
T fwidth<T>(T x);
/// See Availability 2
vector<T,N> fwidth<T, N:int>(vector<T,N> x);
/// See Availability 1
matrix<T,N,M> fwidth<T, N:int, M:int>(matrix<T,N,M> x);
```

## 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 currently implemented for Vulkan/SPIR-V output.

## Signature 

```
T GetAttributeAtVertex<T>(
    T                    attribute,
    uint                 vertexIndex);
vector<T,N> GetAttributeAtVertex<T, N:int>(
    vector<T,N>          attribute,
    uint                 vertexIndex);
matrix<T,N,M> GetAttributeAtVertex<T, N:int, M:int>(
    matrix<T,N,M>        attribute,
    uint                 vertexIndex);
```

## Availability

**GLSL** `GLSL450`, `GL_NV_fragment_shader_barycentric` **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `attribute`
* `vertexIndex`

--------------------------------------------------------------------------------
# `GetRenderTargetSampleCount`

## Signature 

```
uint GetRenderTargetSampleCount();
```

--------------------------------------------------------------------------------
# `GetRenderTargetSamplePosition`

## Signature 

```
vector<float,2> GetRenderTargetSamplePosition(int Index);
```

## Parameters

* `Index`

--------------------------------------------------------------------------------
# `GroupMemoryBarrier`

## Signature 

```
void GroupMemoryBarrier();
```

## Availability

**GLSL** **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `GroupMemoryBarrierWithGroupSync`

## Signature 

```
void GroupMemoryBarrierWithGroupSync();
```

## Availability

**GLSL** **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## 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);
```

## Availability

**GLSL** **HLSL** **CUDA** 

## Parameters

* `dest`
* `value`
* `original_value`

--------------------------------------------------------------------------------
# `isfinite`

## Signature 

```
/// See Availability 1
bool isfinite<T>(T x);
/// See Availability 2
vector<bool,N> isfinite<T, N:int>(vector<T,N> x);
matrix<bool,N,M> isfinite<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **HLSL** **CPP** **CUDA** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `isinf`

## Signature 

```
/// See Availability 1
bool isinf<T>(T x);
/// See Availability 2
vector<bool,N> isinf<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<bool,N,M> isinf<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **CPP** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `isnan`

## Signature 

```
/// See Availability 1
bool isnan<T>(T x);
/// See Availability 2
vector<bool,N> isnan<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<bool,N,M> isnan<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **CPP** **CUDA** 
2. **GLSL** **HLSL** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `ldexp`

## Signature 

```
/// See Availability 1
T ldexp<T>(
    T                    x,
    T                    exp);
vector<T,N> ldexp<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          exp);
/// See Availability 2
matrix<T,N,M> ldexp<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        exp);
```

## Availability

1. **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `exp`

--------------------------------------------------------------------------------
# `length`

## Signature 

```
T length<T, N:int>(vector<T,N> x);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `x`

--------------------------------------------------------------------------------
# `lerp`

## Signature 

```
/// See Availability 1
T lerp<T>(
    T                    x,
    T                    y,
    T                    s);
vector<T,N> lerp<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y,
    vector<T,N>          s);
/// See Availability 2
matrix<T,N,M> lerp<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        y,
    matrix<T,N,M>        s);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `y`
* `s`

--------------------------------------------------------------------------------
# `lit`

## Signature 

```
vector<float,4> lit(
    float                n_dot_l,
    float                n_dot_h,
    float                m);
```

## Parameters

* `n_dot_l`
* `n_dot_h`
* `m`

--------------------------------------------------------------------------------
# `log`

## Signature 

```
/// See Availability 1
T log<T>(T x);
/// See Availability 2
vector<T,N> log<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> log<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `log10`

## Signature 

```
/// See Availability 1
T log10<T>(T x);
/// See Availability 2
vector<T,N> log10<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> log10<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `log2`

## Signature 

```
/// See Availability 1
T log2<T>(T x);
/// See Availability 2
vector<T,N> log2<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> log2<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `mad`

## Signature 

```
/// See Availability 1
T mad<T>(
    T                    mvalue,
    T                    avalue,
    T                    bvalue);
/// See Availability 2
vector<T,N> mad<T, N:int>(
    vector<T,N>          mvalue,
    vector<T,N>          avalue,
    vector<T,N>          bvalue);
/// See Availability 3
matrix<T,N,M> mad<T, N:int, M:int>(
    matrix<T,N,M>        mvalue,
    matrix<T,N,M>        avalue,
    matrix<T,N,M>        bvalue);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `mvalue`
* `avalue`
* `bvalue`

--------------------------------------------------------------------------------
# `max`

## Signature 

```
/// See Availability 1
T max<T>(
    T                    x,
    T                    y);
/// See Availability 2
vector<T,N> max<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
/// See Availability 3
matrix<T,N,M> max<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        y);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `y`

--------------------------------------------------------------------------------
# `min`

## Signature 

```
/// See Availability 1
T min<T>(
    T                    x,
    T                    y);
/// See Availability 2
vector<T,N> min<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
/// See Availability 3
matrix<T,N,M> min<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        y);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `y`

--------------------------------------------------------------------------------
# `modf`

## Signature 

```
/// See Availability 1
T modf<T>(
    T                    x,
    out T                ip);
/// See Availability 2
vector<T,N> modf<T, N:int>(
    vector<T,N>          x,
    out vector<T,N>      ip);
/// See Availability 1
matrix<T,N,M> modf<T, N:int, M:int>(
    matrix<T,N,M>        x,
    out matrix<T,N,M>    ip);
```

## Availability

1. **HLSL** 
2. **GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `ip`

--------------------------------------------------------------------------------
# `msad4`

## Signature 

```
vector<uint,4> msad4(
    uint                 reference,
    vector<uint,2>       source,
    vector<uint,4>       accum);
```

## Parameters

* `reference`
* `source`
* `accum`

--------------------------------------------------------------------------------
# `mul`

## Signature 

```
/// See Availability 1
T mul<T>(
    T                    x,
    T                    y);
vector<T,N> mul<T, N:int>(
    vector<T,N>          x,
    T                    y);
vector<T,N> mul<T, N:int>(
    T                    x,
    vector<T,N>          y);
matrix<T,N,M> mul<T, N:int, M:int>(
    matrix<T,N,M>        x,
    T                    y);
matrix<T,N,M> mul<T, N:int, M:int>(
    T                    x,
    matrix<T,N,M>        y);
/// See Availability 2
T mul<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
vector<T,M> mul<T, N:int, M:int>(
    vector<T,N>          left,
    matrix<T,N,M>        right);
vector<T,N> mul<T, N:int, M:int>(
    matrix<T,N,M>        left,
    vector<T,M>          right);
matrix<T,R,C> mul<T, R:int, N:int, C:int>(
    matrix<T,R,N>        right,
    matrix<T,N,C>        left);
```

## Availability

1. **HLSL** 
2. **GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `R`
* `C`
* `x`
* `y`
* `left`
* `right`

--------------------------------------------------------------------------------
# `noise`

## Signature 

```
float noise(float x);
float noise<N:int>(vector<float,N> x);
```

## Parameters

* `N`
* `x`

--------------------------------------------------------------------------------
# `NonUniformResourceIndex`

## Signature 

```
uint NonUniformResourceIndex(uint index);
int NonUniformResourceIndex(int index);
```

## Availability

**GLSL** `GL_EXT_nonuniform_qualifier` **HLSL** 

## Parameters

* `index`

--------------------------------------------------------------------------------
# `normalize`

## Signature 

```
vector<T,N> normalize<T, N:int>(vector<T,N> x);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `x`

--------------------------------------------------------------------------------
# `pow`

## Signature 

```
/// See Availability 1
T pow<T>(
    T                    x,
    T                    y);
/// See Availability 2
vector<T,N> pow<T, N:int>(
    vector<T,N>          x,
    vector<T,N>          y);
/// See Availability 3
matrix<T,N,M> pow<T, N:int, M:int>(
    matrix<T,N,M>        x,
    matrix<T,N,M>        y);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `y`

--------------------------------------------------------------------------------
# `Process2DQuadTessFactorsAvg`

## Signature 

```
void Process2DQuadTessFactorsAvg(
    in vector<float,4>   RawEdgeFactors,
    in vector<float,2>   InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `Process2DQuadTessFactorsMax`

## Signature 

```
void Process2DQuadTessFactorsMax(
    in vector<float,4>   RawEdgeFactors,
    in vector<float,2>   InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `Process2DQuadTessFactorsMin`

## Signature 

```
void Process2DQuadTessFactorsMin(
    in vector<float,4>   RawEdgeFactors,
    in vector<float,2>   InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `ProcessIsolineTessFactors`

## Signature 

```
void ProcessIsolineTessFactors(
    in float             RawDetailFactor,
    in float             RawDensityFactor,
    out float            RoundedDetailFactor,
    out float            RoundedDensityFactor);
```

## Parameters

* `RawDetailFactor`
* `RawDensityFactor`
* `RoundedDetailFactor`
* `RoundedDensityFactor`

--------------------------------------------------------------------------------
# `ProcessQuadTessFactorsAvg`

## Signature 

```
void ProcessQuadTessFactorsAvg(
    in vector<float,4>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `ProcessQuadTessFactorsMax`

## Signature 

```
void ProcessQuadTessFactorsMax(
    in vector<float,4>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `ProcessQuadTessFactorsMin`

## Signature 

```
void ProcessQuadTessFactorsMin(
    in vector<float,4>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,4>  RoundedEdgeTessFactors,
    out vector<float,2>  RoundedInsideTessFactors,
    out vector<float,2>  UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `ProcessTriTessFactorsAvg`

## Signature 

```
void ProcessTriTessFactorsAvg(
    in vector<float,3>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,3>  RoundedEdgeTessFactors,
    out float            RoundedInsideTessFactor,
    out float            UnroundedInsideTessFactor);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactor`
* `UnroundedInsideTessFactor`

--------------------------------------------------------------------------------
# `ProcessTriTessFactorsMax`

## Signature 

```
void ProcessTriTessFactorsMax(
    in vector<float,3>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,3>  RoundedEdgeTessFactors,
    out float            RoundedInsideTessFactor,
    out float            UnroundedInsideTessFactor);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactor`
* `UnroundedInsideTessFactor`

--------------------------------------------------------------------------------
# `ProcessTriTessFactorsMin`

## Signature 

```
void ProcessTriTessFactorsMin(
    in vector<float,3>   RawEdgeFactors,
    in float             InsideScale,
    out vector<float,3>  RoundedEdgeTessFactors,
    out float            RoundedInsideTessFactors,
    out float            UnroundedInsideTessFactors);
```

## Parameters

* `RawEdgeFactors`
* `InsideScale`
* `RoundedEdgeTessFactors`
* `RoundedInsideTessFactors`
* `UnroundedInsideTessFactors`

--------------------------------------------------------------------------------
# `radians`

## Signature 

```
/// See Availability 1
T radians<T>(T x);
vector<T,N> radians<T, N:int>(vector<T,N> x);
/// See Availability 2
matrix<T,N,M> radians<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `rcp`

## Signature 

```
T rcp<T>(T x);
vector<T,N> rcp<T, N:int>(vector<T,N> x);
matrix<T,N,M> rcp<T, N:int, M:int>(matrix<T,N,M> x);
```

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `reflect`

## Signature 

```
vector<T,N> reflect<T, N:int>(
    vector<T,N>          i,
    vector<T,N>          n);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `i`
* `n`

--------------------------------------------------------------------------------
# `refract`

## Signature 

```
vector<T,N> refract<T, N:int>(
    vector<T,N>          i,
    vector<T,N>          n,
    T                    eta);
```

## Availability

**GLSL** **HLSL** **SPIRV** 

## Parameters

* `T`
* `N`
* `i`
* `n`
* `eta`

--------------------------------------------------------------------------------
# `reversebits`

## Signature 

```
/// See Availability 1
uint reversebits(uint value);
/// See Availability 2
vector<uint,N> reversebits<N:int>(vector<uint,N> value);
```

## Availability

1. **GLSL** **HLSL** **CPP** **CUDA** 
2. **GLSL** **HLSL** 

## Parameters

* `N`
* `value`

--------------------------------------------------------------------------------
# `round`

## Signature 

```
/// See Availability 1
T round<T>(T x);
/// See Availability 2
vector<T,N> round<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> round<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `rsqrt`

## Signature 

```
/// See Availability 1
T rsqrt<T>(T x);
/// See Availability 2
vector<T,N> rsqrt<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> rsqrt<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `saturate`

## Signature 

```
T saturate<T>(T x);
vector<T,N> saturate<T, N:int>(vector<T,N> x);
matrix<T,N,M> saturate<T, N:int, M:int>(matrix<T,N,M> x);
```

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `sign`

## Signature 

```
/// See Availability 1
int sign<T>(T x);
/// See Availability 2
vector<int,N> sign<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<int,N,M> sign<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `sin`

## Signature 

```
/// See Availability 1
T sin<T>(T x);
/// See Availability 2
vector<T,N> sin<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> sin<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `sincos`

## Signature 

```
/// See Availability 1
void sincos<T>(
    T                    x,
    out T                s,
    out T                c);
/// See Availability 2
void sincos<T, N:int>(
    vector<T,N>          x,
    out vector<T,N>      s,
    out vector<T,N>      c);
void sincos<T, N:int, M:int>(
    matrix<T,N,M>        x,
    out matrix<T,N,M>    s,
    out matrix<T,N,M>    c);
```

## Availability

1. **HLSL** **CUDA** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`
* `s`
* `c`

--------------------------------------------------------------------------------
# `sinh`

## Signature 

```
/// See Availability 1
T sinh<T>(T x);
/// See Availability 2
vector<T,N> sinh<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> sinh<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `smoothstep`

## Signature 

```
/// See Availability 1
T smoothstep<T>(
    T                    min,
    T                    max,
    T                    x);
vector<T,N> smoothstep<T, N:int>(
    vector<T,N>          min,
    vector<T,N>          max,
    vector<T,N>          x);
/// See Availability 2
matrix<T,N,M> smoothstep<T, N:int, M:int>(
    matrix<T,N,M>        min,
    matrix<T,N,M>        max,
    matrix<T,N,M>        x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `min`
* `max`
* `x`

--------------------------------------------------------------------------------
# `sqrt`

## Signature 

```
/// See Availability 1
T sqrt<T>(T x);
/// See Availability 2
vector<T,N> sqrt<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> sqrt<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `step`

## Signature 

```
/// See Availability 1
T step<T>(
    T                    y,
    T                    x);
vector<T,N> step<T, N:int>(
    vector<T,N>          y,
    vector<T,N>          x);
/// See Availability 2
matrix<T,N,M> step<T, N:int, M:int>(
    matrix<T,N,M>        y,
    matrix<T,N,M>        x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `y`
* `x`

--------------------------------------------------------------------------------
# `tan`

## Signature 

```
/// See Availability 1
T tan<T>(T x);
/// See Availability 2
vector<T,N> tan<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> tan<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `tanh`

## Signature 

```
/// See Availability 1
T tanh<T>(T x);
/// See Availability 2
vector<T,N> tanh<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> tanh<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `transpose`

## Signature 

```
matrix<T,M,N> transpose<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

**GLSL** **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `trunc`

## Signature 

```
/// See Availability 1
T trunc<T>(T x);
/// See Availability 2
vector<T,N> trunc<T, N:int>(vector<T,N> x);
/// See Availability 3
matrix<T,N,M> trunc<T, N:int, M:int>(matrix<T,N,M> x);
```

## Availability

1. **GLSL** **HLSL** **SPIRV** **CPP** **CUDA** 
2. **GLSL** **HLSL** **SPIRV** 
3. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `x`

--------------------------------------------------------------------------------
# `WaveGetConvergedMask`

## Signature 

```
uint WaveGetConvergedMask();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WaveGetActiveMask`

## Signature 

```
uint WaveGetActiveMask();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 

--------------------------------------------------------------------------------
# `WaveMaskIsFirstLane`

## Signature 

```
bool WaveMaskIsFirstLane(uint mask);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`

--------------------------------------------------------------------------------
# `WaveMaskAllTrue`

## Signature 

```
bool WaveMaskAllTrue(
    uint                 mask,
    bool                 condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`
* `condition`

--------------------------------------------------------------------------------
# `WaveMaskAnyTrue`

## Signature 

```
bool WaveMaskAnyTrue(
    uint                 mask,
    bool                 condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`
* `condition`

--------------------------------------------------------------------------------
# `WaveMaskBallot`

## Signature 

```
uint WaveMaskBallot(
    uint                 mask,
    bool                 condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`
* `condition`

--------------------------------------------------------------------------------
# `WaveMaskCountBits`

## Signature 

```
uint WaveMaskCountBits(
    uint                 mask,
    bool                 value);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot` **HLSL** **CUDA** 

## Parameters

* `mask`
* `value`

--------------------------------------------------------------------------------
# `AllMemoryBarrierWithWaveMaskSync`

## Signature 

```
void AllMemoryBarrierWithWaveMaskSync(uint mask);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`

--------------------------------------------------------------------------------
# `GroupMemoryBarrierWithWaveMaskSync`

## Signature 

```
void GroupMemoryBarrierWithWaveMaskSync(uint mask);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`

--------------------------------------------------------------------------------
# `AllMemoryBarrierWithWaveSync`

## Signature 

```
void AllMemoryBarrierWithWaveSync();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** 

--------------------------------------------------------------------------------
# `GroupMemoryBarrierWithWaveSync`

## Signature 

```
void GroupMemoryBarrierWithWaveSync();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WaveMaskBroadcastLaneAt`

## Signature 

```
/// See Availability 1
T WaveMaskBroadcastLaneAt<T>(
    uint                 mask,
    T                    value,
    int                  lane);
vector<T,N> WaveMaskBroadcastLaneAt<T, N:int>(
    uint                 mask,
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveMaskBroadcastLaneAt<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WaveMaskReadLaneAt`

## Signature 

```
/// See Availability 1
T WaveMaskReadLaneAt<T>(
    uint                 mask,
    T                    value,
    int                  lane);
vector<T,N> WaveMaskReadLaneAt<T, N:int>(
    uint                 mask,
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveMaskReadLaneAt<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WaveMaskShuffle`

## Signature 

```
/// See Availability 1
T WaveMaskShuffle<T>(
    uint                 mask,
    T                    value,
    int                  lane);
vector<T,N> WaveMaskShuffle<T, N:int>(
    uint                 mask,
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveMaskShuffle<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WaveMaskPrefixCountBits`

## Signature 

```
uint WaveMaskPrefixCountBits(
    uint                 mask,
    bool                 value);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 

## Parameters

* `mask`
* `value`

--------------------------------------------------------------------------------
# `WaveMaskBitAnd`

## Signature 

```
/// See Availability 1
T WaveMaskBitAnd<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskBitAnd<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskBitAnd<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskBitOr`

## Signature 

```
/// See Availability 1
T WaveMaskBitOr<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskBitOr<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskBitOr<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskBitXor`

## Signature 

```
/// See Availability 1
T WaveMaskBitXor<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskBitXor<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskBitXor<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskMax`

## Signature 

```
/// See Availability 1
T WaveMaskMax<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskMax<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskMax<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskMin`

## Signature 

```
/// See Availability 1
T WaveMaskMin<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskMin<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskMin<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskProduct`

## Signature 

```
/// See Availability 1
T WaveMaskProduct<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskProduct<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskProduct<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskSum`

## Signature 

```
/// See Availability 1
T WaveMaskSum<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskSum<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskSum<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskAllEqual`

## Signature 

```
/// See Availability 1
bool WaveMaskAllEqual<T>(
    uint                 mask,
    T                    value);
bool WaveMaskAllEqual<T, N:int>(
    uint                 mask,
    vector<T,N>          value);
/// See Availability 2
bool WaveMaskAllEqual<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        value);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** **CUDA** `SM 7.0` 
2. **HLSL** **CUDA** `SM 7.0` 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `value`

--------------------------------------------------------------------------------
# `WaveMaskPrefixProduct`

## Signature 

```
/// See Availability 1
T WaveMaskPrefixProduct<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskPrefixProduct<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskPrefixProduct<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskPrefixSum`

## Signature 

```
/// See Availability 1
T WaveMaskPrefixSum<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskPrefixSum<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskPrefixSum<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskReadLaneFirst`

## Signature 

```
/// See Availability 1
T WaveMaskReadLaneFirst<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskReadLaneFirst<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskReadLaneFirst<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskMatch`

## Signature 

```
uint WaveMaskMatch<T>(
    uint                 mask,
    T                    value);
uint WaveMaskMatch<T, N:int>(
    uint                 mask,
    vector<T,N>          value);
uint WaveMaskMatch<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        value);
```

## Availability

**HLSL** **CUDA** `SM 7.0` 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `value`

--------------------------------------------------------------------------------
# `WaveMaskPrefixBitAnd`

## Signature 

```
/// See Availability 1
T WaveMaskPrefixBitAnd<T>(
    uint                 mask,
    T                    expr);
/// See Availability 2
vector<T,N> WaveMaskPrefixBitAnd<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 3
matrix<T,N,M> WaveMaskPrefixBitAnd<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
3. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskPrefixBitOr`

## Signature 

```
/// See Availability 1
T WaveMaskPrefixBitOr<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskPrefixBitOr<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskPrefixBitOr<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `WaveMaskPrefixBitXor`

## Signature 

```
/// See Availability 1
T WaveMaskPrefixBitXor<T>(
    uint                 mask,
    T                    expr);
vector<T,N> WaveMaskPrefixBitXor<T, N:int>(
    uint                 mask,
    vector<T,N>          expr);
/// See Availability 2
matrix<T,N,M> WaveMaskPrefixBitXor<T, N:int, M:int>(
    uint                 mask,
    matrix<T,N,M>        expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `mask`
* `expr`

--------------------------------------------------------------------------------
# `QuadReadLaneAt`

## Signature 

```
T QuadReadLaneAt<T>(
    T                    sourceValue,
    uint                 quadLaneID);
vector<T,N> QuadReadLaneAt<T, N:int>(
    vector<T,N>          sourceValue,
    uint                 quadLaneID);
matrix<T,N,M> QuadReadLaneAt<T, N:int, M:int>(
    matrix<T,N,M>        sourceValue,
    uint                 quadLaneID);
```

## Parameters

* `T`
* `N`
* `M`
* `sourceValue`
* `quadLaneID`

--------------------------------------------------------------------------------
# `QuadReadAcrossX`

## Signature 

```
T QuadReadAcrossX<T>(T localValue);
vector<T,N> QuadReadAcrossX<T, N:int>(vector<T,N> localValue);
matrix<T,N,M> QuadReadAcrossX<T, N:int, M:int>(matrix<T,N,M> localValue);
```

## Parameters

* `T`
* `N`
* `M`
* `localValue`

--------------------------------------------------------------------------------
# `QuadReadAcrossY`

## Signature 

```
T QuadReadAcrossY<T>(T localValue);
vector<T,N> QuadReadAcrossY<T, N:int>(vector<T,N> localValue);
matrix<T,N,M> QuadReadAcrossY<T, N:int, M:int>(matrix<T,N,M> localValue);
```

## Parameters

* `T`
* `N`
* `M`
* `localValue`

--------------------------------------------------------------------------------
# `QuadReadAcrossDiagonal`

## Signature 

```
T QuadReadAcrossDiagonal<T>(T localValue);
vector<T,N> QuadReadAcrossDiagonal<T, N:int>(vector<T,N> localValue);
matrix<T,N,M> QuadReadAcrossDiagonal<T, N:int, M:int>(matrix<T,N,M> localValue);
```

## Parameters

* `T`
* `N`
* `M`
* `localValue`

--------------------------------------------------------------------------------
# `WaveActiveBitAnd`

## Signature 

```
/// See Availability 1
T WaveActiveBitAnd<T>(T expr);
vector<T,N> WaveActiveBitAnd<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveBitAnd<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveBitOr`

## Signature 

```
/// See Availability 1
T WaveActiveBitOr<T>(T expr);
vector<T,N> WaveActiveBitOr<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveBitOr<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveBitXor`

## Signature 

```
/// See Availability 1
T WaveActiveBitXor<T>(T expr);
vector<T,N> WaveActiveBitXor<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveBitXor<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveMax`

## Signature 

```
/// See Availability 1
T WaveActiveMax<T>(T expr);
vector<T,N> WaveActiveMax<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveMax<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveMin`

## Signature 

```
/// See Availability 1
T WaveActiveMin<T>(T expr);
vector<T,N> WaveActiveMin<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveMin<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveProduct`

## Signature 

```
/// See Availability 1
T WaveActiveProduct<T>(T expr);
vector<T,N> WaveActiveProduct<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveProduct<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveSum`

## Signature 

```
/// See Availability 1
T WaveActiveSum<T>(T expr);
vector<T,N> WaveActiveSum<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveActiveSum<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveActiveAllEqual`

## Signature 

```
/// See Availability 1
bool WaveActiveAllEqual<T>(T value);
bool WaveActiveAllEqual<T, N:int>(vector<T,N> value);
/// See Availability 2
bool WaveActiveAllEqual<T, N:int, M:int>(matrix<T,N,M> value);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `value`

--------------------------------------------------------------------------------
# `WaveActiveAllTrue`

## Signature 

```
bool WaveActiveAllTrue(bool condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** 

## Parameters

* `condition`

--------------------------------------------------------------------------------
# `WaveActiveAnyTrue`

## Signature 

```
bool WaveActiveAnyTrue(bool condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_vote`, `SPIR-V 1.3` **HLSL** 

## Parameters

* `condition`

--------------------------------------------------------------------------------
# `WaveActiveBallot`

## Signature 

```
vector<uint,4> WaveActiveBallot(bool condition);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 

## Parameters

* `condition`

--------------------------------------------------------------------------------
# `WaveActiveCountBits`

## Signature 

```
uint WaveActiveCountBits(bool value);
```

## Parameters

* `value`

--------------------------------------------------------------------------------
# `WaveGetLaneCount`

## Signature 

```
uint WaveGetLaneCount();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WaveGetLaneIndex`

## Signature 

```
uint WaveGetLaneIndex();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WaveIsFirstLane`

## Signature 

```
bool WaveIsFirstLane();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_basic`, `SPIR-V 1.3` **HLSL** 

--------------------------------------------------------------------------------
# `_WaveCountBits`

## Signature 

```
uint _WaveCountBits(vector<uint,4> value);
```

## Parameters

* `value`

--------------------------------------------------------------------------------
# `WavePrefixProduct`

## Signature 

```
/// See Availability 1
T WavePrefixProduct<T>(T expr);
vector<T,N> WavePrefixProduct<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WavePrefixProduct<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WavePrefixSum`

## Signature 

```
/// See Availability 1
T WavePrefixSum<T>(T expr);
vector<T,N> WavePrefixSum<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WavePrefixSum<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveReadLaneFirst`

## Signature 

```
/// See Availability 1
T WaveReadLaneFirst<T>(T expr);
vector<T,N> WaveReadLaneFirst<T, N:int>(vector<T,N> expr);
/// See Availability 2
matrix<T,N,M> WaveReadLaneFirst<T, N:int, M:int>(matrix<T,N,M> expr);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `expr`

--------------------------------------------------------------------------------
# `WaveBroadcastLaneAt`

## Signature 

```
/// See Availability 1
T WaveBroadcastLaneAt<T>(
    T                    value,
    int                  lane);
vector<T,N> WaveBroadcastLaneAt<T, N:int>(
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveBroadcastLaneAt<T, N:int, M:int>(
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WaveReadLaneAt`

## Signature 

```
/// See Availability 1
T WaveReadLaneAt<T>(
    T                    value,
    int                  lane);
vector<T,N> WaveReadLaneAt<T, N:int>(
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveReadLaneAt<T, N:int, M:int>(
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WaveShuffle`

## Signature 

```
/// See Availability 1
T WaveShuffle<T>(
    T                    value,
    int                  lane);
vector<T,N> WaveShuffle<T, N:int>(
    vector<T,N>          value,
    int                  lane);
/// See Availability 2
matrix<T,N,M> WaveShuffle<T, N:int, M:int>(
    matrix<T,N,M>        value,
    int                  lane);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_shuffle`, `SPIR-V 1.3` **HLSL** 
2. **HLSL** 

## Parameters

* `T`
* `N`
* `M`
* `value`
* `lane`

--------------------------------------------------------------------------------
# `WavePrefixCountBits`

## Signature 

```
uint WavePrefixCountBits(bool value);
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 

## Parameters

* `value`

--------------------------------------------------------------------------------
# `WaveGetConvergedMulti`

## Signature 

```
vector<uint,4> WaveGetConvergedMulti();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WaveGetActiveMulti`

## Signature 

```
vector<uint,4> WaveGetActiveMulti();
```

## Availability

**GLSL** `GL_KHR_shader_subgroup_ballot`, `SPIR-V 1.3` **HLSL** 

--------------------------------------------------------------------------------
# `WaveMatch`

## Signature 

```
vector<uint,4> WaveMatch<T>(T value);
vector<uint,4> WaveMatch<T, N:int>(vector<T,N> value);
vector<uint,4> WaveMatch<T, N:int, M:int>(matrix<T,N,M> value);
```

## Parameters

* `T`
* `N`
* `M`
* `value`

--------------------------------------------------------------------------------
# `WaveMultiPrefixCountBits`

## Signature 

```
uint WaveMultiPrefixCountBits(
    bool                 value,
    vector<uint,4>       mask);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `value`
* `mask`

--------------------------------------------------------------------------------
# `WaveMultiPrefixBitAnd`

## Signature 

```
/// See Availability 1
T WaveMultiPrefixBitAnd<T>(
    T                    expr,
    vector<uint,4>       mask);
vector<T,N> WaveMultiPrefixBitAnd<T, N:int>(
    vector<T,N>          expr,
    vector<uint,4>       mask);
/// See Availability 2
matrix<T,N,M> WaveMultiPrefixBitAnd<T, N:int, M:int>(
    matrix<T,N,M>        expr,
    vector<uint,4>       mask);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `expr`
* `mask`

--------------------------------------------------------------------------------
# `WaveMultiPrefixBitOr`

## Signature 

```
/// See Availability 1
T WaveMultiPrefixBitOr<T>(
    T                    expr,
    vector<uint,4>       mask);
vector<T,N> WaveMultiPrefixBitOr<T, N:int>(
    vector<T,N>          expr,
    vector<uint,4>       mask);
/// See Availability 2
matrix<T,N,M> WaveMultiPrefixBitOr<T, N:int, M:int>(
    matrix<T,N,M>        expr,
    vector<uint,4>       mask);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `expr`
* `mask`

--------------------------------------------------------------------------------
# `WaveMultiPrefixBitXor`

## Signature 

```
/// See Availability 1
T WaveMultiPrefixBitXor<T>(
    T                    expr,
    vector<uint,4>       mask);
vector<T,N> WaveMultiPrefixBitXor<T, N:int>(
    vector<T,N>          expr,
    vector<uint,4>       mask);
/// See Availability 2
matrix<T,N,M> WaveMultiPrefixBitXor<T, N:int, M:int>(
    matrix<T,N,M>        expr,
    vector<uint,4>       mask);
```

## Availability

1. **GLSL** `GL_KHR_shader_subgroup_arithmetic`, `SPIR-V 1.3` **HLSL** **CUDA** 
2. **HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `expr`
* `mask`

--------------------------------------------------------------------------------
# `WaveMultiPrefixProduct`

## Signature 

```
T WaveMultiPrefixProduct<T>(
    T                    value,
    vector<uint,4>       mask);
vector<T,N> WaveMultiPrefixProduct<T, N:int>(
    vector<T,N>          value,
    vector<uint,4>       mask);
matrix<T,N,M> WaveMultiPrefixProduct<T, N:int, M:int>(
    matrix<T,N,M>        value,
    vector<uint,4>       mask);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `value`
* `mask`

--------------------------------------------------------------------------------
# `WaveMultiPrefixSum`

## Signature 

```
T WaveMultiPrefixSum<T>(
    T                    value,
    vector<uint,4>       mask);
vector<T,N> WaveMultiPrefixSum<T, N:int>(
    vector<T,N>          value,
    vector<uint,4>       mask);
matrix<T,N,M> WaveMultiPrefixSum<T, N:int, M:int>(
    matrix<T,N,M>        value,
    vector<uint,4>       mask);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `T`
* `N`
* `M`
* `value`
* `mask`

--------------------------------------------------------------------------------
# `struct Buffer<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `Buffer<T>.GetDimensions`

## Signature 

```
void Buffer<T>.GetDimensions(out uint dim);
```

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `Buffer<T>.Load`

## Signature 

```
/// See Availability 1
T Buffer<T>.Load(int location);
/// See Availability 2
T Buffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `Buffer<T>.subscript`

## Signature 

```
T Buffer<T>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct RWBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RWBuffer<T>.GetDimensions`

## Signature 

```
void RWBuffer<T>.GetDimensions(out uint dim);
```

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `RWBuffer<T>.Load`

## Signature 

```
/// See Availability 1
T RWBuffer<T>.Load(int location);
/// See Availability 2
T RWBuffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RWBuffer<T>.subscript`

## Signature 

```
T RWBuffer<T>.subscript(uint index);
```

## Parameters

* `index`

--------------------------------------------------------------------------------
# `struct RasterizerOrderedBuffer<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`
* `Load`
* `subscript`

--------------------------------------------------------------------------------
# `RasterizerOrderedBuffer<T>.GetDimensions`

## Signature 

```
void RasterizerOrderedBuffer<T>.GetDimensions(out uint dim);
```

## Parameters

* `dim`

--------------------------------------------------------------------------------
# `RasterizerOrderedBuffer<T>.Load`

## Signature 

```
/// See Availability 1
T RasterizerOrderedBuffer<T>.Load(int location);
/// See Availability 2
T RasterizerOrderedBuffer<T>.Load(
    int                  location,
    out uint             status);
```

## Availability

1. **GLSL** `GL_EXT_samplerless_texture_functions` **HLSL** 
2. **HLSL** 

## Parameters

* `location`
* `status`

--------------------------------------------------------------------------------
# `RasterizerOrderedBuffer<T>.subscript`

## Signature 

```
T RasterizerOrderedBuffer<T>.subscript(uint index);
```

## 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<Payload>(
    uint                 shaderIndex,
    inout Payload        payload);
```

## Parameters

* `Payload`
* `shaderIndex`
* `payload`

--------------------------------------------------------------------------------
# `TraceRay`

## Signature 

```
void TraceRay<payload_t>(
    RaytracingAccelerationStructure AccelerationStructure,
    uint                 RayFlags,
    uint                 InstanceInclusionMask,
    uint                 RayContributionToHitGroupIndex,
    uint                 MultiplierForGeometryContributionToHitGroupIndex,
    uint                 MissShaderIndex,
    RayDesc              Ray,
    inout payload_t      Payload);
```

## Availability

**HLSL** **CUDA** 

## Parameters

* `payload_t`
* `AccelerationStructure`
* `RayFlags`
* `InstanceInclusionMask`
* `RayContributionToHitGroupIndex`
* `MultiplierForGeometryContributionToHitGroupIndex`
* `MissShaderIndex`
* `Ray`
* `Payload`

--------------------------------------------------------------------------------
# `TraceMotionRay`

## Signature 

```
void TraceMotionRay<payload_t>(
    RaytracingAccelerationStructure AccelerationStructure,
    uint                 RayFlags,
    uint                 InstanceInclusionMask,
    uint                 RayContributionToHitGroupIndex,
    uint                 MultiplierForGeometryContributionToHitGroupIndex,
    uint                 MissShaderIndex,
    RayDesc              Ray,
    float                CurrentTime,
    inout payload_t      Payload);
```

## Parameters

* `payload_t`
* `AccelerationStructure`
* `RayFlags`
* `InstanceInclusionMask`
* `RayContributionToHitGroupIndex`
* `MultiplierForGeometryContributionToHitGroupIndex`
* `MissShaderIndex`
* `Ray`
* `CurrentTime`
* `Payload`

--------------------------------------------------------------------------------
# `ReportHit`

## Signature 

```
bool ReportHit<A>(
    float                tHit,
    uint                 hitKind,
    A                    attributes);
```

## Parameters

* `A`
* `tHit`
* `hitKind`
* `attributes`

--------------------------------------------------------------------------------
# `IgnoreHit`

## Signature 

```
void IgnoreHit();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `AcceptHitAndEndSearch`

## Signature 

```
void AcceptHitAndEndSearch();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `DispatchRaysIndex`

## Signature 

```
vector<uint,3> DispatchRaysIndex();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `DispatchRaysDimensions`

## Signature 

```
vector<uint,3> DispatchRaysDimensions();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WorldRayOrigin`

## Signature 

```
vector<float,3> WorldRayOrigin();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `WorldRayDirection`

## Signature 

```
vector<float,3> WorldRayDirection();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `RayTMin`

## Signature 

```
float RayTMin();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `RayTCurrent`

## Signature 

```
float RayTCurrent();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `RayFlags`

## Signature 

```
uint RayFlags();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `InstanceIndex`

## Signature 

```
uint InstanceIndex();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `InstanceID`

## Signature 

```
uint InstanceID();
```

## Availability

**GLSL** `__glslRayTracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `PrimitiveIndex`

## Signature 

```
uint PrimitiveIndex();
```

## Availability

**GLSL** `__glslRayTracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `ObjectRayOrigin`

## Signature 

```
vector<float,3> ObjectRayOrigin();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `ObjectRayDirection`

## Signature 

```
vector<float,3> ObjectRayDirection();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# `ObjectToWorld3x4`

## Signature 

```
matrix<float,3,4> ObjectToWorld3x4();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** 

--------------------------------------------------------------------------------
# `WorldToObject3x4`

## Signature 

```
matrix<float,3,4> WorldToObject3x4();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** 

--------------------------------------------------------------------------------
# `ObjectToWorld4x3`

## Signature 

```
matrix<float,4,3> ObjectToWorld4x3();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** 

--------------------------------------------------------------------------------
# `WorldToObject4x3`

## Signature 

```
matrix<float,4,3> WorldToObject4x3();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** 

--------------------------------------------------------------------------------
# `RayCurrentTime`

## Signature 

```
float RayCurrentTime();
```

## Availability

**GLSL** `GLSL460`, `GL_NV_ray_tracing_motion_blur` **HLSL** 

--------------------------------------------------------------------------------
# `ObjectToWorld`

## Signature 

```
matrix<float,3,4> ObjectToWorld();
```

--------------------------------------------------------------------------------
# `WorldToObject`

## Signature 

```
matrix<float,3,4> WorldToObject();
```

--------------------------------------------------------------------------------
# `HitKind`

## Signature 

```
uint HitKind();
```

## Availability

**GLSL** `GL_EXT_ray_tracing`, `GL_NV_ray_tracing` **HLSL** **CUDA** 

--------------------------------------------------------------------------------
# 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);
```

## Parameters

* `left`
* `right`
* `acc`

--------------------------------------------------------------------------------
# `dot4add_i8packed`

## Signature 

```
int dot4add_i8packed(
    uint                 left,
    uint                 right,
    int                  acc);
```

## Parameters

* `left`
* `right`
* `acc`

--------------------------------------------------------------------------------
# `dot2add`

## Signature 

```
float dot2add(
    vector<float,2>      left,
    vector<float,2>      right,
    float                acc);
```

## Parameters

* `left`
* `right`
* `acc`

--------------------------------------------------------------------------------
# `SetMeshOutputCounts`

## Signature 

```
void SetMeshOutputCounts(
    uint                 vertexCount,
    uint                 primitiveCount);
```

## Parameters

* `vertexCount`
* `primitiveCount`

--------------------------------------------------------------------------------
# `DispatchMesh`

## Signature 

```
void DispatchMesh<P>(
    uint                 threadGroupCountX,
    uint                 threadGroupCountY,
    uint                 threadGroupCountZ,
    P                    meshPayload);
```

## Parameters

* `P`
* `threadGroupCountX`
* `threadGroupCountY`
* `threadGroupCountZ`
* `meshPayload`

--------------------------------------------------------------------------------
# `struct SAMPLER_FEEDBACK_MIN_MIP`

*Implements:* `__BuiltinSamplerFeedbackType`

--------------------------------------------------------------------------------
# `struct SAMPLER_FEEDBACK_MIP_REGION_USED`

*Implements:* `__BuiltinSamplerFeedbackType`

--------------------------------------------------------------------------------
# `struct FeedbackTexture2D<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`

--------------------------------------------------------------------------------
# `FeedbackTexture2D<T>.GetDimensions`

## Signature 

```
void FeedbackTexture2D<T>.GetDimensions(
    out uint             width,
    out uint             height);
void FeedbackTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             numberOfLevels);
void FeedbackTexture2D<T>.GetDimensions(
    out float            width,
    out float            height);
void FeedbackTexture2D<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            numberOfLevels);
```

## Parameters

* `width`
* `height`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `FeedbackTexture2D<T>.WriteSamplerFeedbackLevel`

## Signature 

```
void FeedbackTexture2D<T>.WriteSamplerFeedbackLevel<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    float                lod);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `tex`
* `samp`
* `location`
* `lod`

--------------------------------------------------------------------------------
# `FeedbackTexture2D<T>.WriteSamplerFeedback`

## Signature 

```
void FeedbackTexture2D<T>.WriteSamplerFeedback<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    float                clamp);
void FeedbackTexture2D<T>.WriteSamplerFeedback<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `tex`
* `samp`
* `location`
* `clamp`

--------------------------------------------------------------------------------
# `FeedbackTexture2D<T>.WriteSamplerFeedbackBias`

## Signature 

```
void FeedbackTexture2D<T>.WriteSamplerFeedbackBias<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    float                bias,
    float                clamp);
void FeedbackTexture2D<T>.WriteSamplerFeedbackBias<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    float                bias);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `tex`
* `samp`
* `location`
* `bias`
* `clamp`

--------------------------------------------------------------------------------
# `FeedbackTexture2D<T>.WriteSamplerFeedbackGrad`

## Signature 

```
void FeedbackTexture2D<T>.WriteSamplerFeedbackGrad<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    vector<float,2>      ddx,
    vector<float,2>      ddy,
    float                clamp);
void FeedbackTexture2D<T>.WriteSamplerFeedbackGrad<S>(
    Texture2D            tex,
    SamplerState         samp,
    vector<float,2>      location,
    vector<float,2>      ddx,
    vector<float,2>      ddy);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `tex`
* `samp`
* `location`
* `ddx`
* `ddy`
* `clamp`

--------------------------------------------------------------------------------
# `struct FeedbackTexture2DArray<T>`

## Generic Parameters

* `T`

## Methods

* `GetDimensions`

--------------------------------------------------------------------------------
# `FeedbackTexture2DArray<T>.GetDimensions`

## Signature 

```
void FeedbackTexture2DArray<T>.GetDimensions(
    out uint             width,
    out uint             height,
    out uint             elements);
void FeedbackTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out uint             width,
    out uint             height,
    out uint             elements,
    out uint             numberOfLevels);
void FeedbackTexture2DArray<T>.GetDimensions(
    out float            width,
    out float            height,
    out float            elements);
void FeedbackTexture2DArray<T>.GetDimensions(
    uint                 mipLevel,
    out float            width,
    out float            height,
    out float            elements,
    out float            numberOfLevels);
```

## Parameters

* `width`
* `height`
* `elements`
* `mipLevel`
* `numberOfLevels`

--------------------------------------------------------------------------------
# `FeedbackTexture2DArray<T>.WriteSamplerFeedbackLevel`

## Signature 

```
void FeedbackTexture2DArray<T>.WriteSamplerFeedbackLevel<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    float                lod);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `texArray`
* `samp`
* `location`
* `lod`

--------------------------------------------------------------------------------
# `FeedbackTexture2DArray<T>.WriteSamplerFeedback`

## Signature 

```
void FeedbackTexture2DArray<T>.WriteSamplerFeedback<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    float                clamp);
void FeedbackTexture2DArray<T>.WriteSamplerFeedback<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `texArray`
* `samp`
* `location`
* `clamp`

--------------------------------------------------------------------------------
# `FeedbackTexture2DArray<T>.WriteSamplerFeedbackBias`

## Signature 

```
void FeedbackTexture2DArray<T>.WriteSamplerFeedbackBias<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    float                bias,
    float                clamp);
void FeedbackTexture2DArray<T>.WriteSamplerFeedbackBias<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    float                bias);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `texArray`
* `samp`
* `location`
* `bias`
* `clamp`

--------------------------------------------------------------------------------
# `FeedbackTexture2DArray<T>.WriteSamplerFeedbackGrad`

## Signature 

```
void FeedbackTexture2DArray<T>.WriteSamplerFeedbackGrad<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    vector<float,3>      ddx,
    vector<float,3>      ddy,
    float                clamp);
void FeedbackTexture2DArray<T>.WriteSamplerFeedbackGrad<S>(
    Texture2DArray       texArray,
    SamplerState         samp,
    vector<float,3>      location,
    vector<float,3>      ddx,
    vector<float,3>      ddy);
```

## Availability

**HLSL** **CPP** 

## Parameters

* `S`
* `texArray`
* `samp`
* `location`
* `ddx`
* `ddy`
* `clamp`

--------------------------------------------------------------------------------
# `GeometryIndex`

## Signature 

```
uint GeometryIndex();
```

## Availability

**GLSL** `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<rayFlags:uint>`

## 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<rayFlags:uint>.init`

## Signature 

```
RayQuery<rayFlags:uint>.init();
```

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.TraceRayInline`

## Signature 

```
void RayQuery<rayFlags:uint>.TraceRayInline(
    RaytracingAccelerationStructure accelerationStructure,
    uint                 rayFlags,
    uint                 instanceInclusionMask,
    RayDesc              ray);
```

## Parameters

* `accelerationStructure`
* `rayFlags`
* `instanceInclusionMask`
* `ray`

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.Proceed`

## Signature 

```
bool RayQuery<rayFlags:uint>.Proceed();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.Abort`

## Signature 

```
void RayQuery<rayFlags:uint>.Abort();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateType`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidateType();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateObjectToWorld3x4`

## Signature 

```
matrix<float,3,4> RayQuery<rayFlags:uint>.CandidateObjectToWorld3x4();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateObjectToWorld4x3`

## Signature 

```
matrix<float,4,3> RayQuery<rayFlags:uint>.CandidateObjectToWorld4x3();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateWorldToObject3x4`

## Signature 

```
matrix<float,3,4> RayQuery<rayFlags:uint>.CandidateWorldToObject3x4();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateWorldToObject4x3`

## Signature 

```
matrix<float,4,3> RayQuery<rayFlags:uint>.CandidateWorldToObject4x3();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateInstanceIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidateInstanceIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateInstanceID`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidateInstanceID();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateGeometryIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidateGeometryIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidatePrimitiveIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidatePrimitiveIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateInstanceContributionToHitGroupIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CandidateInstanceContributionToHitGroupIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateObjectRayOrigin`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.CandidateObjectRayOrigin();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateObjectRayDirection`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.CandidateObjectRayDirection();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateProceduralPrimitiveNonOpaque`

## Signature 

```
bool RayQuery<rayFlags:uint>.CandidateProceduralPrimitiveNonOpaque();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateTriangleFrontFace`

## Signature 

```
bool RayQuery<rayFlags:uint>.CandidateTriangleFrontFace();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateTriangleBarycentrics`

## Signature 

```
vector<float,2> RayQuery<rayFlags:uint>.CandidateTriangleBarycentrics();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CandidateTriangleRayT`

## Signature 

```
float RayQuery<rayFlags:uint>.CandidateTriangleRayT();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommitNonOpaqueTriangleHit`

## Signature 

```
void RayQuery<rayFlags:uint>.CommitNonOpaqueTriangleHit();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommitProceduralPrimitiveHit`

## Signature 

```
void RayQuery<rayFlags:uint>.CommitProceduralPrimitiveHit(float t);
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

## Parameters

* `t`

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedStatus`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedStatus();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedObjectToWorld3x4`

## Signature 

```
matrix<float,3,4> RayQuery<rayFlags:uint>.CommittedObjectToWorld3x4();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedObjectToWorld4x3`

## Signature 

```
matrix<float,4,3> RayQuery<rayFlags:uint>.CommittedObjectToWorld4x3();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedWorldToObject3x4`

## Signature 

```
matrix<float,3,4> RayQuery<rayFlags:uint>.CommittedWorldToObject3x4();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedWorldToObject4x3`

## Signature 

```
matrix<float,4,3> RayQuery<rayFlags:uint>.CommittedWorldToObject4x3();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedRayT`

## Signature 

```
float RayQuery<rayFlags:uint>.CommittedRayT();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedInstanceIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedInstanceIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedInstanceID`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedInstanceID();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedGeometryIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedGeometryIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedPrimitiveIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedPrimitiveIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedInstanceContributionToHitGroupIndex`

## Signature 

```
uint RayQuery<rayFlags:uint>.CommittedInstanceContributionToHitGroupIndex();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedObjectRayOrigin`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.CommittedObjectRayOrigin();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedObjectRayDirection`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.CommittedObjectRayDirection();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedTriangleFrontFace`

## Signature 

```
bool RayQuery<rayFlags:uint>.CommittedTriangleFrontFace();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.CommittedTriangleBarycentrics`

## Signature 

```
vector<float,2> RayQuery<rayFlags:uint>.CommittedTriangleBarycentrics();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.RayFlags`

## Signature 

```
uint RayQuery<rayFlags:uint>.RayFlags();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.WorldRayOrigin`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.WorldRayOrigin();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.WorldRayDirection`

## Signature 

```
vector<float,3> RayQuery<rayFlags:uint>.WorldRayDirection();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `RayQuery<rayFlags:uint>.RayTMin`

## Signature 

```
float RayQuery<rayFlags:uint>.RayTMin();
```

## Availability

**GLSL** `GLSL460`, `GL_EXT_ray_query` **HLSL** 

--------------------------------------------------------------------------------
# `struct VkSubpassInput<T>`

## Generic Parameters

* `T`

## Methods

* `SubpassLoad`

--------------------------------------------------------------------------------
# `VkSubpassInput<T>.SubpassLoad`

## Signature 

```
T VkSubpassInput<T>.SubpassLoad();
```

--------------------------------------------------------------------------------
# `struct VkSubpassInputMS<T>`

## Generic Parameters

* `T`

## Methods

* `SubpassLoad`

--------------------------------------------------------------------------------
# `VkSubpassInputMS<T>.SubpassLoad`

## Signature 

```
T VkSubpassInputMS<T>.SubpassLoad(int sampleIndex);
```

## Parameters

* `sampleIndex`

