# 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)

*** ** * ** ***


```
class FeatureName
```

<br />

*** ** * ** ***

An enumeration of optional features that a device may support.

## Summary

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

| ### Public companion functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/FeatureName#toString(kotlin.Int)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |

## Constants

### BGRA8UnormStorage

```
const val BGRA8UnormStorage = 13: Int
```

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

### ClipDistances

```
const val ClipDistances = 16: Int
```

Allows usage of clip distances in shaders.

### CoreFeaturesAndLimits

```
const val CoreFeaturesAndLimits = 1: Int
```

Represents the baseline set of WebGPU features and limits.

### Depth32FloatStencil8

```
const val Depth32FloatStencil8 = 3: Int
```

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

### DepthClipControl

```
const val DepthClipControl = 2: Int
```

Allows disabling depth clipping.

### DualSourceBlending

```
const val DualSourceBlending = 17: Int
```

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

### Float32Blendable

```
const val Float32Blendable = 15: Int
```

Allows blending on 32-bit float render targets.

### Float32Filterable

```
const val Float32Filterable = 14: Int
```

Allows filtering of 32-bit float textures.

### IndirectFirstInstance

```
const val IndirectFirstInstance = 10: Int
```

Support for `firstInstance` parameter in indirect draw calls.

### OpaqueYCbCrAndroidForExternalTexture

```
@ExperimentalWebGpuApi
const val OpaqueYCbCrAndroidForExternalTexture = 327741: Int
```

### PrimitiveIndex

```
const val PrimitiveIndex = 21: Int
```

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

### RG11B10UfloatRenderable

```
const val RG11B10UfloatRenderable = 12: Int
```

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

### ShaderF16

```
const val ShaderF16 = 11: Int
```

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

### SharedFenceSyncFD

```
@ExperimentalWebGpuApi
const val SharedFenceSyncFD = 327719: Int
```

### SharedTextureMemoryAHardwareBuffer

```
@ExperimentalWebGpuApi
const val SharedTextureMemoryAHardwareBuffer = 327710: Int
```

### SubgroupSizeControl

```
const val SubgroupSizeControl = 23: Int
```

### Subgroups

```
const val Subgroups = 18: Int
```

Support for shader subgroup operations.

### TextureComponentSwizzle

```
const val TextureComponentSwizzle = 22: Int
```

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

```
const val TextureCompressionASTC = 7: Int
```

Support for ASTC compressed texture formats.

### TextureCompressionASTCSliced3D

```
const val TextureCompressionASTCSliced3D = 8: Int
```

Support for sliced 3D ASTC compressed texture formats.

### TextureCompressionBC

```
const val TextureCompressionBC = 4: Int
```

Support for BC compressed texture formats.

### TextureCompressionBCSliced3D

```
const val TextureCompressionBCSliced3D = 5: Int
```

Support for sliced 3D BC compressed texture formats.

### TextureCompressionETC2

```
const val TextureCompressionETC2 = 6: Int
```

Support for ETC2 compressed texture formats.

### TextureFormatsTier1

```
const val TextureFormatsTier1 = 19: Int
```

### TextureFormatsTier2

```
const val TextureFormatsTier2 = 20: Int
```

### TimestampQuery

```
const val TimestampQuery = 9: Int
```

Support for timestamp queries.

### YCbCrVulkanSamplers

```
@ExperimentalWebGpuApi
const val YCbCrVulkanSamplers = 327725: Int
```

## Public companion functions

### toString

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

```
fun toString(value: Int): String
```