diff --git a/lib/gfx/gx.cpp b/lib/gfx/gx.cpp index ad52148..8fc85a9 100644 --- a/lib/gfx/gx.cpp +++ b/lib/gfx/gx.cpp @@ -180,6 +180,8 @@ static inline wgpu::PrimitiveState to_primitive_state(GXPrimitive gx_prim, GXCul } return { .topology = primitive, + .stripIndexFormat = gx_prim == GX_TRIANGLESTRIP || gx_prim == GX_LINESTRIP ? wgpu::IndexFormat::Uint16 + : wgpu::IndexFormat::Undefined, .frontFace = wgpu::FrontFace::CW, .cullMode = cullMode, }; @@ -251,11 +253,11 @@ void populate_pipeline_config(PipelineConfig& config, GXPrimitive primitive, GXV continue; } // Map attribute to its own storage - config.shaderConfig.attrMapping[i] = StorageConfig { - .attr = static_cast(i), - .cnt = vtxFmt.attrs[i].cnt, - .compType = vtxFmt.attrs[i].type, - .frac = vtxFmt.attrs[i].frac, + config.shaderConfig.attrMapping[i] = StorageConfig{ + .attr = static_cast(i), + .cnt = vtxFmt.attrs[i].cnt, + .compType = vtxFmt.attrs[i].type, + .frac = vtxFmt.attrs[i].frac, }; } config.shaderConfig.tevSwapTable = g_gxState.tevSwapTable; diff --git a/lib/webgpu/gpu.cpp b/lib/webgpu/gpu.cpp index cce583d..9293e68 100644 --- a/lib/webgpu/gpu.cpp +++ b/lib/webgpu/gpu.cpp @@ -391,6 +391,20 @@ bool initialize(AuroraBackend auroraBackend) { : supportedLimits.maxTextureDimension2D, .maxTextureDimension3D = supportedLimits.maxTextureDimension3D == 0 ? WGPU_LIMIT_U32_UNDEFINED : supportedLimits.maxTextureDimension3D, + .maxTextureArrayLayers = supportedLimits.maxTextureArrayLayers == 0 ? WGPU_LIMIT_U32_UNDEFINED + : supportedLimits.maxTextureArrayLayers, + .maxBindGroupsPlusVertexBuffers = supportedLimits.maxBindGroupsPlusVertexBuffers == 0 + ? WGPU_LIMIT_U32_UNDEFINED + : supportedLimits.maxBindGroupsPlusVertexBuffers, + .maxBindingsPerBindGroup = supportedLimits.maxBindGroupsPlusVertexBuffers == 0 + ? WGPU_LIMIT_U32_UNDEFINED + : supportedLimits.maxBindGroupsPlusVertexBuffers, + .maxDynamicUniformBuffersPerPipelineLayout = supportedLimits.maxDynamicUniformBuffersPerPipelineLayout == 0 + ? WGPU_LIMIT_U32_UNDEFINED + : supportedLimits.maxDynamicUniformBuffersPerPipelineLayout, + .maxDynamicStorageBuffersPerPipelineLayout = supportedLimits.maxDynamicStorageBuffersPerPipelineLayout == 0 + ? WGPU_LIMIT_U32_UNDEFINED + : supportedLimits.maxDynamicStorageBuffersPerPipelineLayout, .minUniformBufferOffsetAlignment = supportedLimits.minUniformBufferOffsetAlignment == 0 ? WGPU_LIMIT_U32_UNDEFINED : supportedLimits.minUniformBufferOffsetAlignment,