blob: 1e0d3afe987cb1ce109c57a79b9842f0b2dd429e [file] [log] [blame]
This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
Test: ../../resources/webgl_test_files/conformance/extensions/webgl-draw-buffers.html
[ 1: PASS ] WebGL context exists
[ 2: PASS ] getError was expected value: INVALID_ENUM : MAX_COLOR_ATTACHMENTS_WEBGL should not be queryable if extension is disabled
[ 3: PASS ] getError was expected value: INVALID_ENUM : MAX_DRAW_BUFFERS_WEBGL should not be queryable if extension is disabled
[ 4: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 5: PASS ] GL_EXT_draw_buffers should not be defined in GLSL
[ 6: PASS ] #extension GL_EXT_draw_buffers should not be allowed in GLSL
[ 7: PASS ] should be green
[ 8: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 9: PASS ] getError was expected value: INVALID_ENUM : should not be able to attach to gl.COLOR_ATTACHMENT1
[ 10: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 11: PASS ] Successfully enabled WEBGL_draw_buffers extension
[ 12: PASS ] WEBGL_draw_buffers listed as supported and getExtension succeeded
[ 13: PASS ] ext.MAX_COLOR_ATTACHMENTS_WEBGL is 0x8cdf
[ 14: PASS ] getError was expected value: NO_ERROR : before getParameter
[ 15: PASS ] gl.getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL) should be >= 4
[ 16: PASS ] getError was expected value: NO_ERROR : MAX_COLOR_ATTACHMENTS_WEBGL query should succeed if extension is enabled
[ 17: PASS ] ext.MAX_DRAW_BUFFERS_WEBGL is 0x8824
[ 18: PASS ] getError was expected value: NO_ERROR : before getParameter
[ 19: PASS ] gl.getParameter(ext.MAX_DRAW_BUFFERS_WEBGL) should be > 0
[ 20: PASS ] getError was expected value: NO_ERROR : MAX_DRAW_BUFFERS_WEBGL query should succeed if extension is enabled
[ 21: PASS ] ext.COLOR_ATTACHMENT0_WEBGL is 0x8ce0
[ 22: PASS ] ext.COLOR_ATTACHMENT1_WEBGL is 0x8ce1
[ 23: PASS ] ext.COLOR_ATTACHMENT2_WEBGL is 0x8ce2
[ 24: PASS ] ext.COLOR_ATTACHMENT3_WEBGL is 0x8ce3
[ 25: PASS ] ext.COLOR_ATTACHMENT4_WEBGL is 0x8ce4
[ 26: PASS ] ext.COLOR_ATTACHMENT5_WEBGL is 0x8ce5
[ 27: PASS ] ext.COLOR_ATTACHMENT6_WEBGL is 0x8ce6
[ 28: PASS ] ext.COLOR_ATTACHMENT7_WEBGL is 0x8ce7
[ 29: PASS ] ext.COLOR_ATTACHMENT8_WEBGL is 0x8ce8
[ 30: PASS ] ext.COLOR_ATTACHMENT9_WEBGL is 0x8ce9
[ 31: PASS ] ext.COLOR_ATTACHMENT10_WEBGL is 0x8cea
[ 32: PASS ] ext.COLOR_ATTACHMENT11_WEBGL is 0x8ceb
[ 33: PASS ] ext.COLOR_ATTACHMENT12_WEBGL is 0x8cec
[ 34: PASS ] ext.COLOR_ATTACHMENT13_WEBGL is 0x8ced
[ 35: PASS ] ext.COLOR_ATTACHMENT14_WEBGL is 0x8cee
[ 36: PASS ] ext.COLOR_ATTACHMENT15_WEBGL is 0x8cef
[ 37: PASS ] ext.DRAW_BUFFER0_WEBGL is 0x8825
[ 38: PASS ] ext.DRAW_BUFFER1_WEBGL is 0x8826
[ 39: PASS ] ext.DRAW_BUFFER2_WEBGL is 0x8827
[ 40: PASS ] ext.DRAW_BUFFER3_WEBGL is 0x8828
[ 41: PASS ] ext.DRAW_BUFFER4_WEBGL is 0x8829
[ 42: PASS ] ext.DRAW_BUFFER5_WEBGL is 0x882a
[ 43: PASS ] ext.DRAW_BUFFER6_WEBGL is 0x882b
[ 44: PASS ] ext.DRAW_BUFFER7_WEBGL is 0x882c
[ 45: PASS ] ext.DRAW_BUFFER8_WEBGL is 0x882d
[ 46: PASS ] ext.DRAW_BUFFER9_WEBGL is 0x882e
[ 47: PASS ] ext.DRAW_BUFFER10_WEBGL is 0x882f
[ 48: PASS ] ext.DRAW_BUFFER11_WEBGL is 0x8830
[ 49: PASS ] ext.DRAW_BUFFER12_WEBGL is 0x8831
[ 50: PASS ] ext.DRAW_BUFFER13_WEBGL is 0x8832
[ 51: PASS ] ext.DRAW_BUFFER14_WEBGL is 0x8833
[ 52: PASS ] ext.DRAW_BUFFER15_WEBGL is 0x8834
[ 53: PASS ] gl.getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL) >= gl.getParameter(ext.MAX_DRAW_BUFFERS_WEBGL) is true
[ 54: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL) is gl.BACK
[ 55: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: ext.drawBuffersWEBGL([])
[ 56: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: ext.drawBuffersWEBGL([gl.NONE, gl.NONE])
[ 57: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: ext.drawBuffersWEBGL([ext.COLOR_ATTACHMENT0_WEBGL])
[ 58: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL) is gl.BACK
[ 59: PASS ] getError was expected value: NO_ERROR : after evaluating: ext.drawBuffersWEBGL([gl.NONE])
[ 60: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL) is gl.NONE
[ 61: PASS ] getError was expected value: NO_ERROR : after evaluating: ext.drawBuffersWEBGL([gl.BACK])
[ 62: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL) is gl.BACK
[ 63: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 64: PASS ] GL_EXT_draw_buffers should be defined as 1 in GLSL
[ 65: PASS ] fragment shader containing the #extension directive should compile
[ 66: PASS ] should be green
[ 67: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 68: PASS ] should be green
[ 69: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 70: PASS ] getError was expected value: INVALID_ENUM : should not be able to attach pass the max attachment point: gl.COLOR_ATTACHMENT0 + 8
[ 71: PASS ] getError was expected value: NO_ERROR : should be able to attach to the max attachment point: gl.COLOR_ATTACHMENT0 + 7
[ 72: PASS ] getError was expected value: NO_ERROR : should be able to call drawBuffersWEBGL with array NONE of size 8
[ 73: PASS ] getError was expected value: NO_ERROR : should be able to call drawBuffersWEBGL with array attachments of size 8
[ 74: PASS ] getError was expected value: NO_ERROR : should be able to call drawBuffersWEBGL with mixed array attachments of size 8
[ 75: PASS ] getError was expected value: INVALID_OPERATION : should not be able to call drawBuffersWEBGL with out of order attachments of size 8
[ 76: PASS ] getError was expected value: NO_ERROR : should be able to call drawBuffersWEBGL with short array of attachments of size 4
[ 77: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 78: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
[ 79: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
[ 80: PASS ] attachment 0 should be 255,0,0,0
[ 81: PASS ] attachment 1 should be 0,255,0,0
[ 82: PASS ] attachment 2 should be 255,255,0,0
[ 83: PASS ] attachment 3 should be 0,0,255,0
[ 84: PASS ] attachment 4 should be 255,0,255,0
[ 85: PASS ] attachment 5 should be 0,255,255,0
[ 86: PASS ] attachment 6 should be 255,255,255,0
[ 87: PASS ] attachment 7 should be 0,0,0,255
[ 88: PASS ] attachment 0 should be 0,255,0,255
[ 89: PASS ] attachment 1 should be 0,255,0,255
[ 90: PASS ] attachment 2 should be 0,255,0,255
[ 91: PASS ] attachment 3 should be 0,255,0,255
[ 92: PASS ] attachment 4 should be 0,255,0,255
[ 93: PASS ] attachment 5 should be 0,255,0,255
[ 94: PASS ] attachment 6 should be 0,255,0,255
[ 95: PASS ] attachment 7 should be 0,255,0,255
[ 96: PASS ] getError was expected value: NO_ERROR : Should be no GL error setting up the program
[ 97: PASS ] attachment 0 should be 0,255,0,255
[ 98: PASS ] attachment 1 should be 0,255,0,255
[ 99: PASS ] attachment 2 should be 0,255,0,255
[ 100: PASS ] attachment 3 should be 0,255,0,255
[ 101: PASS ] attachment 4 should be 0,255,0,255
[ 102: PASS ] attachment 5 should be 0,255,0,255
[ 103: PASS ] attachment 6 should be 0,255,0,255
[ 104: PASS ] attachment 7 should be 0,255,0,255
[ 105: PASS ] attachment 0 should be 0,255,0,255
[ 106: PASS ] attachment 1 should be 0,255,0,255
[ 107: PASS ] attachment 2 should be 0,255,0,255
[ 108: PASS ] attachment 3 should be 0,255,0,255
[ 109: PASS ] attachment 4 should be 0,255,0,255
[ 110: PASS ] attachment 5 should be 0,255,0,255
[ 111: PASS ] attachment 6 should be 0,255,0,255
[ 112: PASS ] attachment 7 should be 0,255,0,255
[ 113: PASS ] attachment 0 should be 255,0,0,255
[ 114: FAIL ] attachment 1 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 115: FAIL ] attachment 2 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 116: FAIL ] attachment 3 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 117: FAIL ] attachment 4 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 118: FAIL ] attachment 5 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 119: FAIL ] attachment 6 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 120: FAIL ] attachment 7 should be 0,255,0,255 at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 121: PASS ] attachment 0 should be 255,0,0,255
[ 122: PASS ] attachment 1 should be 255,0,0,255
[ 123: PASS ] attachment 2 should be 255,0,0,255
[ 124: PASS ] attachment 3 should be 255,0,0,255
[ 125: PASS ] attachment 4 should be 255,0,0,255
[ 126: PASS ] attachment 5 should be 255,0,0,255
[ 127: PASS ] attachment 6 should be 255,0,0,255
[ 128: PASS ] attachment 7 should be 255,0,0,255
[ 129: PASS ] attachment 0 should be 255,0,0,255
[ 130: PASS ] attachment 1 should be 255,0,0,255
[ 131: PASS ] attachment 2 should be 255,0,0,255
[ 132: PASS ] attachment 3 should be 255,0,0,255
[ 133: PASS ] attachment 4 should be 0,255,0,255
[ 134: PASS ] attachment 5 should be 0,255,0,255
[ 135: PASS ] attachment 6 should be 0,255,0,255
[ 136: PASS ] attachment 7 should be 0,255,0,255
[ 137: PASS ] attachment 0 should be 255,0,0,255
[ 138: PASS ] attachment 1 should be 255,0,0,255
[ 139: PASS ] attachment 2 should be 255,0,0,255
[ 140: PASS ] attachment 3 should be 255,0,0,255
[ 141: PASS ] attachment 4 should be 255,0,255,0
[ 142: PASS ] attachment 5 should be 0,255,255,0
[ 143: PASS ] attachment 6 should be 255,255,255,0
[ 144: PASS ] attachment 7 should be 0,0,0,255
[ 145: PASS ] attachment 0 should be 0,0,255,255
[ 146: PASS ] attachment 1 should be 0,0,255,255
[ 147: PASS ] attachment 2 should be 0,0,255,255
[ 148: PASS ] attachment 3 should be 0,0,255,255
[ 149: PASS ] attachment 4 should be 255,0,0,255
[ 150: PASS ] attachment 5 should be 255,0,0,255
[ 151: PASS ] attachment 6 should be 255,0,0,255
[ 152: PASS ] attachment 7 should be 255,0,0,255
[ 153: PASS ] attachment 0 should be 255,0,0,0
[ 154: PASS ] attachment 1 should be 0,255,0,0
[ 155: PASS ] attachment 2 should be 255,255,0,0
[ 156: PASS ] attachment 3 should be 0,0,255,0
[ 157: PASS ] attachment 4 should be 255,0,0,255
[ 158: PASS ] attachment 5 should be 255,0,0,255
[ 159: PASS ] attachment 6 should be 255,0,0,255
[ 160: PASS ] attachment 7 should be 255,0,0,255
[ 161: PASS ] attachment 0 should be 255,0,255,255
[ 162: PASS ] attachment 1 should be 255,0,0,255
[ 163: PASS ] attachment 2 should be 255,0,255,255
[ 164: PASS ] attachment 3 should be 255,0,0,255
[ 165: PASS ] attachment 4 should be 255,0,255,255
[ 166: PASS ] attachment 5 should be 255,0,0,255
[ 167: PASS ] attachment 6 should be 255,0,255,255
[ 168: PASS ] attachment 7 should be 255,0,0,255
[ 169: PASS ] attachment 0 should be 0,0,0,255
[ 170: PASS ] attachment 1 should be 0,255,0,0
[ 171: PASS ] attachment 2 should be 0,0,0,255
[ 172: PASS ] attachment 3 should be 0,0,255,0
[ 173: PASS ] attachment 4 should be 0,0,0,255
[ 174: PASS ] attachment 5 should be 0,255,255,0
[ 175: PASS ] attachment 6 should be 0,0,0,255
[ 176: PASS ] attachment 7 should be 0,0,0,255
[ 177: PASS ] attachment 0 should be 0,255,0,255
[ 178: PASS ] attachment 1 should be 0,255,0,255
[ 179: PASS ] attachment 2 should be 0,255,0,255
[ 180: PASS ] attachment 3 should be 0,255,0,255
[ 181: PASS ] attachment 4 should be 0,0,0,0
[ 182: PASS ] attachment 5 should be 0,0,0,0
[ 183: PASS ] attachment 6 should be 0,0,0,0
[ 184: PASS ] attachment 7 should be 0,0,0,0
[ 185: PASS ] attachment 0 should be 255,0,0,0
[ 186: PASS ] attachment 1 should be 0,255,0,0
[ 187: PASS ] attachment 2 should be 255,255,0,0
[ 188: PASS ] attachment 3 should be 0,0,255,0
[ 189: PASS ] attachment 4 should be 0,0,0,0
[ 190: PASS ] attachment 5 should be 0,0,0,0
[ 191: PASS ] attachment 6 should be 0,0,0,0
[ 192: PASS ] attachment 7 should be 0,0,0,0
[ 193: PASS ] attachment 0 should be 0,255,0,255
[ 194: PASS ] attachment 1 should be 0,0,0,0
[ 195: PASS ] attachment 2 should be 0,0,0,0
[ 196: PASS ] attachment 3 should be 0,0,0,0
[ 197: PASS ] attachment 4 should be 0,0,0,0
[ 198: PASS ] attachment 5 should be 0,0,0,0
[ 199: PASS ] attachment 6 should be 0,0,0,0
[ 200: PASS ] attachment 7 should be 0,255,0,255
[ 201: PASS ] attachment 0 should be 255,0,0,0
[ 202: PASS ] attachment 1 should be 0,0,0,0
[ 203: PASS ] attachment 2 should be 0,0,0,0
[ 204: PASS ] attachment 3 should be 0,0,0,0
[ 205: PASS ] attachment 4 should be 0,0,0,0
[ 206: PASS ] attachment 5 should be 0,0,0,0
[ 207: PASS ] attachment 6 should be 0,0,0,0
[ 208: PASS ] attachment 7 should be 0,0,0,255
[ 209: PASS ] attachment 0 should be 255,0,0,255
[ 210: PASS ] attachment 1 should be 255,0,0,255
[ 211: PASS ] attachment 2 should be 255,0,0,255
[ 212: PASS ] attachment 3 should be 255,0,0,255
[ 213: PASS ] attachment 4 should be 255,0,0,255
[ 214: PASS ] attachment 5 should be 255,0,0,255
[ 215: PASS ] attachment 6 should be 255,0,0,255
[ 216: PASS ] attachment 7 should be 255,0,0,255
[ 217: PASS ] attachment 0 should be 255,0,0,255
[ 218: PASS ] attachment 1 should be 255,0,0,255
[ 219: PASS ] attachment 2 should be 255,0,0,255
[ 220: PASS ] attachment 3 should be 255,0,0,255
[ 221: PASS ] attachment 4 should be 255,0,0,255
[ 222: PASS ] attachment 5 should be 255,0,0,255
[ 223: PASS ] attachment 6 should be 255,0,0,255
[ 224: PASS ] attachment 7 should be 255,0,0,255
[ 225: PASS ] attachment 0 should be 255,0,0,0
[ 226: PASS ] attachment 1 should be 0,255,0,0
[ 227: PASS ] attachment 2 should be 255,255,0,0
[ 228: PASS ] attachment 3 should be 0,0,255,0
[ 229: PASS ] attachment 4 should be 255,0,255,0
[ 230: PASS ] attachment 5 should be 0,255,255,0
[ 231: PASS ] attachment 6 should be 255,255,255,0
[ 232: PASS ] attachment 7 should be 0,0,0,255
[ 233: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 0) is gl.COLOR_ATTACHMENT0 + 0
[ 234: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 1) is gl.COLOR_ATTACHMENT0 + 1
[ 235: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 2) is gl.COLOR_ATTACHMENT0 + 2
[ 236: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 3) is gl.COLOR_ATTACHMENT0 + 3
[ 237: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 4) is gl.COLOR_ATTACHMENT0 + 4
[ 238: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 5) is gl.COLOR_ATTACHMENT0 + 5
[ 239: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 6) is gl.COLOR_ATTACHMENT0 + 6
[ 240: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 7) is gl.COLOR_ATTACHMENT0 + 7
[ 241: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 0) is gl.NONE
[ 242: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 1) is gl.NONE
[ 243: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 2) is gl.NONE
[ 244: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 3) is gl.NONE
[ 245: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 4) is gl.NONE
[ 246: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 5) is gl.NONE
[ 247: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 6) is gl.NONE
[ 248: PASS ] gl.getParameter(ext.DRAW_BUFFER0_WEBGL + 7) is gl.NONE
[ 249: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE is true
[ 250: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE is true
[ 251: PASS ] should be yellow
[ 252: PASS ] should be yellow
[ 253: FAIL ] should be clear at (0, 0) expected: 0,0,0,0 was 255,0,0,255
[ 254: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 255: PASS ] New WebGL context exists
[ 256: PASS ] getError was expected value: INVALID_ENUM : MAX_COLOR_ATTACHMENTS_WEBGL should not be queryable if extension is disabled
[ 257: PASS ] getError was expected value: INVALID_ENUM : MAX_DRAW_BUFFERS_WEBGL should not be queryable if extension is disabled
[ 258: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 259: PASS ] GL_EXT_draw_buffers should not be defined in GLSL
[ 260: PASS ] #extension GL_EXT_draw_buffers should not be allowed in GLSL
[ 261: PASS ] should be green
[ 262: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 263: PASS ] getError was expected value: INVALID_ENUM : should not be able to attach to gl.COLOR_ATTACHMENT1
[ 264: PASS ] getError was expected value: NO_ERROR : there should be no errors
[ 265: PASS ] successfullyParsed is true
[ FAIL ] 10 failures reported