Test framebuffer object attachment behaviors On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Dimensions 0 x 0 Create renderbuffers PASS gl = create3DContext() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS stencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : Attach depth using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depth, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach color renderbuffer with internalformat == RGBA4 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB5_A1 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB565 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Create and attach depthStencil renderbuffer PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0 PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Dimensions 0 x 2 Create renderbuffers PASS gl = create3DContext() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS stencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : Attach depth using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depth, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach color renderbuffer with internalformat == RGBA4 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB5_A1 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB565 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Create and attach depthStencil renderbuffer PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0 PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Dimensions 2 x 0 Create renderbuffers PASS gl = create3DContext() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS stencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : Attach depth using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depth, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach stencil, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach depthStencil, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 Attach color renderbuffer with internalformat == RGBA4 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB5_A1 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach color renderbuffer with internalformat == RGB565 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Create and attach depthStencil renderbuffer PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0 PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Dimensions 2 x 2 Create renderbuffers PASS gl = create3DContext() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS stencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : Attach depth using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true Attach depth using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach stencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach stencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using DEPTH_STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true Attach depthStencil using DEPTH_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depthStencil using STENCIL_ATTACHMENT PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054 PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : Attach depth, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach stencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach depth, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach depthStencil, then depth, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach stencil, then depthStencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach depthStencil, then stencil, causing conflict PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061 Attach color renderbuffer with internalformat == RGBA4 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true Attach color renderbuffer with internalformat == RGB5_A1 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true Attach color renderbuffer with internalformat == RGB565 PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true Create and attach depthStencil renderbuffer PASS depthStencilBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0 PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE) > 0 is true PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_STENCIL_SIZE) > 0 is true PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053 PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true test: DEPTH_COMPONENT16 vs DEPTH_STENCIL with delete PASS should be green test deleting second renderbuffer PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS should be green test: DEPTH_COMPONENT16 vs DEPTH_STENCIL with unbind PASS should be green test unbinding second renderbuffer PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS should be green test: DEPTH_STENCIL vs DEPTH_COMPONENT16 with delete PASS should be green test deleting second renderbuffer PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS should be green test: DEPTH_STENCIL vs DEPTH_COMPONENT16 with unbind PASS should be green test unbinding second renderbuffer PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS should be green PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : Attachments of different sizes should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS (OpenGL ES 2.0 4.4.5) PASS fbo = gl.createFramebuffer() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS getError was expected value: NO_ERROR : PASS fbo = gl.createFramebuffer() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE Wrong storage type for type of attachment be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5) PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE 0 size attachment should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5) PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED PASS getError was expected value: NO_ERROR : No attachments should be INCOMPLETE_FRAMEBUFFER_MISSING_ATTACHMENT (OpenGL ES 2.0 4.4.5) PASS fbo = gl.createFramebuffer() is non-null. PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED PASS getError was expected value: NO_ERROR : Test drawing or reading from an incomplete framebuffer PASS fbo = gl.createFramebuffer() is non-null. PASS colorBuffer = gl.createRenderbuffer() is non-null. PASS depthBuffer = gl.createRenderbuffer() is non-null. PASS getError was expected value: NO_ERROR : PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION PASS getError was expected value: NO_ERROR : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : copyTexImage2D from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : copyTexSubImage2D from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer PASS fbo2 = gl.createFramebuffer() is non-null. PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION PASS getError was expected value: NO_ERROR : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer PASS getError was expected value: INVALID_OPERATION : copyTexImage2D from incomplete framebuffer PASS getError was expected value: INVALID_OPERATION : copyTexSubImage2D from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer PASS colorBuffer = gl.createRenderbuffer() is non-null. Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION PASS getError was expected value: NO_ERROR : PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : copyTexImage2D from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : copyTexSubImage2D from incomplete framebuffer PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer PASS successfullyParsed is true TEST COMPLETE