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

