@@ -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