Module: WGPU::NativeResource::Lifecycle

Defined in:
lib/wgpu/native_resource.rb

Instance Method Summary collapse

Instance Method Details

#initialize(*args, **kwargs) { ... } ⇒ NativeResource

Initializes a wrapper and registers its native-resource lifecycle.

Parameters:

  • args (Array)

    positional arguments forwarded to the resource

  • kwargs (Hash)

    keyword arguments forwarded to the resource

Yields:

  • block forwarded to the resource initializer

Returns:



204
205
206
207
208
# File 'lib/wgpu/native_resource.rb', line 204

def initialize(*args, **kwargs, &block)
  super
  initialize_native_resource(label: kwargs.fetch(:label, UNSET))
  attach_device_callback_lifetime_from_parent
end

#releasevoid

This method returns an undefined value.

Releases a resource once and unregisters it from leak tracking.



213
214
215
216
217
218
219
220
221
# File 'lib/wgpu/native_resource.rb', line 213

def release(...)
  return if released?

  result = super
  release_device_callback_lifetime
  @released = true
  LeakTracker.unregister(self)
  result
end