Merge pull request #5814 from laytan/wgpu-27.0.2.0

vendor/wgpu: update to 27.0.2.0
This commit is contained in:
gingerBill
2025-10-22 09:47:23 +01:00
committed by GitHub
7 changed files with 43 additions and 17 deletions
+1 -2
View File
@@ -240,8 +240,6 @@ gb_internal lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool i
} }
} }
} }
lb_set_linkage_from_entity_flags(p->module, p->value, entity->flags);
if (p->is_foreign) { if (p->is_foreign) {
lb_set_wasm_procedure_import_attributes(p->value, entity, p->name); lb_set_wasm_procedure_import_attributes(p->value, entity, p->name);
@@ -284,6 +282,7 @@ gb_internal lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool i
LLVMSetLinkage(p->value, LLVMExternalLinkage); LLVMSetLinkage(p->value, LLVMExternalLinkage);
} }
lb_set_linkage_from_entity_flags(p->module, p->value, entity->flags);
if (m->debug_builder) { // Debug Information if (m->debug_builder) { // Debug Information
Type *bt = base_type(p->type); Type *bt = base_type(p->type);
+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/v25.0.2.1]]. extremely easy, just download them from the [[releases on GitHub; https://github.com/gfx-rs/wgpu-native/releases/tag/v27.0.2.0]].
the bindings are for v25.0.2.1 at the moment. the bindings are for v27.0.2.0 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`),
+12 -10
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/v25.0.2.1, 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/v27.0.2.0, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
@@ -39,7 +39,7 @@ 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/v25.0.2.1, 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/v27.0.2.0, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
@@ -56,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/v25.0.2.1, 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/v27.0.2.0, make sure to read the README at '" + #directory + "README.md'")
} }
@(export) @(export)
@@ -282,8 +282,7 @@ FeatureName :: enum i32 {
// Native. // Native.
PushConstants = 0x00030001, PushConstants = 0x00030001,
TextureAdapterSpecificFormatFeatures, TextureAdapterSpecificFormatFeatures,
MultiDrawIndirect, MultiDrawIndirectCount = 0x00030004,
MultiDrawIndirectCount,
VertexWritableStorage, VertexWritableStorage,
TextureBindingArray, TextureBindingArray,
SampledTextureAndStorageBufferArrayNonUniformIndexing, SampledTextureAndStorageBufferArrayNonUniformIndexing,
@@ -298,16 +297,15 @@ FeatureName :: enum i32 {
// TODO: requires wgpu.h api change // TODO: requires wgpu.h api change
// AddressModeClampToZero, // AddressModeClampToZero,
// AddressModeClampToBorder, // AddressModeClampToBorder,
// PolygonModeLine, PolygonModeLine = 0x00030013,
// PolygonModePoint, PolygonModePoint,
// ConservativeRasterization, ConservativeRasterization,
// ClearTexture, // ClearTexture,
SpirvShaderPassthrough = 0x00030017, SpirvShaderPassthrough = 0x00030017,
// MultiView, // MultiView,
VertexAttribute64bit = 0x00030019, VertexAttribute64bit = 0x00030019,
TextureFormatNv12, TextureFormatNv12,
RayTracingAccelarationStructure, RayQuery = 0x0003001C,
RayQuery,
ShaderF64, ShaderF64,
ShaderI16, ShaderI16,
ShaderPrimitiveIndex, ShaderPrimitiveIndex,
@@ -317,6 +315,7 @@ FeatureName :: enum i32 {
SubgroupBarrier, SubgroupBarrier,
TimestampQueryInsideEncoders, TimestampQueryInsideEncoders,
TimestampQueryInsidePasses, TimestampQueryInsidePasses,
ShaderInt64,
} }
FilterMode :: enum i32 { FilterMode :: enum i32 {
@@ -446,6 +445,8 @@ SType :: enum i32 {
BindGroupLayoutEntryExtras, BindGroupLayoutEntryExtras,
QuerySetDescriptorExtras, QuerySetDescriptorExtras,
SurfaceConfigurationExtras, SurfaceConfigurationExtras,
SurfaceSourceSwapChainPanel,
PrimitiveStateExtras,
// Odin. // Odin.
SurfaceSourceCanvasHTMLSelector = 0x00040001, SurfaceSourceCanvasHTMLSelector = 0x00040001,
@@ -624,6 +625,7 @@ TextureFormat :: enum i32 {
Rgba16Snorm, Rgba16Snorm,
// From FeatureName.TextureFormatNv12 // From FeatureName.TextureFormatNv12
NV12, NV12,
P010,
} }
TextureSampleType :: enum i32 { TextureSampleType :: enum i32 {
+28 -3
View File
@@ -2,8 +2,8 @@ package wgpu
import "base:runtime" import "base:runtime"
BINDINGS_VERSION :: [4]u8{25, 0, 2, 1} BINDINGS_VERSION :: [4]u8{27, 0, 2, 0}
BINDINGS_VERSION_STRING :: "25.0.2.1" BINDINGS_VERSION_STRING :: "27.0.2.0"
LogLevel :: enum i32 { LogLevel :: enum i32 {
Off, Off,
@@ -79,9 +79,10 @@ InstanceExtras :: struct {
dx12ShaderCompiler: Dx12Compiler, dx12ShaderCompiler: Dx12Compiler,
gles3MinorVersion: Gles3MinorVersion, gles3MinorVersion: Gles3MinorVersion,
glFenceBehaviour: GLFenceBehaviour, glFenceBehaviour: GLFenceBehaviour,
dxilPath: StringView,
dxcPath: StringView, dxcPath: StringView,
dcxMaxShaderModel: DxcMaxShaderModel, dcxMaxShaderModel: DxcMaxShaderModel,
budgetForDeviceCreation: ^u8,
budgetForDeviceLoss: ^u8,
} }
DeviceExtras :: struct { DeviceExtras :: struct {
@@ -191,6 +192,30 @@ SurfaceConfigurationExtras :: struct {
desiredMaximumFrameLatency: u32, desiredMaximumFrameLatency: u32,
} }
/**
* Chained in `SurfaceDescriptor` to make a `Surface` wrapping a WinUI [[ SwapChainPanel ; https://learn.microsoft.com/en-us/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.swapchainpanel ]].
*/
SurfaceSourceSwapChainPanel :: struct {
using chain: ChainedStruct,
/**
* A pointer to the [[ ISwapChainPanelNative ; https://learn.microsoft.com/en-us/windows/windows-app-sdk/api/win32/microsoft.ui.xaml.media.dxinterop/nn-microsoft-ui-xaml-media-dxinterop-iswapchainpanelnative ]]
* interface of the `SwapChainPanel` that will be wrapped by the `Surface`.
*/
panelNative: rawptr,
}
PolygonMode :: enum i32 {
Fill,
Line,
Point,
}
PrimitiveStateExtras :: struct {
using chain: ChainedStruct,
polygonMode: PolygonMode,
conservative: b32,
}
LogCallback :: #type proc "c" (level: LogLevel, message: StringView, userdata: rawptr) LogCallback :: #type proc "c" (level: LogLevel, message: StringView, userdata: rawptr)
// Wrappers // Wrappers