Android Studio Sign in

GPUDevice


public final class GPUDevice implements AutoCloseable


The primary interface for interacting with the GPU, used to create most resources.

Summary

Public methods

external void
final external @NonNull GPUBindGroup

Creates a new bind group.

final external @NonNull GPUBindGroupLayout

Creates a new bind group layout.

final external @NonNull GPUBuffer

Creates a new GPU buffer.

final external @NonNull GPUCommandEncoder

Creates a new command encoder to record command buffers.

final external @NonNull GPUComputePipeline

Creates a new compute pipeline synchronously.

final @NonNull GPUComputePipeline

Creates a new compute pipeline asynchronously.

final external void

Creates a new compute pipeline asynchronously.

final external @NonNull GPUPipelineLayout

Creates a new pipeline layout.

final external @NonNull GPUQuerySet

Creates a new query set.

final external @NonNull GPURenderBundleEncoder

Creates a new render bundle encoder to record render bundles.

final external @NonNull GPURenderPipeline

Creates a new render pipeline synchronously.

final @NonNull GPURenderPipeline

Creates a new render pipeline asynchronously.

final external void

Creates a new render pipeline asynchronously.

final external @NonNull GPUSampler

Creates a new sampler.

final external @NonNull GPUShaderModule

Creates a new shader module.

final external @NonNull GPUTexture

Creates a new GPU texture.

final external void

Destroys the device and frees its resources.

boolean
equals(Object other)
final external @NonNull AdapterInfo

Gets information about the adapter that was used to create this device.

final external @NonNull SupportedFeatures

Gets the set of features supported by the device.

final long
final external @NonNull Limits

Gets the limits supported by the device.

final external @NonNull GPUQueue

Gets the queue object for submitting commands to the GPU.

final external boolean
@FastNative
hasFeature(int feature)

Checks if a specific feature is enabled on the device.

int
final int

Pops the current error scope from the stack asynchronously and returns a possible error.

final external void
@FastNative
popErrorScope(
    @NonNull Executor callbackExecutor,
    @NonNull PopErrorScopeCallback callback
)

Pops the current error scope from the stack asynchronously and returns a possible error.

final external void

Pushes a new error scope onto the device's error scope stack.

final @NonNull GPUQueue
final external void

Sets a debug label for the device.

Public methods

close

Added in 1.0.0-alpha01
public external void close()

createBindGroup

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUBindGroup createBindGroup(@NonNull BindGroupDescriptor descriptor)

Creates a new bind group.

Parameters
@NonNull BindGroupDescriptor descriptor

The descriptor for the bind group.

Returns
@NonNull GPUBindGroup

The newly created bind group.

createBindGroupLayout

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUBindGroupLayout createBindGroupLayout(@NonNull BindGroupLayoutDescriptor descriptor)

Creates a new bind group layout.

Parameters
@NonNull BindGroupLayoutDescriptor descriptor

The descriptor for the bind group layout.

Returns
@NonNull GPUBindGroupLayout

The newly created bind group layout.

createBuffer

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUBuffer createBuffer(@NonNull BufferDescriptor descriptor)

Creates a new GPU buffer.

Parameters
@NonNull BufferDescriptor descriptor

The descriptor for the buffer.

Returns
@NonNull GPUBuffer

The newly created buffer.

createCommandEncoder

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUCommandEncoder createCommandEncoder(CommandEncoderDescriptor descriptor)

Creates a new command encoder to record command buffers.

Parameters
CommandEncoderDescriptor descriptor

The descriptor for the command encoder.

Returns
@NonNull GPUCommandEncoder

The newly created command encoder.

createComputePipeline

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUComputePipeline createComputePipeline(@NonNull ComputePipelineDescriptor descriptor)

Creates a new compute pipeline synchronously.

Parameters
@NonNull ComputePipelineDescriptor descriptor

The descriptor for the compute pipeline.

Returns
@NonNull GPUComputePipeline

The newly created compute pipeline.

createComputePipelineAndAwait

public final @NonNull GPUComputePipeline createComputePipelineAndAwait(
    @NonNull ComputePipelineDescriptor descriptor
)

Creates a new compute pipeline asynchronously.

Parameters
@NonNull ComputePipelineDescriptor descriptor

The descriptor for the compute pipeline.

createComputePipelineAsync

Added in 1.0.0-alpha01
@FastNative
public final external void createComputePipelineAsync(
    @NonNull ComputePipelineDescriptor descriptor,
    @NonNull Executor callbackExecutor,
    @NonNull CreateComputePipelineAsyncCallback callback
)

Creates a new compute pipeline asynchronously.

createPipelineLayout

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUPipelineLayout createPipelineLayout(@NonNull PipelineLayoutDescriptor descriptor)

Creates a new pipeline layout.

