# FeatureName

Artifact: [androidx.webgpu:webgpu](https://developer.android.com/jetpack/androidx/releases/webgpu) [View Source](https://cs.android.com/search?q=file:androidx/webgpu/FeatureName.kt+class:androidx.webgpu.FeatureName) Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

*** ** * ** ***


```
public final class FeatureName
```

<br />

*** ** * ** ***

An enumeration of optional features that a device may support.

## Summary

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#BGRA8UnormStorage() = 13` Support for using @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#BGRA8Unorm()` as a storage texture. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#ClipDistances() = 16` Allows usage of clip distances in shaders. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#CoreFeaturesAndLimits() = 1` Represents the baseline set of WebGPU features and limits. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#Depth32FloatStencil8() = 3` Support for @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#Depth32FloatStencil8()` texture format. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#DepthClipControl() = 2` Allows disabling depth clipping. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#DualSourceBlending() = 17` Allows blending with a second source color output from a fragment shader. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#Float32Blendable() = 15` Allows blending on 32-bit float render targets. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#Float32Filterable() = 14` Allows filtering of 32-bit float textures. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#IndirectFirstInstance() = 10` Support for `firstInstance` parameter in indirect draw calls. |
| `static final int` | `@https://developer.android.com/reference/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/androidx/webgpu/FeatureName#OpaqueYCbCrAndroidForExternalTexture() = 327741` |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#PrimitiveIndex() = 21` Enables the primitive index feature, allowing fragment shaders to read the index of the geometric primitive being rasterized. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#RG11B10UfloatRenderable() = 12` Support for rendering to @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#RG11B10Ufloat()` textures. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#ShaderF16() = 11` Support for 16-bit floating-point types in WGSL. |
| `static final int` | `@https://developer.android.com/reference/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/androidx/webgpu/FeatureName#SharedFenceSyncFD() = 327719` |
| `static final int` | `@https://developer.android.com/reference/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/androidx/webgpu/FeatureName#SharedTextureMemoryAHardwareBuffer() = 327710` |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#SubgroupSizeControl() = 23` |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#Subgroups() = 18` Support for shader subgroup operations. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureComponentSwizzle() = 22` Enables the creation of texture views with a defined component swizzle, allowing the remapping of the R, G, B, and A components during sampling. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureCompressionASTC() = 7` Support for ASTC compressed texture formats. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureCompressionASTCSliced3D() = 8` Support for sliced 3D ASTC compressed texture formats. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureCompressionBC() = 4` Support for BC compressed texture formats. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureCompressionBCSliced3D() = 5` Support for sliced 3D BC compressed texture formats. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureCompressionETC2() = 6` Support for ETC2 compressed texture formats. |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureFormatsTier1() = 19` |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TextureFormatsTier2() = 20` |
| `static final int` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#TimestampQuery() = 9` Support for timestamp queries. |
| `static final int` | `@https://developer.android.com/reference/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/androidx/webgpu/FeatureName#YCbCrVulkanSamplers() = 327725` |

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webgpu/FeatureName#toString(kotlin.Int)(int value)` |

## Constants

### BGRA8UnormStorage

```
public static final int BGRA8UnormStorage = 13
```

Support for using @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#BGRA8Unorm()` as a storage texture.

### ClipDistances

```
public static final int ClipDistances = 16
```

Allows usage of clip distances in shaders.

### CoreFeaturesAndLimits

```
public static final int CoreFeaturesAndLimits = 1
```

Represents the baseline set of WebGPU features and limits.

### Depth32FloatStencil8

```
public static final int Depth32FloatStencil8 = 3
```

Support for @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#Depth32FloatStencil8()` texture format.

### DepthClipControl

```
public static final int DepthClipControl = 2
```

Allows disabling depth clipping.

### DualSourceBlending

```
public static final int DualSourceBlending = 17
```

Allows blending with a second source color output from a fragment shader.

### Float32Blendable

```
public static final int Float32Blendable = 15
```

Allows blending on 32-bit float render targets.

### Float32Filterable

```
public static final int Float32Filterable = 14
```

Allows filtering of 32-bit float textures.

### IndirectFirstInstance

```
public static final int IndirectFirstInstance = 10
```

Support for `firstInstance` parameter in indirect draw calls.

### OpaqueYCbCrAndroidForExternalTexture

```
@ExperimentalWebGpuApi
public static final int OpaqueYCbCrAndroidForExternalTexture = 327741
```

### PrimitiveIndex

```
public static final int PrimitiveIndex = 21
```

Enables the primitive index feature, allowing fragment shaders to read the index of the geometric primitive being rasterized.

### RG11B10UfloatRenderable

```
public static final int RG11B10UfloatRenderable = 12
```

Support for rendering to @see `https://developer.android.com/reference/androidx/webgpu/TextureFormat#RG11B10Ufloat()` textures.

### ShaderF16

```
public static final int ShaderF16 = 11
```

Support for 16-bit floating-point types in WGSL.

### SharedFenceSyncFD

```
@ExperimentalWebGpuApi
public static final int SharedFenceSyncFD = 327719
```

### SharedTextureMemoryAHardwareBuffer

```
@ExperimentalWebGpuApi
public static final int SharedTextureMemoryAHardwareBuffer = 327710
```

### SubgroupSizeControl

```
public static final int SubgroupSizeControl = 23
```

### Subgroups

```
public static final int Subgroups = 18
```

Support for shader subgroup operations.

### TextureComponentSwizzle

```
public static final int TextureComponentSwizzle = 22
```

Enables the creation of texture views with a defined component swizzle, allowing the remapping of the R, G, B, and A components during sampling.

### TextureCompressionASTC

```
public static final int TextureCompressionASTC = 7
```

Support for ASTC compressed texture formats.

### TextureCompressionASTCSliced3D

```
public static final int TextureCompressionASTCSliced3D = 8
```

Support for sliced 3D ASTC compressed texture formats.

### TextureCompressionBC

```
public static final int TextureCompressionBC = 4
```

Support for BC compressed texture formats.

### TextureCompressionBCSliced3D

```
public static final int TextureCompressionBCSliced3D = 5
```

Support for sliced 3D BC compressed texture formats.

### TextureCompressionETC2

```
public static final int TextureCompressionETC2 = 6
```

Support for ETC2 compressed texture formats.

### TextureFormatsTier1

```
public static final int TextureFormatsTier1 = 19
```

### TextureFormatsTier2

```
public static final int TextureFormatsTier2 = 20
```

### TimestampQuery

```
public static final int TimestampQuery = 9
```

Support for timestamp queries.

### YCbCrVulkanSamplers

```
@ExperimentalWebGpuApi
public static final int YCbCrVulkanSamplers = 327725
```

## Public methods

### toString

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public static final @NonNull String toString(int value)
```