Module: WGPU
- Defined in:
- lib/wgpu.rb,
lib/wgpu/error.rb,
lib/wgpu/window.rb,
lib/wgpu/logging.rb,
lib/wgpu/version.rb,
lib/wgpu/async_task.rb,
lib/wgpu/core/queue.rb,
lib/wgpu/data_types.rb,
lib/wgpu/core/device.rb,
lib/wgpu/core/adapter.rb,
lib/wgpu/core/surface.rb,
lib/wgpu/native/enums.rb,
lib/wgpu/core/instance.rb,
lib/wgpu/native/loader.rb,
lib/wgpu/native/structs.rb,
lib/wgpu/texture_format.rb,
lib/wgpu/native_resource.rb,
lib/wgpu/native/callbacks.rb,
lib/wgpu/native/functions.rb,
lib/wgpu/native/installer.rb,
lib/wgpu/resources/buffer.rb,
lib/wgpu/core/async_waiter.rb,
lib/wgpu/resources/sampler.rb,
lib/wgpu/resources/texture.rb,
lib/wgpu/descriptor_helpers.rb,
lib/wgpu/native/enum_helper.rb,
lib/wgpu/core/canvas_context.rb,
lib/wgpu/native/abi_verifier.rb,
lib/wgpu/native/capabilities.rb,
lib/wgpu/native/distribution.rb,
lib/wgpu/pipeline/bind_group.rb,
lib/wgpu/resources/query_set.rb,
lib/wgpu/commands/render_pass.rb,
lib/wgpu/commands/compute_pass.rb,
lib/wgpu/commands/render_bundle.rb,
lib/wgpu/pipeline/shader_module.rb,
lib/wgpu/resources/texture_view.rb,
lib/wgpu/commands/command_buffer.rb,
lib/wgpu/commands/command_encoder.rb,
lib/wgpu/pipeline/pipeline_layout.rb,
lib/wgpu/pipeline/render_pipeline.rb,
lib/wgpu/pipeline/compute_pipeline.rb,
lib/wgpu/pipeline/bind_group_layout.rb,
lib/wgpu/commands/render_bundle_encoder.rb,
sig/wgpu.rbs
Defined Under Namespace
Modules: AsyncWaiter, CallbackKeepalive, DataTypes, DescriptorHelpers, LeakTracker, Native, NativeResource, TextureFormat, Window Classes: Adapter, AdapterError, AsyncTask, BindGroup, BindGroupLayout, Buffer, BufferError, BufferMappedRange, CanvasContext, CommandBuffer, CommandEncoder, CommandError, CompilationMessage, ComputePass, ComputePipeline, Device, DeviceError, DeviceLostError, Error, GPUError, InitializationError, Instance, InternalError, OutOfMemoryError, PipelineError, PipelineLayout, QuerySet, Queue, RenderBundle, RenderBundleEncoder, RenderBundleError, RenderPass, RenderPipeline, ResourceError, Sampler, ShaderError, ShaderModule, Surface, SurfaceAcquisitionError, SurfaceError, Texture, TextureError, TextureView, TimeoutError, ValidationError
Constant Summary collapse
- VERSION =
"1.2.1"
Class Attribute Summary collapse
-
.debug_leaks ⇒ Boolean
Returns the value of attribute debug_leaks.
-
.log_level ⇒ Symbol
Returns the configured wgpu-native log level.
Class Method Summary collapse
-
.on_log {|level, message, arg0, arg1| ... } ⇒ WGPU
Registers a process-wide wgpu-native log handler.
Class Attribute Details
.debug_leaks ⇒ Boolean
Returns the value of attribute debug_leaks.
5 6 7 |
# File 'lib/wgpu/native_resource.rb', line 5 def debug_leaks @debug_leaks end |
.log_level ⇒ Symbol
Returns the configured wgpu-native log level.
6 7 8 |
# File 'lib/wgpu/logging.rb', line 6 def log_level @log_level end |
Class Method Details
.on_log {|level, message, arg0, arg1| ... } ⇒ WGPU
Registers a process-wide wgpu-native log handler.
The native callback is retained by the WGPU module for the rest of the process, or until this method replaces it.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/wgpu/logging.rb', line 28 def on_log(&handler) raise ArgumentError, "block is required" unless handler ensure_native_logging! @log_handler = handler @native_log_callback = FFI::Function.new( :void, [:uint32, Native::StringView.by_value, :pointer] ) do |level, , _userdata| text = if [:data] && ![:data].null? && [:length].positive? [:data].read_string([:length]) else "" end @log_handler.call(Native::LogLevel[level] || level, text) rescue StandardError => e warn "WGPU log handler failed: #{e.class}: #{e.}" end Native.wgpuSetLogCallback(@native_log_callback, nil) self end |