@@ -4322,22 +4322,22 @@ def test_webgl_vao_without_automatic_extensions(self):
4322
4322
4323
4323
# Tests that offscreen framebuffer state restoration works
4324
4324
@requires_graphics_hardware
4325
- def test_webgl_offscreen_framebuffer_state_restoration ( self ):
4326
- for args in [
4327
- # full state restoration path on WebGL 1.0
4328
- [ '-sMAX_WEBGL_VERSION' , '-sOFFSCREEN_FRAMEBUFFER_FORBID_VAO_PATH' ],
4329
- # VAO path on WebGL 1.0
4330
- ['-sMAX_WEBGL_VERSION' ] ,
4331
- [ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=0' ],
4332
- # VAO path on WebGL 2.0
4333
- [ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=1' , '-DTEST_REQUIRE_VAO=1' ],
4334
- # full state restoration path on WebGL 2.0
4335
- [ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=1' , '-sOFFSCREEN_FRAMEBUFFER_FORBID_VAO_PATH' ],
4336
- # blitFramebuffer path on WebGL 2.0 (falls back to VAO on Firefox < 67)
4337
- [ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=0' ],
4338
- ] :
4339
- cmd = args + ['-lGL' , '-sOFFSCREEN_FRAMEBUFFER' , '-DEXPLICIT_SWAP=1' ]
4340
- self .btest_exit ('webgl_offscreen_framebuffer_swap_with_bad_state.c' , args = cmd )
4325
+ @ parameterized ({
4326
+ # full state restoration path on WebGL 1.0
4327
+ 'gl1_no_vao' : ([ '-sMAX_WEBGL_VERSION=1' , '-sOFFSCREEN_FRAMEBUFFER_FORBID_VAO_PATH' ],),
4328
+ # VAO path on WebGL 1.0
4329
+ 'gl1' : ([ '-sMAX_WEBGL_VERSION=1' , '-DTEST_VERIFY_WEBGL1_VAO_SUPPORT=1' ],),
4330
+ 'gl1_max_gl2' : ( ['-sMAX_WEBGL_VERSION=2' ],) ,
4331
+ # VAO path on WebGL 2.0
4332
+ 'gl2' : ([ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=1' ],),
4333
+ # full state restoration path on WebGL 2.0
4334
+ 'gl2_no_vao' : ([ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=1' , '-sOFFSCREEN_FRAMEBUFFER_FORBID_VAO_PATH' ],),
4335
+ # blitFramebuffer path on WebGL 2.0 (falls back to VAO on Firefox < 67)
4336
+ 'gl2_no_aa' : ([ '-sMAX_WEBGL_VERSION=2' , '-DTEST_WEBGL2=1' , '-DTEST_ANTIALIAS=0' ],),
4337
+ })
4338
+ def test_webgl_offscreen_framebuffer_state_restoration ( self , args , skip_vao = False ) :
4339
+ cmd = args + ['-lGL' , '-sOFFSCREEN_FRAMEBUFFER' , '-DEXPLICIT_SWAP=1' ]
4340
+ self .btest_exit ('webgl_offscreen_framebuffer_swap_with_bad_state.c' , args = cmd )
4341
4341
4342
4342
@parameterized ({
4343
4343
'' : ([],),
0 commit comments