@@ -311,15 +311,16 @@ var LibraryWebGPU = {
311311 makeProgrammableStageDescriptor : ( ptr ) => {
312312 if ( ! ptr ) return undefined ;
313313 { { { gpu . makeCheckDescriptor ( 'ptr' ) } } }
314- return {
314+ var desc = {
315315 "module" : WebGPU . mgrShaderModule . get (
316316 { { { makeGetValue ( 'ptr' , C_STRUCTS . WGPUProgrammableStageDescriptor . module , '*' ) } } } ) ,
317- "entryPoint ": UTF8ToString (
318- { { { makeGetValue ( 'ptr' , C_STRUCTS . WGPUProgrammableStageDescriptor . entryPoint , '*' ) } } } ) ,
319317 "constants ": WebGPU . makePipelineConstants (
320318 { { { gpu . makeGetU32 ( 'ptr' , C_STRUCTS . WGPUProgrammableStageDescriptor . constantCount ) } } } ,
321319 { { { makeGetValue ( 'ptr' , C_STRUCTS . WGPUProgrammableStageDescriptor . constants , '*' ) } } } ) ,
322320 } ;
321+ var entryPointPtr = { { { makeGetValue ( 'ptr' , C_STRUCTS . WGPUProgrammableStageDescriptor . entryPoint , '*' ) } } } ;
322+ if ( entryPointPtr ) desc [ "entryPoint" ] = UTF8ToString ( entryPointPtr ) ;
323+ return desc ;
323324 } ,
324325
325326 // Map from enum string back to enum number, for callbacks.
@@ -1323,18 +1324,19 @@ var LibraryWebGPU = {
13231324 function makeVertexState ( viPtr ) {
13241325 if ( ! viPtr ) return undefined ;
13251326 { { { gpu . makeCheckDescriptor ( 'viPtr ') } } }
1326- return {
1327+ var desc = {
13271328 "module" : WebGPU . mgrShaderModule . get (
13281329 { { { makeGetValue ( 'viPtr' , C_STRUCTS . WGPUVertexState . module , '*' ) } } } ) ,
1329- "entryPoint ": UTF8ToString (
1330- { { { makeGetValue ( 'viPtr ', C_STRUCTS . WGPUVertexState . entryPoint , '* ') } } } ) ,
13311330 "constants ": WebGPU . makePipelineConstants (
13321331 { { { gpu . makeGetU32 ( 'viPtr' , C_STRUCTS . WGPUVertexState . constantCount ) } } } ,
13331332 { { { makeGetValue ( 'viPtr' , C_STRUCTS . WGPUVertexState . constants , '*' ) } } } ) ,
13341333 "buffers ": makeVertexBuffers (
13351334 { { { gpu . makeGetU32 ( 'viPtr' , C_STRUCTS . WGPUVertexState . bufferCount ) } } } ,
13361335 { { { makeGetValue ( 'viPtr' , C_STRUCTS . WGPUVertexState . buffers , '*' ) } } } ) ,
1337- } ;
1336+ } ;
1337+ var entryPointPtr = { { { makeGetValue ( 'viPtr' , C_STRUCTS . WGPUVertexState . entryPoint , '*' ) } } } ;
1338+ if ( entryPointPtr ) desc [ "entryPoint" ] = UTF8ToString ( entryPointPtr ) ;
1339+ return desc ;
13381340 }
13391341
13401342 function makeMultisampleState ( msPtr ) {
@@ -1350,18 +1352,19 @@ var LibraryWebGPU = {
13501352 function makeFragmentState ( fsPtr ) {
13511353 if ( ! fsPtr ) return undefined ;
13521354 { { { gpu . makeCheckDescriptor ( 'fsPtr' ) } } }
1353- return {
1355+ var desc = {
13541356 "module" : WebGPU . mgrShaderModule . get (
13551357 { { { makeGetValue ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . module , '*' ) } } } ) ,
1356- "entryPoint ": UTF8ToString (
1357- { { { makeGetValue ( 'fsPtr ', C_STRUCTS . WGPUFragmentState . entryPoint , '* ') } } } ) ,
13581358 "constants" : WebGPU . makePipelineConstants (
13591359 { { { gpu . makeGetU32 ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . constantCount ) } } } ,
13601360 { { { makeGetValue ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . constants , '*' ) } } } ) ,
13611361 "targets" : makeColorStates (
13621362 { { { gpu . makeGetU32 ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . targetCount ) } } } ,
13631363 { { { makeGetValue ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . targets , '*' ) } } } ) ,
1364- } ;
1364+ } ;
1365+ var entryPointPtr = { { { makeGetValue ( 'fsPtr' , C_STRUCTS . WGPUFragmentState . entryPoint , '*' ) } } } ;
1366+ if ( entryPointPtr ) desc [ "entryPoint" ] = UTF8ToString ( entryPointPtr ) ;
1367+ return desc ;
13651368 }
13661369
13671370 var desc = {
0 commit comments