From b84c5da1ef846e6d85185f583f27084d089c8a95 Mon Sep 17 00:00:00 2001 From: "Jerry.Zhuang" Date: Wed, 25 Oct 2023 15:11:30 +0800 Subject: [PATCH 1/2] do not check descripor when create sampler --- src/library_webgpu.js | 47 +++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/src/library_webgpu.js b/src/library_webgpu.js index 5c4854e71afb1..b99f0509b746b 100644 --- a/src/library_webgpu.js +++ b/src/library_webgpu.js @@ -903,29 +903,32 @@ var LibraryWebGPU = { }, wgpuDeviceCreateSampler: (deviceId, descriptor) => { - {{{ gpu.makeCheckDescriptor('descriptor') }}} + var desc; + if (descriptor) { + {{{ gpu.makeCheckDescriptor('descriptor') }}} - var desc = { - "label": undefined, - "addressModeU": WebGPU.AddressMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeU) }}}], - "addressModeV": WebGPU.AddressMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeV) }}}], - "addressModeW": WebGPU.AddressMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeW) }}}], - "magFilter": WebGPU.FilterMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.magFilter) }}}], - "minFilter": WebGPU.FilterMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.minFilter) }}}], - "mipmapFilter": WebGPU.MipmapFilterMode[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.mipmapFilter) }}}], - "lodMinClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMinClamp, 'float') }}}, - "lodMaxClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMaxClamp, 'float') }}}, - "compare": WebGPU.CompareFunction[ - {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.compare) }}}], - }; - var labelPtr = {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.label, '*') }}}; - if (labelPtr) desc["label"] = UTF8ToString(labelPtr); + desc = { + "label": undefined, + "addressModeU": WebGPU.AddressMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeU) }}}], + "addressModeV": WebGPU.AddressMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeV) }}}], + "addressModeW": WebGPU.AddressMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeW) }}}], + "magFilter": WebGPU.FilterMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.magFilter) }}}], + "minFilter": WebGPU.FilterMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.minFilter) }}}], + "mipmapFilter": WebGPU.MipmapFilterMode[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.mipmapFilter) }}}], + "lodMinClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMinClamp, 'float') }}}, + "lodMaxClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMaxClamp, 'float') }}}, + "compare": WebGPU.CompareFunction[ + {{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.compare) }}}], + }; + var labelPtr = {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.label, '*') }}}; + if (labelPtr) desc["label"] = UTF8ToString(labelPtr); + } var device = WebGPU.mgrDevice.get(deviceId); return WebGPU.mgrSampler.create(device["createSampler"](desc)); From 940b7c62f9d3c02b146cf6548a3ba07ae48db3ed Mon Sep 17 00:00:00 2001 From: "Jerry.Zhuang" Date: Wed, 25 Oct 2023 15:25:36 +0800 Subject: [PATCH 2/2] update AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index c8442bc455abc..1472cda574b61 100644 --- a/AUTHORS +++ b/AUTHORS @@ -595,3 +595,4 @@ a license to everyone to use it as detailed in LICENSE.) * Piotr Wierciński * 郑苏波 (Super Zheng) * James Hu +* Jerry Zhuang