@@ -220,7 +220,6 @@ describeWebGPU('backend webgpu', () => {
220220 const useImport = tf . env ( ) . getBool ( 'WEBGPU_USE_IMPORT' ) ;
221221 const backend = tf . backend ( ) as WebGPUBackend ;
222222 const textureManager = backend . getTextureManager ( ) ;
223- textureManager . dispose ( ) ;
224223
225224 {
226225 const video = document . createElement ( 'video' ) ;
@@ -244,23 +243,38 @@ describeWebGPU('backend webgpu', () => {
244243 await new Promise ( go => ( video as any ) . requestVideoFrameCallback ( go ) ) ;
245244 }
246245
247- for ( const tmpUseImport of [ false , true ] ) {
248- tf . env ( ) . set ( 'WEBGPU_USE_IMPORT' , tmpUseImport ) ;
246+ {
247+ textureManager . dispose ( ) ;
248+ tf . env ( ) . set ( 'WEBGPU_USE_IMPORT' , true ) ;
249249 const res = await tf . browser . fromPixelsAsync ( video ) ;
250250 expect ( res . shape ) . toEqual ( [ 90 , 160 , 3 ] ) ;
251251 const data = await res . data ( ) ;
252252 expect ( data . length ) . toEqual ( 90 * 160 * 3 ) ;
253- const freeTexturesAfterFromPixel = textureManager . getNumFreeTextures ( ) ;
254- const usedTexturesAfterFromPixel = textureManager . getNumUsedTextures ( ) ;
255- expect ( freeTexturesAfterFromPixel ) . toEqual ( 1 ) ;
256- expect ( usedTexturesAfterFromPixel ) . toEqual ( 0 ) ;
253+ const freeTexturesAfterFromPixels = textureManager . getNumFreeTextures ( ) ;
254+ expect ( freeTexturesAfterFromPixels ) . toEqual ( 0 ) ;
255+ const usedTexturesAfterFromPixels = textureManager . getNumUsedTextures ( ) ;
256+ expect ( usedTexturesAfterFromPixels ) . toEqual ( 0 ) ;
257+ }
258+
259+ {
260+ textureManager . dispose ( ) ;
261+ tf . env ( ) . set ( 'WEBGPU_USE_IMPORT' , false ) ;
262+ const res = await tf . browser . fromPixelsAsync ( video ) ;
263+ expect ( res . shape ) . toEqual ( [ 90 , 160 , 3 ] ) ;
264+ const data = await res . data ( ) ;
265+ expect ( data . length ) . toEqual ( 90 * 160 * 3 ) ;
266+ const freeTexturesAfterFromPixels = textureManager . getNumFreeTextures ( ) ;
267+ expect ( freeTexturesAfterFromPixels ) . toEqual ( 1 ) ;
268+ const usedTexturesAfterFromPixels = textureManager . getNumUsedTextures ( ) ;
269+ expect ( usedTexturesAfterFromPixels ) . toEqual ( 0 ) ;
257270 }
258271
259272 document . body . removeChild ( video ) ;
260273 tf . env ( ) . set ( 'WEBGPU_USE_IMPORT' , useImport ) ;
261274 }
262275
263276 {
277+ textureManager . dispose ( ) ;
264278 const img = new Image ( 10 , 10 ) ;
265279 img . src = 'data:image/gif;base64' +
266280 ',R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==' ;
@@ -275,13 +289,14 @@ describeWebGPU('backend webgpu', () => {
275289 const dataImage = await resImage . data ( ) ;
276290 expect ( dataImage [ 0 ] ) . toEqual ( 0 ) ;
277291 expect ( dataImage . length ) . toEqual ( 10 * 10 * 3 ) ;
278- const freeTexturesAfterFromPixel = textureManager . getNumFreeTextures ( ) ;
279- const usedTexturesAfterFromPixel = textureManager . getNumUsedTextures ( ) ;
280- expect ( freeTexturesAfterFromPixel ) . toEqual ( 2 ) ;
281- expect ( usedTexturesAfterFromPixel ) . toEqual ( 0 ) ;
292+ const freeTexturesAfterFromPixels = textureManager . getNumFreeTextures ( ) ;
293+ expect ( freeTexturesAfterFromPixels ) . toEqual ( 1 ) ;
294+ const usedTexturesAfterFromPixels = textureManager . getNumUsedTextures ( ) ;
295+ expect ( usedTexturesAfterFromPixels ) . toEqual ( 0 ) ;
282296 }
283297
284298 {
299+ textureManager . dispose ( ) ;
285300 const img = new Image ( 10 , 10 ) ;
286301 img . src =
287302 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAABfSURBVChTY/gPBu8NLd/KqLxT1oZw4QAqDZSDoPeWDj9WrYUIAgG6NBAhm4FFGoIgxuCUBiKgMfikv1bW4pQGav334wdUGshBk/6SVQAUh0p/mzIDTQ6oFSGNHfz/DwAwi8mNzTi6rwAAAABJRU5ErkJggg==' ;
@@ -294,10 +309,10 @@ describeWebGPU('backend webgpu', () => {
294309 const dataImage = await resImage . data ( ) ;
295310 expect ( dataImage [ 0 ] ) . toEqual ( 255 ) ;
296311 expect ( dataImage . length ) . toEqual ( 10 * 10 * 3 ) ;
297- const freeTexturesAfterFromPixel = textureManager . getNumFreeTextures ( ) ;
298- const usedTexturesAfterFromPixel = textureManager . getNumUsedTextures ( ) ;
299- expect ( freeTexturesAfterFromPixel ) . toEqual ( 2 ) ;
300- expect ( usedTexturesAfterFromPixel ) . toEqual ( 0 ) ;
312+ const freeTexturesAfterFromPixels = textureManager . getNumFreeTextures ( ) ;
313+ expect ( freeTexturesAfterFromPixels ) . toEqual ( 1 ) ;
314+ const usedTexturesAfterFromPixels = textureManager . getNumUsedTextures ( ) ;
315+ expect ( usedTexturesAfterFromPixels ) . toEqual ( 0 ) ;
301316 }
302317 } ) ;
303318} ) ;
0 commit comments