OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <script> |
| 6 function enableStates(gl) |
| 7 { |
| 8 gl.enable(gl.CULL_FACE); |
| 9 gl.enable(gl.BLEND); |
| 10 gl.enable(gl.DITHER); |
| 11 gl.enable(gl.STENCIL_TEST); |
| 12 gl.enable(gl.DEPTH_TEST); |
| 13 gl.enable(gl.SCISSOR_TEST); |
| 14 } |
| 15 |
| 16 function testStates(gl) |
| 17 { |
| 18 assert_true(gl.isEnabled(gl.CULL_FACE), 'CULL_FACE should be enabled'); |
| 19 assert_true(gl.isEnabled(gl.BLEND), 'BLEND should be enabled'); |
| 20 assert_true(gl.isEnabled(gl.DITHER), 'DITHER should be enabled'); |
| 21 assert_true(gl.isEnabled(gl.STENCIL_TEST), 'STENCIL_TEST should be enabled')
; |
| 22 assert_true(gl.isEnabled(gl.DEPTH_TEST), 'DEPTH_TEST should be enabled'); |
| 23 assert_true(gl.isEnabled(gl.SCISSOR_TEST), 'SCISSOR_TEST should be enabled')
; |
| 24 } |
| 25 |
| 26 test(function() { |
| 27 var canvas = new OffscreenCanvas(100, 100); |
| 28 var gl = canvas.getContext('webgl'); |
| 29 enableStates(gl); |
| 30 |
| 31 gl.clearColor(0.0, 1.0, 0.0, 1.0); |
| 32 gl.clear(gl.COLOR_BUFFER_BIT); |
| 33 testStates(gl); |
| 34 |
| 35 var image = canvas.transferToImageBitmap(); |
| 36 testStates(gl); |
| 37 }, 'offscreenCanvas.transferToImageBitmap should not alter WebGL states'); |
| 38 |
| 39 test(function() { |
| 40 var canvas = document.createElement('canvas'); |
| 41 canvas.width = canvas.height = 100; |
| 42 var offscreenCanvas = canvas.transferControlToOffscreen(); |
| 43 var gl = offscreenCanvas.getContext('webgl'); |
| 44 enableStates(gl); |
| 45 |
| 46 gl.clearColor(0.0, 1.0, 0.0, 1.0); |
| 47 gl.clear(gl.COLOR_BUFFER_BIT); |
| 48 testStates(gl); |
| 49 |
| 50 gl.commit(); |
| 51 testStates(gl); |
| 52 }, 'offscreenCanvas.commit should not alter WebGL states'); |
| 53 </script> |
| 54 </html> |
OLD | NEW |