Parameters
@NonNull PipelineLayoutDescriptor descriptor

The descriptor for the pipeline layout.

Returns
@NonNull GPUPipelineLayout

The newly created pipeline layout.

createQuerySet

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUQuerySet createQuerySet(@NonNull QuerySetDescriptor descriptor)

Creates a new query set.

Parameters
@NonNull QuerySetDescriptor descriptor

The descriptor for the query set.

Returns
@NonNull GPUQuerySet

The newly created query set.

createRenderBundleEncoder

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPURenderBundleEncoder createRenderBundleEncoder(
    @NonNull RenderBundleEncoderDescriptor descriptor
)

Creates a new render bundle encoder to record render bundles.

Parameters
@NonNull RenderBundleEncoderDescriptor descriptor

The descriptor for the render bundle encoder.

Returns
@NonNull GPURenderBundleEncoder

The newly created render bundle encoder.

createRenderPipeline

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPURenderPipeline createRenderPipeline(@NonNull RenderPipelineDescriptor descriptor)

Creates a new render pipeline synchronously.

Parameters
@NonNull RenderPipelineDescriptor descriptor

The descriptor for the render pipeline.

Returns
@NonNull GPURenderPipeline

The newly created render pipeline.

createRenderPipelineAndAwait

public final @NonNull GPURenderPipeline createRenderPipelineAndAwait(
    @NonNull RenderPipelineDescriptor descriptor
)

Creates a new render pipeline asynchronously.

Parameters
@NonNull RenderPipelineDescriptor descriptor

The descriptor for the render pipeline.

createRenderPipelineAsync

Added in 1.0.0-alpha01
@FastNative
public final external void createRenderPipelineAsync(
    @NonNull RenderPipelineDescriptor descriptor,
    @NonNull Executor callbackExecutor,
    @NonNull CreateRenderPipelineAsyncCallback callback
)

Creates a new render pipeline asynchronously.

createSampler

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUSampler createSampler(SamplerDescriptor descriptor)

Creates a new sampler.

Parameters
SamplerDescriptor descriptor

The descriptor for the sampler.

Returns
@NonNull GPUSampler

The newly created sampler.

createShaderModule

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUShaderModule createShaderModule(@NonNull ShaderModuleDescriptor descriptor)

Creates a new shader module.

Parameters
@NonNull ShaderModuleDescriptor descriptor

The descriptor for the shader module.

Returns
@NonNull GPUShaderModule

The newly created shader module.

createTexture

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUTexture createTexture(@NonNull TextureDescriptor descriptor)

Creates a new GPU texture.

Parameters
@NonNull TextureDescriptor descriptor

The descriptor for the texture.

Returns
@NonNull GPUTexture

The newly created texture.

destroy

Added in 1.0.0-alpha01
@FastNative
public final external void destroy()

Destroys the device and frees its resources. The device becomes lost.

equals

public boolean equals(Object other)

getAdapterInfo

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull AdapterInfo getAdapterInfo()

Gets information about the adapter that was used to create this device.

Returns
@NonNull AdapterInfo

Status code of the operation.

getFeatures

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull SupportedFeatures getFeatures()

Gets the set of features supported by the device.

getHandle

Added in 1.0.0-alpha01
public final long getHandle()

getLimits

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull Limits getLimits()

Gets the limits supported by the device.

Returns
@NonNull Limits

Status code of the operation.

getQueue

Added in 1.0.0-alpha01
@FastNative
public final external @NonNull GPUQueue getQueue()

Gets the queue object for submitting commands to the GPU.

Returns
@NonNull GPUQueue

The device's queue.

hasFeature

Added in 1.0.0-alpha01
@FastNative
public final external boolean hasFeature(int feature)

Checks if a specific feature is enabled on the device.

Parameters
int feature

The feature to check for support.

Returns
boolean

True if the feature is enabled, {@code false} otherwise.

hashCode

public int hashCode()

popErrorScope

public final int popErrorScope()

Pops the current error scope from the stack asynchronously and returns a possible error.

popErrorScope

Added in 1.0.0-alpha01
@FastNative
public final external void popErrorScope(
    @NonNull Executor callbackExecutor,
    @NonNull PopErrorScopeCallback callback
)

Pops the current error scope from the stack asynchronously and returns a possible error.

pushErrorScope

Added in 1.0.0-alpha01
@FastNative
public final external void pushErrorScope(int filter)

Pushes a new error scope onto the device's error scope stack.

Parameters
int filter

The type of errors to filter and capture in the new scope.

queue

Added in 1.0.0-alpha01
public final @NonNull GPUQueue queue()

setLabel

Added in 1.0.0-alpha01
@FastNative
public final external void setLabel(@NonNull String label)

Sets a debug label for the device.

Parameters
@NonNull String label

The label to assign to the device.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.