Skip to content

Commit 1dedd1b

Browse files
xdestiny110Jerry.Zhuang
andauthored
webgpu: do not require descriptor in CreateSampler (#20532)
* do not check descripor when create sampler * update AUTHORS --------- Co-authored-by: Jerry.Zhuang <[email protected]>
1 parent 4111f57 commit 1dedd1b

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,3 +595,4 @@ a license to everyone to use it as detailed in LICENSE.)
595595
* Piotr Wierciński <[email protected]>
596596
* 郑苏波 (Super Zheng) <[email protected]>
597597
* James Hu <[email protected]>
598+
* Jerry Zhuang <[email protected]>

src/library_webgpu.js

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -894,29 +894,32 @@ var LibraryWebGPU = {
894894
},
895895

896896
wgpuDeviceCreateSampler: (deviceId, descriptor) => {
897-
{{{ gpu.makeCheckDescriptor('descriptor') }}}
897+
var desc;
898+
if (descriptor) {
899+
{{{ gpu.makeCheckDescriptor('descriptor') }}}
898900

899-
var desc = {
900-
"label": undefined,
901-
"addressModeU": WebGPU.AddressMode[
902-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeU) }}}],
903-
"addressModeV": WebGPU.AddressMode[
904-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeV) }}}],
905-
"addressModeW": WebGPU.AddressMode[
906-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeW) }}}],
907-
"magFilter": WebGPU.FilterMode[
908-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.magFilter) }}}],
909-
"minFilter": WebGPU.FilterMode[
910-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.minFilter) }}}],
911-
"mipmapFilter": WebGPU.MipmapFilterMode[
912-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.mipmapFilter) }}}],
913-
"lodMinClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMinClamp, 'float') }}},
914-
"lodMaxClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMaxClamp, 'float') }}},
915-
"compare": WebGPU.CompareFunction[
916-
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.compare) }}}],
917-
};
918-
var labelPtr = {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.label, '*') }}};
919-
if (labelPtr) desc["label"] = UTF8ToString(labelPtr);
901+
desc = {
902+
"label": undefined,
903+
"addressModeU": WebGPU.AddressMode[
904+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeU) }}}],
905+
"addressModeV": WebGPU.AddressMode[
906+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeV) }}}],
907+
"addressModeW": WebGPU.AddressMode[
908+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.addressModeW) }}}],
909+
"magFilter": WebGPU.FilterMode[
910+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.magFilter) }}}],
911+
"minFilter": WebGPU.FilterMode[
912+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.minFilter) }}}],
913+
"mipmapFilter": WebGPU.MipmapFilterMode[
914+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.mipmapFilter) }}}],
915+
"lodMinClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMinClamp, 'float') }}},
916+
"lodMaxClamp": {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.lodMaxClamp, 'float') }}},
917+
"compare": WebGPU.CompareFunction[
918+
{{{ gpu.makeGetU32('descriptor', C_STRUCTS.WGPUSamplerDescriptor.compare) }}}],
919+
};
920+
var labelPtr = {{{ makeGetValue('descriptor', C_STRUCTS.WGPUSamplerDescriptor.label, '*') }}};
921+
if (labelPtr) desc["label"] = UTF8ToString(labelPtr);
922+
}
920923

921924
var device = WebGPU.mgrDevice.get(deviceId);
922925
return WebGPU.mgrSampler.create(device["createSampler"](desc));

0 commit comments

Comments
 (0)