- Allow DMD >= v2.107.0 in Dub toolchain requirements
- Prevent module conflicts, add namespace to C bindings
- Fix reference to wgpu-native in documentation
- Add
static
build configuration to force linking towgpu-native
's static libraries
- Link against
wgpu-native
's dynamic libraries by default
Upgrade wgpu-native
to v0.17.0.2.
- Add
Device.poll
overload for generic device queues - Implement
Instance.adapters
to enumerate available GPU adapters - Integrate
Device.setUncapturedErrorCallback
into triangle example
- Link against
wgpu-native
's static libraries by default
- Fix compilation on macOS 10.14
- Fixed bit-flag enumerations, e.g.
BufferUsage
,ShaderStage
, andTextureUsage
.
- Fixed compilation on macOS 10.14
- Refactored enumerations
- Added documentation for more aliases
- Fixed CI tests by pinning LDC version in workflows
Add a windowed cube example.
- Added unit tests for
wgpu.limits
andwgpu.utils
modules
Add a windowed triangle example.
wgpu.utils
module of structures and functions, loosely modelled afterwgpu::util
.BlendMode
enumMultisampleState
structPrimitiveState
structDepthStencilState
structColorTargetState
structVertexState
structFragmentState
classDevice.createShaderModule(string wgsl)
method overloadDevice.createBindGroupLayout
methodDevice.createBindGroup(BindGroupLayout layout, BindGroupEntry[] entries, string label = null)
method overloadDevice.emptyPipelineLayout
methodDevice.createPipelineLayout(const BindGroupLayout[] bindGroups, string label = null)
method overloadcreateSampler(AddressMode addressMode, FilterMode magFilter, FilterMode minFilter, FilterMode mipmapFilter = FilterMode.nearest)
method overloadDevice.createSwapChain(const Surface surface, uint width, uint height, const TextureFormat format, const TextureUsage usage, const PresentMode presentMode, const string label = null)
method overloadTexture.asRenderTarget
methodTexture.multisampleState
methodTextureView.textureSampler
methodTextureView.binding
methodSampler.binding
methodCommandEncoder.copyBufferToTexture
methodRenderPass.colorAttachment
factory methodRenderPass.draw(uint vertexCount, uint instanceCount, uint firstVertex = 0, uint firstInstance = 0)
method overload
- Enhance documentation
- Change signatures of and refactor
Instance.requestAdapter
andAdapter.requestDevice
- Refactor
RenderPass.setBindGroup
method signature - Refactor
Device.createRenderPipeline
method signatures - Refactor
Device.createTexture
method signatures - Refactor
Device.createShaderModule(const byte[] spv)
- Refactor
Device
,Buffer
,RenderPipeline
, andSwapChain
into classes Because dealing with, "What if this debug label goes out of scope and gets GC'd?" is becoming a headache, convert offendingstruct
ures (those with complex wrappers that aren't simply opaque pointers) to classes to reap those reference semantics. - Refactor
Buffer.getMappedRange
method signature - Refactor
Buffer.mapReadAsync
andBuffer.mapWriteAsync
method signatures - Refactor
Texture.defaultView
property - Refactor
Surface
factory methods
- Refactor
Surface
factory methods' documentation Method docs were duplicated depending on the OS where docs were built.
Improve ergonomics of the idiomatic API.
- Method overloads for:
RenderPass.colorAttachment
static initializerwgpu.limits
utility module to help manage GPU limitations- Properties to
Texture
, several of which are useful to maintain alignment with Texture-Buffer copies:
Upgraded to wgpu-native
@0.10.4.1.
- The method of binding to wgpu-native was switched from
dpp
to ImportC (#5)
- Fix
Surface
static initializers for Linuxes
- Removed Wayland support
- Add an idiomatic D wrapper around wgpu-native
- Add generated documentation
- Add a windowless example that clears the background to red
- Add
Surface
static initializers given native window pointers - Add
Device.ready
property - Add descriptor references to all describable structs