Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,18 @@ linters:
linters:
- unused
- revive
# FFI render_pipeline has C struct padding
# Conversion functions have large switch statements - inherently high complexity but straightforward
- path: convert\.go
linters:
- gocyclo
- cyclop
- funlen
# FFI render_pipeline has C struct padding and complex CreateRenderPipeline
- path: render_pipeline\.go
linters:
- unused
- gocyclo
- cyclop
# wgpu.go has procs for future use and long init
- path: wgpu\.go
linters:
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Integration with [gogpu ecosystem](https://github.com/gogpu) via gputypes
- Full webgpu.h spec compliance for enum values
- Comprehensive conversion layer (`wgpu/convert.go`) for wgpu-native v27 compatibility
- TextureFormat (~45 formats), VertexFormat (~30 formats)
- VertexStepMode, TextureSampleType, TextureViewDimension, StorageTextureAccess
- Wire structs with correct FFI padding (uint64 flags)

### Fixed

- TextureFormat enum values mismatch (BGRA8Unorm was 0x17, now correct 0x1B)
- Compatibility with gogpu Rust backend
- Struct padding in BindGroupLayout wire structs (sampler, texture, storage)
- PipelineLayout creation in examples (use CreatePipelineLayoutSimple)
- GetModuleHandleW: kernel32.dll instead of user32.dll (all Windows examples)
- Sampler MaxAnisotropy default (wgpu-native requires >= 1)
- Texture SampleCount/MipLevelCount defaults (wgpu-native requires >= 1)
- render_bundle shader: fallback without primitive_index (works on all GPUs)

### Migration Guide

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Pure Go WebGPU bindings using [goffi](https://github.com/go-webgpu/goffi) + [wgp
## Requirements

- Go 1.25+
- wgpu-native v24.0.3.1 ([download](https://github.com/gfx-rs/wgpu-native/releases))
- wgpu-native v27.0.4.0 ([download](https://github.com/gfx-rs/wgpu-native/releases))

## Installation

Expand Down
Loading