Merge pull request #5219 from laytan/wgpu-25.0.2.1

wgpu: update to 25.0.2.1
This commit is contained in:
gingerBill
2025-05-26 19:18:59 +01:00
committed by GitHub
6 changed files with 29 additions and 10 deletions
+2 -2
View File
@@ -12,8 +12,8 @@ You can find a number of examples on [[Odin's official examples repository; http
**Getting the wgpu-native libraries** **Getting the wgpu-native libraries**
For native support (not the browser), some libraries are required. Fortunately this is For native support (not the browser), some libraries are required. Fortunately this is
extremely easy, just download them from the [[releases on GitHub; https://github.com/gfx-rs/wgpu-native/releases/tag/v24.0.0.2]]. extremely easy, just download them from the [[releases on GitHub; https://github.com/gfx-rs/wgpu-native/releases/tag/v25.0.2.1]].
the bindings are for v24.0.0.2 at the moment. the bindings are for v25.0.2.1 at the moment.
These are expected in the `lib` folder under the same name as they are released (just unzipped). These are expected in the `lib` folder under the same name as they are released (just unzipped).
By default it will look for a static release version (`wgpu-OS-ARCH-release.a|lib`), By default it will look for a static release version (`wgpu-OS-ARCH-release.a|lib`),
+5 -4
View File
@@ -13,7 +13,7 @@ when ODIN_OS == .Windows {
@(private) LIB :: "lib/wgpu-windows-" + ARCH + "-msvc-" + TYPE + "/lib/wgpu_native" + EXT @(private) LIB :: "lib/wgpu-windows-" + ARCH + "-msvc-" + TYPE + "/lib/wgpu_native" + EXT
when !#exists(LIB) { when !#exists(LIB) {
#panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v24.0.0.2, make sure to read the README at '" + #directory + "README.md'") #panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v25.0.2.1, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
@@ -39,12 +39,13 @@ when ODIN_OS == .Windows {
@(private) LIB :: "lib/wgpu-macos-" + ARCH + "-" + TYPE + "/lib/libwgpu_native" + EXT @(private) LIB :: "lib/wgpu-macos-" + ARCH + "-" + TYPE + "/lib/libwgpu_native" + EXT
when !#exists(LIB) { when !#exists(LIB) {
#panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v24.0.0.2, make sure to read the README at '" + #directory + "README.md'") #panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v25.0.2.1, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
foreign import libwgpu { foreign import libwgpu {
LIB, LIB,
"system:Foundation.framework",
"system:CoreFoundation.framework", "system:CoreFoundation.framework",
"system:QuartzCore.framework", "system:QuartzCore.framework",
"system:Metal.framework", "system:Metal.framework",
@@ -55,7 +56,7 @@ when ODIN_OS == .Windows {
@(private) LIB :: "lib/wgpu-linux-" + ARCH + "-" + TYPE + "/lib/libwgpu_native" + EXT @(private) LIB :: "lib/wgpu-linux-" + ARCH + "-" + TYPE + "/lib/libwgpu_native" + EXT
when !#exists(LIB) { when !#exists(LIB) {
#panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v24.0.0.2, make sure to read the README at '" + #directory + "README.md'") #panic("Could not find the compiled WGPU Native library at '" + #directory + LIB + "', these can be downloaded from https://github.com/gfx-rs/wgpu-native/releases/tag/v25.0.2.1, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
@@ -438,7 +439,7 @@ SType :: enum i32 {
DeviceExtras = 0x00030001, DeviceExtras = 0x00030001,
NativeLimits, NativeLimits,
PipelineLayoutExtras, PipelineLayoutExtras,
ShaderModuleGLSLDescriptor, ShaderSourceGLSL,
SupportedLimitsExtras, SupportedLimitsExtras,
InstanceExtras, InstanceExtras,
BindGroupEntryExtras, BindGroupEntryExtras,
+1 -1
View File
@@ -12,7 +12,7 @@ foreign libwgpu {
RawQueueSubmitForIndex :: proc(queue: Queue, commandCount: uint, commands: [^]CommandBuffer) -> SubmissionIndex --- RawQueueSubmitForIndex :: proc(queue: Queue, commandCount: uint, commands: [^]CommandBuffer) -> SubmissionIndex ---
// Returns true if the queue is empty, or false if there are more queue submissions still in flight. // Returns true if the queue is empty, or false if there are more queue submissions still in flight.
DevicePoll :: proc(device: Device, wait: b32, /* NULLABLE */ wrappedSubmissionIndex: /* const */ ^SubmissionIndex = nil) -> b32 --- DevicePoll :: proc(device: Device, wait: b32, /* NULLABLE */ submissionIndex: /* const */ ^SubmissionIndex = nil) -> b32 ---
DeviceCreateShaderModuleSpirV :: proc(device: Device, descriptor: ^ShaderModuleDescriptorSpirV) -> ShaderModule --- DeviceCreateShaderModuleSpirV :: proc(device: Device, descriptor: ^ShaderModuleDescriptorSpirV) -> ShaderModule ---
SetLogCallback :: proc(callback: LogCallback, userdata: rawptr) --- SetLogCallback :: proc(callback: LogCallback, userdata: rawptr) ---
+21 -3
View File
@@ -2,8 +2,8 @@ package wgpu
import "base:runtime" import "base:runtime"
BINDINGS_VERSION :: [4]u8{24, 0, 0, 2} BINDINGS_VERSION :: [4]u8{25, 0, 2, 1}
BINDINGS_VERSION_STRING :: "24.0.0.2" BINDINGS_VERSION_STRING :: "25.0.2.1"
LogLevel :: enum i32 { LogLevel :: enum i32 {
Off, Off,
@@ -56,14 +56,32 @@ PipelineStatisticName :: enum i32 {
ComputeShaderInvocations, ComputeShaderInvocations,
} }
DxcMaxShaderModel :: enum i32 {
V6_0,
V6_1,
V6_2,
V6_3,
V6_4,
V6_5,
V6_6,
V6_7,
}
GLFenceBehaviour :: enum i32 {
Normal,
AutoFinish,
}
InstanceExtras :: struct { InstanceExtras :: struct {
using chain: ChainedStruct, using chain: ChainedStruct,
backends: InstanceBackendFlags, backends: InstanceBackendFlags,
flags: InstanceFlags, flags: InstanceFlags,
dx12ShaderCompiler: Dx12Compiler, dx12ShaderCompiler: Dx12Compiler,
gles3MinorVersion: Gles3MinorVersion, gles3MinorVersion: Gles3MinorVersion,
glFenceBehaviour: GLFenceBehaviour,
dxilPath: StringView, dxilPath: StringView,
dxcPath: StringView, dxcPath: StringView,
dcxMaxShaderModel: DxcMaxShaderModel,
} }
DeviceExtras :: struct { DeviceExtras :: struct {
@@ -96,7 +114,7 @@ ShaderDefine :: struct {
value: StringView, value: StringView,
} }
ShaderModuleGLSLDescriptor :: struct { ShaderSourceGLSL :: struct {
using chain: ChainedStruct, using chain: ChainedStruct,
stage: ShaderStage, stage: ShaderStage,
code: StringView, code: StringView,