Changeset 263281 in webkit
- Timestamp:
- Jun 19, 2020 12:59:28 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt
r259900 r263281 12 12 PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_ARRAY_STRIDE) is [-1] 13 13 PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_MATRIX_STRIDE) is [-1] 14 PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR) is [ 0]14 PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR) is [false] 15 15 PASS gl.getError() is gl.NO_ERROR 16 16 PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_NAME_LENGTH) is null -
trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms.html
r221667 r263281 26 26 shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_ARRAY_STRIDE)", "[-1]"); 27 27 shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_MATRIX_STRIDE)", "[-1]"); 28 shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR)", "[ 0]");28 shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR)", "[false]"); 29 29 shouldBe("gl.getError()", "gl.NO_ERROR"); 30 30 -
trunk/LayoutTests/webgl/2.0.0/conformance2/buffers/bound-buffer-size-change-test-expected.txt
r256836 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/buffers/bound-buffer-size-change-test.html 4 [ 1: PASS ] getError was expected value: NO_ERROR : Calling bindBufferBase on a buffer where no storage is allocated should succeed. 5 [ 2: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is buffer1 6 [ 3: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null. 7 [ 4: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 0 (of type number). Was null (of type object). 8 [ 5: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 0 (of type number). Was null (of type object). 9 [ 6: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null. 10 [ 7: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 0 (of type number). Was null (of type object). 11 [ 8: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 0 (of type number). Was null (of type object). 12 [ 9: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : 13 [ 10: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Calling bindBufferBase on a buffer where no storage is allocated should succeed. 14 [ 11: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null. 15 [ 12: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null. 16 [ 13: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 0 (of type number). Was null (of type object). 17 [ 14: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 0 (of type number). Was null (of type object). 18 [ 15: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null. 19 [ 16: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 0 (of type number). Was null (of type object). 20 [ 17: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 0 (of type number). Was null (of type object). 21 [ 18: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : 22 [ 19: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Calling bindBufferRange on a buffer where no storage is allocated should succeed. 23 [ 20: FAIL ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) should be [object WebGLBuffer]. Was [object WebGLBuffer]. 24 [ 21: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null. 25 [ 22: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 8 (of type number). Was null (of type object). 26 [ 23: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 4 (of type number). Was null (of type object). 27 [ 24: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null. 28 [ 25: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 8 (of type number). Was null (of type object). 29 [ 26: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 4 (of type number). Was null (of type object). 30 [ 27: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null. 31 [ 28: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 8 (of type number). Was null (of type object). 32 [ 29: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 4 (of type number). Was null (of type object). 33 [ 30: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : 34 [ 31: PASS ] getError was expected value: NO_ERROR : Calling bindBufferRange on a buffer where no storage is allocated should succeed. 35 [ 32: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null. 36 [ 33: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null. 37 [ 34: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 12 (of type number). Was null (of type object). 38 [ 35: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 256 (of type number). Was null (of type object). 39 [ 36: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null. 40 [ 37: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 12 (of type number). Was null (of type object). 41 [ 38: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 256 (of type number). Was null (of type object). 42 [ 39: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null. 43 [ 40: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 12 (of type number). Was null (of type object). 44 [ 41: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 256 (of type number). Was null (of type object). 45 [ 42: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : 46 [ 43: PASS ] successfullyParsed is true 47 [ FAIL ] 39 failures reported 4 [ PASS ] All tests passed 48 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/buffers/buffer-overflow-test-expected.txt
r236236 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/buffers/buffer-overflow-test.html 4 [ 1: PASS ] getError was expected value: NO_ERROR : Calling bindBufferRange on a buffer where no storage is allocated should succeed. 5 [ 2: FAIL ] buffer1 should be null. Was [object WebGLBuffer]. 6 [ 3: FAIL ] 4 should be null (of type object). Was 4 (of type number). 7 [ 4: FAIL ] 0 should be null (of type object). Was 0 (of type number). 8 [ 5: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Calling bindBufferRange on a buffer where the storage is not big enough should succeed. 9 [ 6: FAIL ] buffer2 should be null. Was [object WebGLBuffer]. 10 [ 7: FAIL ] 8 should be null (of type object). Was 8 (of type number). 11 [ 8: FAIL ] 0 should be null (of type object). Was 0 (of type number). 12 [ 9: PASS ] successfullyParsed is true 13 [ FAIL ] 7 failures reported 4 [ PASS ] All tests passed 14 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/buffers/buffer-type-restrictions-expected.txt
r261413 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/buffers/buffer-type-restrictions.html 4 [ 1: PASS ] getError was expected value: NO_ERROR : Should be no errors from setup. 5 [ 2: PASS ] getError was expected value: NO_ERROR : bindBuffer(gl.ARRAY_BUFFER, buffer1) should WORK 6 [ 3: PASS ] getError was expected value: NO_ERROR : bindBufferRange(gl.UNIFORM_BUFFER, 0, buffer2, 0, 4) should WORK 7 [ 4: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : bindBufferBase(gl.UNIFORM_BUFFER, 0, buffer3) should WORK 8 [ 5: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 9 [ 6: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 10 [ 7: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 11 [ 8: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 12 [ 9: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 13 [ 10: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 14 [ 11: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 15 [ 12: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 16 [ 13: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 17 [ 14: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 18 [ 15: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 19 [ 16: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.ARRAY_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 20 [ 17: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should FAIL 21 [ 18: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should WORK 22 [ 19: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 23 [ 20: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 24 [ 21: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should FAIL 25 [ 22: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should FAIL 26 [ 23: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should FAIL 27 [ 24: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should FAIL 28 [ 25: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should FAIL 29 [ 26: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should FAIL 30 [ 27: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should FAIL 31 [ 28: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.ELEMENT_ARRAY_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should FAIL 32 [ 29: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 33 [ 30: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 34 [ 31: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 35 [ 32: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 36 [ 33: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 37 [ 34: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 38 [ 35: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 39 [ 36: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 40 [ 37: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 41 [ 38: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 42 [ 39: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 43 [ 40: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.COPY_READ_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 44 [ 41: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 45 [ 42: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 46 [ 43: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 47 [ 44: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 48 [ 45: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 49 [ 46: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 50 [ 47: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 51 [ 48: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 52 [ 49: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 53 [ 50: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 54 [ 51: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 55 [ 52: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.COPY_WRITE_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 56 [ 53: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 57 [ 54: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 58 [ 55: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 59 [ 56: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 60 [ 57: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 61 [ 58: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 62 [ 59: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 63 [ 60: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 64 [ 61: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 65 [ 62: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 66 [ 63: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 67 [ 64: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.PIXEL_PACK_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 68 [ 65: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 69 [ 66: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 70 [ 67: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 71 [ 68: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 72 [ 69: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 73 [ 70: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 74 [ 71: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 75 [ 72: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 76 [ 73: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 77 [ 74: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 78 [ 75: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 79 [ 76: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.PIXEL_UNPACK_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 80 [ 77: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 81 [ 78: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 82 [ 79: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 83 [ 80: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 84 [ 81: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 85 [ 82: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 86 [ 83: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 87 [ 84: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 88 [ 85: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 89 [ 86: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 90 [ 87: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 91 [ 88: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 92 [ 89: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 93 [ 90: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 94 [ 91: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 95 [ 92: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 96 [ 93: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 97 [ 94: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 98 [ 95: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 99 [ 96: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 100 [ 97: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 101 [ 98: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 102 [ 99: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 103 [ 100: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 104 [ 101: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 105 [ 102: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 106 [ 103: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 107 [ 104: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 108 [ 105: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 109 [ 106: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 110 [ 107: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 111 [ 108: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 112 [ 109: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 113 [ 110: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 114 [ 111: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 115 [ 112: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 116 [ 113: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 117 [ 114: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 118 [ 115: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ARRAY_BUFFER should WORK 119 [ 116: PASS ] getError was expected value: INVALID_OPERATION : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 120 [ 117: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 121 [ 118: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.ELEMENT_ARRAY_BUFFER should FAIL 122 [ 119: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 123 [ 120: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 124 [ 121: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_READ_BUFFER should WORK 125 [ 122: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 126 [ 123: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 127 [ 124: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.COPY_WRITE_BUFFER should WORK 128 [ 125: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 129 [ 126: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 130 [ 127: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_PACK_BUFFER should WORK 131 [ 128: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 132 [ 129: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 133 [ 130: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.PIXEL_UNPACK_BUFFER should WORK 134 [ 131: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 135 [ 132: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 136 [ 133: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 137 [ 134: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 138 [ 135: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 139 [ 136: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 140 [ 137: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 141 [ 138: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 142 [ 139: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.TRANSFORM_FEEDBACK_BUFFER should WORK 143 [ 140: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 144 [ 141: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 145 [ 142: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBuffer to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 146 [ 143: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 147 [ 144: PASS ] getError was expected value: NO_ERROR : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 148 [ 145: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferRange to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 149 [ 146: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBuffer to gl.UNIFORM_BUFFER should WORK 150 [ 147: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBufferRange to gl.UNIFORM_BUFFER should WORK 151 [ 148: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Binding buffer first with bindBufferBase to gl.UNIFORM_BUFFER and then binding buffer with bindBufferBase to gl.UNIFORM_BUFFER should WORK 152 [ 149: PASS ] successfullyParsed is true 153 [ FAIL ] 28 failures reported 4 [ PASS ] All tests passed 154 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/buffers/one-large-uniform-buffer-expected.txt
r256836 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/buffers/one-large-uniform-buffer.html 4 [ 1: PASS ] WebGL context exists 5 [ 2: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Setting up uniform block should succeed 6 [ 3: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Draw with uniform block should succeed 7 [ 4: FAIL ] canvas should be same as input uniform at (0, 0) expected: 127,191,64,255 was 0,0,0,0 8 [ 5: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : Setting up uniform block should succeed 9 [ 6: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Draw with uniform block should succeed 10 [ 7: FAIL ] canvas should be same as input uniform at (0, 0) expected: 127,191,64,255 was 0,0,0,0 11 [ 8: PASS ] getError was expected value: NO_ERROR : Readback from uniform block should succeed 12 [ 9: PASS ] successfullyParsed is true 13 [ FAIL ] 6 failures reported 4 [ PASS ] All tests passed 14 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/buffers/uniform-buffers-expected.txt
r261413 r263281 1 CONSOLE MESSAGE: TypeError: Value is not a sequence2 1 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL. 3 2 4 3 Test: ../../resources/webgl_test_files/conformance2/buffers/uniform-buffers.html 5 [ 1: PASS ] WebGL context exists 6 [ 2: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 7 [ 3: PASS ] getError was expected value: NO_ERROR : UNIFORM_BUFFER_BINDING query should succeed 8 [ 4: PASS ] getError was expected value: NO_ERROR : createBuffer should not set an error 9 [ 5: PASS ] b1 is non-null. 10 [ 6: PASS ] b2 is non-null. 11 [ 7: PASS ] getError was expected value: NO_ERROR : should be able to bind uniform buffer 12 [ 8: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is b1 13 [ 9: PASS ] getError was expected value: NO_ERROR : should be able to update uniform buffer binding 14 [ 10: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is b2 15 [ 11: PASS ] getError was expected value: NO_ERROR : should be able to unbind uniform buffer 16 [ 12: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 17 [ 13: PASS ] getError was expected value: INVALID_OPERATION : binding a deleted buffer should generate INVALID_OPERATION 18 [ 14: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 19 [ 15: PASS ] To define the same uniform in two uniform blocks should fail 20 [ 16: PASS ] UNIFORM_BUFFER_OFFSET_ALIGNMENT is divisible by four 21 [ 17: FAIL ] successfullyParsed should be true (of type boolean). Was undefined (of type undefined). 22 [ FAIL ] 1 failures reported 4 [ PASS ] All tests passed 23 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/glsl3/attrib-location-length-limits-expected.txt
r235913 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/glsl3/attrib-location-length-limits.html 4 [ 1: PASS ] gl.getProgramParameter(program, gl.LINK_STATUS) is true 5 [ 2: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : 6 [ 3: FAIL ] attrib location was -1, should not be 7 [ 4: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : 8 [ 5: PASS ] wtu.loadProgramFromScriptExpectError(gl, "badVertexShader", "fragmentShader") is null 9 [ 6: PASS ] getError was expected value: NO_ERROR : 10 [ 7: PASS ] getError was expected value: INVALID_VALUE : 11 [ 8: PASS ] gl.getAttribLocation(program, attrib1025Name) is -1 12 [ 9: PASS ] getError was expected value: INVALID_VALUE : 13 [ 10: PASS ] successfullyParsed is true 14 [ FAIL ] 3 failures reported 4 [ PASS ] All tests passed 15 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/glsl3/uniform-location-length-limits-expected.txt
r235913 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/glsl3/uniform-location-length-limits.html 4 [ 1: PASS ] gl.getProgramParameter(program, gl.LINK_STATUS) is true 5 [ 2: FAIL ] uniformLoc should be non-null. Was null 6 [ 3: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : 7 [ 4: PASS ] getError was expected value: NO_ERROR : 8 [ 5: PASS ] gl.getProgramParameter(program, gl.LINK_STATUS) is true 9 [ 6: PASS ] getError was expected value: INVALID_VALUE : 10 [ 7: PASS ] uniformLoc is null 11 [ 8: PASS ] successfullyParsed is true 12 [ FAIL ] 2 failures reported 4 [ PASS ] All tests passed 13 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt
r261413 r263281 68 68 [ 64: PASS ] getParameter(UNIFORM_BUFFER_BINDING): Expect extra expando to survive despite GC. 69 69 [ 65: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 70 [ 66: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) returns instance that was bound. 71 [ 67: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1) returns instance that was bound. 72 [ 68: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2) returns instance that was bound. 73 [ 69: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3) returns instance that was bound. 74 [ 70: FAIL ] successfullyParsed should be true (of type boolean). Was undefined (of type undefined). 75 [ FAIL ] 31 failures reported 70 [ 66: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) returns instance that was bound. 71 [ 67: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1) returns instance that was bound. 72 [ 68: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2) returns instance that was bound. 73 [ 69: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3) returns instance that was bound. 74 [ 70: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect basic expando to survive despite GC. 75 [ 71: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect subobject expando to survive despite GC. 76 [ 72: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect extra expando to survive despite GC. 77 [ 73: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 78 [ 74: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect basic expando to survive despite GC. 79 [ 75: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect subobject expando to survive despite GC. 80 [ 76: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect extra expando to survive despite GC. 81 [ 77: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 82 [ 78: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect basic expando to survive despite GC. 83 [ 79: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect subobject expando to survive despite GC. 84 [ 80: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect extra expando to survive despite GC. 85 [ 81: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 86 [ 82: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect basic expando to survive despite GC. 87 [ 83: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect subobject expando to survive despite GC. 88 [ 84: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect extra expando to survive despite GC. 89 [ 85: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 90 [ 86: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0) returns instance that was bound. 91 [ 87: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1) returns instance that was bound. 92 [ 88: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2) returns instance that was bound. 93 [ 89: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3) returns instance that was bound. 94 [ 90: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4) returns instance that was bound. 95 [ 91: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5) returns instance that was bound. 96 [ 92: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6) returns instance that was bound. 97 [ 93: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7) returns instance that was bound. 98 [ 94: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8) returns instance that was bound. 99 [ 95: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9) returns instance that was bound. 100 [ 96: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10) returns instance that was bound. 101 [ 97: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11) returns instance that was bound. 102 [ 98: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12) returns instance that was bound. 103 [ 99: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13) returns instance that was bound. 104 [ 100: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14) returns instance that was bound. 105 [ 101: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15) returns instance that was bound. 106 [ 102: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16) returns instance that was bound. 107 [ 103: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17) returns instance that was bound. 108 [ 104: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18) returns instance that was bound. 109 [ 105: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19) returns instance that was bound. 110 [ 106: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20) returns instance that was bound. 111 [ 107: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21) returns instance that was bound. 112 [ 108: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22) returns instance that was bound. 113 [ 109: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23) returns instance that was bound. 114 [ 110: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24) returns instance that was bound. 115 [ 111: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25) returns instance that was bound. 116 [ 112: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26) returns instance that was bound. 117 [ 113: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27) returns instance that was bound. 118 [ 114: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28) returns instance that was bound. 119 [ 115: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29) returns instance that was bound. 120 [ 116: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30) returns instance that was bound. 121 [ 117: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31) returns instance that was bound. 122 [ 118: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32) returns instance that was bound. 123 [ 119: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33) returns instance that was bound. 124 [ 120: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34) returns instance that was bound. 125 [ 121: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35) returns instance that was bound. 126 [ 122: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36) returns instance that was bound. 127 [ 123: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37) returns instance that was bound. 128 [ 124: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38) returns instance that was bound. 129 [ 125: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39) returns instance that was bound. 130 [ 126: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40) returns instance that was bound. 131 [ 127: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41) returns instance that was bound. 132 [ 128: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42) returns instance that was bound. 133 [ 129: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43) returns instance that was bound. 134 [ 130: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44) returns instance that was bound. 135 [ 131: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45) returns instance that was bound. 136 [ 132: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46) returns instance that was bound. 137 [ 133: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47) returns instance that was bound. 138 [ 134: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect basic expando to survive despite GC. 139 [ 135: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect subobject expando to survive despite GC. 140 [ 136: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect extra expando to survive despite GC. 141 [ 137: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 142 [ 138: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect basic expando to survive despite GC. 143 [ 139: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect subobject expando to survive despite GC. 144 [ 140: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect extra expando to survive despite GC. 145 [ 141: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 146 [ 142: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect basic expando to survive despite GC. 147 [ 143: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect subobject expando to survive despite GC. 148 [ 144: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect extra expando to survive despite GC. 149 [ 145: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 150 [ 146: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect basic expando to survive despite GC. 151 [ 147: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect subobject expando to survive despite GC. 152 [ 148: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect extra expando to survive despite GC. 153 [ 149: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 154 [ 150: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect basic expando to survive despite GC. 155 [ 151: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect subobject expando to survive despite GC. 156 [ 152: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect extra expando to survive despite GC. 157 [ 153: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 158 [ 154: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect basic expando to survive despite GC. 159 [ 155: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect subobject expando to survive despite GC. 160 [ 156: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect extra expando to survive despite GC. 161 [ 157: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 162 [ 158: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect basic expando to survive despite GC. 163 [ 159: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect subobject expando to survive despite GC. 164 [ 160: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect extra expando to survive despite GC. 165 [ 161: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 166 [ 162: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect basic expando to survive despite GC. 167 [ 163: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect subobject expando to survive despite GC. 168 [ 164: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect extra expando to survive despite GC. 169 [ 165: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 170 [ 166: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect basic expando to survive despite GC. 171 [ 167: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect subobject expando to survive despite GC. 172 [ 168: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect extra expando to survive despite GC. 173 [ 169: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 174 [ 170: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect basic expando to survive despite GC. 175 [ 171: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect subobject expando to survive despite GC. 176 [ 172: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect extra expando to survive despite GC. 177 [ 173: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 178 [ 174: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect basic expando to survive despite GC. 179 [ 175: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect subobject expando to survive despite GC. 180 [ 176: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect extra expando to survive despite GC. 181 [ 177: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 182 [ 178: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect basic expando to survive despite GC. 183 [ 179: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect subobject expando to survive despite GC. 184 [ 180: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect extra expando to survive despite GC. 185 [ 181: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 186 [ 182: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect basic expando to survive despite GC. 187 [ 183: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect subobject expando to survive despite GC. 188 [ 184: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect extra expando to survive despite GC. 189 [ 185: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 190 [ 186: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect basic expando to survive despite GC. 191 [ 187: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect subobject expando to survive despite GC. 192 [ 188: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect extra expando to survive despite GC. 193 [ 189: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 194 [ 190: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect basic expando to survive despite GC. 195 [ 191: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect subobject expando to survive despite GC. 196 [ 192: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect extra expando to survive despite GC. 197 [ 193: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 198 [ 194: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect basic expando to survive despite GC. 199 [ 195: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect subobject expando to survive despite GC. 200 [ 196: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect extra expando to survive despite GC. 201 [ 197: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 202 [ 198: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect basic expando to survive despite GC. 203 [ 199: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect subobject expando to survive despite GC. 204 [ 200: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect extra expando to survive despite GC. 205 [ 201: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 206 [ 202: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect basic expando to survive despite GC. 207 [ 203: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect subobject expando to survive despite GC. 208 [ 204: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect extra expando to survive despite GC. 209 [ 205: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 210 [ 206: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect basic expando to survive despite GC. 211 [ 207: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect subobject expando to survive despite GC. 212 [ 208: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect extra expando to survive despite GC. 213 [ 209: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 214 [ 210: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect basic expando to survive despite GC. 215 [ 211: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect subobject expando to survive despite GC. 216 [ 212: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect extra expando to survive despite GC. 217 [ 213: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 218 [ 214: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect basic expando to survive despite GC. 219 [ 215: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect subobject expando to survive despite GC. 220 [ 216: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect extra expando to survive despite GC. 221 [ 217: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 222 [ 218: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect basic expando to survive despite GC. 223 [ 219: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect subobject expando to survive despite GC. 224 [ 220: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect extra expando to survive despite GC. 225 [ 221: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 226 [ 222: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect basic expando to survive despite GC. 227 [ 223: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect subobject expando to survive despite GC. 228 [ 224: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect extra expando to survive despite GC. 229 [ 225: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 230 [ 226: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect basic expando to survive despite GC. 231 [ 227: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect subobject expando to survive despite GC. 232 [ 228: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect extra expando to survive despite GC. 233 [ 229: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 234 [ 230: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect basic expando to survive despite GC. 235 [ 231: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect subobject expando to survive despite GC. 236 [ 232: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect extra expando to survive despite GC. 237 [ 233: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 238 [ 234: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect basic expando to survive despite GC. 239 [ 235: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect subobject expando to survive despite GC. 240 [ 236: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect extra expando to survive despite GC. 241 [ 237: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 242 [ 238: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect basic expando to survive despite GC. 243 [ 239: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect subobject expando to survive despite GC. 244 [ 240: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect extra expando to survive despite GC. 245 [ 241: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 246 [ 242: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect basic expando to survive despite GC. 247 [ 243: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect subobject expando to survive despite GC. 248 [ 244: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect extra expando to survive despite GC. 249 [ 245: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 250 [ 246: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect basic expando to survive despite GC. 251 [ 247: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect subobject expando to survive despite GC. 252 [ 248: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect extra expando to survive despite GC. 253 [ 249: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 254 [ 250: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect basic expando to survive despite GC. 255 [ 251: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect subobject expando to survive despite GC. 256 [ 252: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect extra expando to survive despite GC. 257 [ 253: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 258 [ 254: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect basic expando to survive despite GC. 259 [ 255: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect subobject expando to survive despite GC. 260 [ 256: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect extra expando to survive despite GC. 261 [ 257: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 262 [ 258: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect basic expando to survive despite GC. 263 [ 259: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect subobject expando to survive despite GC. 264 [ 260: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect extra expando to survive despite GC. 265 [ 261: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 266 [ 262: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect basic expando to survive despite GC. 267 [ 263: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect subobject expando to survive despite GC. 268 [ 264: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect extra expando to survive despite GC. 269 [ 265: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 270 [ 266: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect basic expando to survive despite GC. 271 [ 267: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect subobject expando to survive despite GC. 272 [ 268: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect extra expando to survive despite GC. 273 [ 269: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 274 [ 270: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect basic expando to survive despite GC. 275 [ 271: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect subobject expando to survive despite GC. 276 [ 272: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect extra expando to survive despite GC. 277 [ 273: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 278 [ 274: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect basic expando to survive despite GC. 279 [ 275: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect subobject expando to survive despite GC. 280 [ 276: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect extra expando to survive despite GC. 281 [ 277: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 282 [ 278: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect basic expando to survive despite GC. 283 [ 279: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect subobject expando to survive despite GC. 284 [ 280: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect extra expando to survive despite GC. 285 [ 281: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 286 [ 282: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect basic expando to survive despite GC. 287 [ 283: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect subobject expando to survive despite GC. 288 [ 284: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect extra expando to survive despite GC. 289 [ 285: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 290 [ 286: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect basic expando to survive despite GC. 291 [ 287: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect subobject expando to survive despite GC. 292 [ 288: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect extra expando to survive despite GC. 293 [ 289: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 294 [ 290: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect basic expando to survive despite GC. 295 [ 291: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect subobject expando to survive despite GC. 296 [ 292: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect extra expando to survive despite GC. 297 [ 293: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 298 [ 294: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect basic expando to survive despite GC. 299 [ 295: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect subobject expando to survive despite GC. 300 [ 296: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect extra expando to survive despite GC. 301 [ 297: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 302 [ 298: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect basic expando to survive despite GC. 303 [ 299: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect subobject expando to survive despite GC. 304 [ 300: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect extra expando to survive despite GC. 305 [ 301: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 306 [ 302: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect basic expando to survive despite GC. 307 [ 303: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect subobject expando to survive despite GC. 308 [ 304: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect extra expando to survive despite GC. 309 [ 305: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 310 [ 306: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect basic expando to survive despite GC. 311 [ 307: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect subobject expando to survive despite GC. 312 [ 308: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect extra expando to survive despite GC. 313 [ 309: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 314 [ 310: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect basic expando to survive despite GC. 315 [ 311: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect subobject expando to survive despite GC. 316 [ 312: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect extra expando to survive despite GC. 317 [ 313: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 318 [ 314: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect basic expando to survive despite GC. 319 [ 315: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect subobject expando to survive despite GC. 320 [ 316: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect extra expando to survive despite GC. 321 [ 317: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 322 [ 318: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect basic expando to survive despite GC. 323 [ 319: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect subobject expando to survive despite GC. 324 [ 320: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect extra expando to survive despite GC. 325 [ 321: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 326 [ 322: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect basic expando to survive despite GC. 327 [ 323: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect subobject expando to survive despite GC. 328 [ 324: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect extra expando to survive despite GC. 329 [ 325: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer 330 [ 326: FAIL ] CURRENT_QUERY returns instance that was bound. 331 [ 327: FAIL ] CURRENT_QUERY returns instance that was bound. 332 [ 328: FAIL ] successfullyParsed should be true (of type boolean). Was undefined (of type undefined). 333 [ FAIL ] 179 failures reported 76 334 -
trunk/LayoutTests/webgl/2.0.0/conformance2/misc/object-deletion-behaviour-2-expected.txt
r261413 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/misc/object-deletion-behaviour-2.html 4 [ 1: PASS ] bufferBaseUniform is non-null. 5 [ 2: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, bufferBaseUniform) 6 [ 3: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null. 7 [ 4: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferBaseUniform) 8 [ 5: PASS ] gl.isBuffer(bufferBaseUniform) is false 9 [ 6: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 10 [ 7: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, bufferBaseUniform) 11 [ 8: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 12 [ 9: PASS ] bufferBaseTransformFeedback is non-null. 13 [ 10: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferBaseTransformFeedback) 14 [ 11: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is bufferBaseTransformFeedback 15 [ 12: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferBaseTransformFeedback) 16 [ 13: PASS ] gl.isBuffer(bufferBaseTransformFeedback) is false 17 [ 14: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null 18 [ 15: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferBaseTransformFeedback) 19 [ 16: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null 20 [ 17: PASS ] bufferRangeUniform is non-null. 21 [ 18: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindBufferRange(gl.UNIFORM_BUFFER, 0, bufferRangeUniform, 0, gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT) 22 [ 19: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null. 23 [ 20: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferRangeUniform) 24 [ 21: PASS ] gl.isBuffer(bufferRangeUniform) is false 25 [ 22: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 26 [ 23: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : after evaluating: gl.bindBufferRange(gl.UNIFORM_BUFFER, 0, bufferRangeUniform, 0, gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT) 27 [ 24: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null 28 [ 25: PASS ] bufferRangeTransformFeedback is non-null. 29 [ 26: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferRangeTransformFeedback, 0, 4) 30 [ 27: FAIL ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) should be [object WebGLBuffer]. Was null. 31 [ 28: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferRangeTransformFeedback) 32 [ 29: PASS ] gl.isBuffer(bufferRangeTransformFeedback) is false 33 [ 30: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null 34 [ 31: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : after evaluating: gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferRangeTransformFeedback, 0, 4) 35 [ 32: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null 36 [ 33: PASS ] sampler is non-null. 37 [ 34: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindSampler(0, sampler) 38 [ 35: PASS ] gl.getParameter(gl.SAMPLER_BINDING) is sampler 39 [ 36: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteSampler(sampler) 40 [ 37: PASS ] gl.isSampler(sampler) is false 41 [ 38: PASS ] gl.getParameter(gl.SAMPLER_BINDING) is null 42 [ 39: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindSampler(0, sampler) 43 [ 40: PASS ] gl.getParameter(gl.SAMPLER_BINDING) is null 44 [ 41: PASS ] vertexArray is non-null. 45 [ 42: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindVertexArray(vertexArray) 46 [ 43: PASS ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) is vertexArray 47 [ 44: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteVertexArray(vertexArray) 48 [ 45: PASS ] gl.isVertexArray(vertexArray) is false 49 [ 46: PASS ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) is null 50 [ 47: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindVertexArray(vertexArray) 51 [ 48: PASS ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) is null 52 [ 49: PASS ] transformFeedback is non-null. 53 [ 50: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback) 54 [ 51: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is transformFeedback 55 [ 52: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteTransformFeedback(transformFeedback) 56 [ 53: PASS ] gl.isTransformFeedback(transformFeedback) is false 57 [ 54: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 58 [ 55: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback) 59 [ 56: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 60 [ 57: PASS ] successfullyParsed is true 61 [ FAIL ] 6 failures reported 4 [ PASS ] All tests passed 62 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/reading/read-pixels-from-rgb8-into-pbo-bug-expected.txt
r254148 r263281 4 4 [ 1: PASS ] context exists 5 5 [ 2: FAIL ] Expected in pixel 0: [255,0,0,255], got: 0,0,0,0 6 [ 3: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM: Tests should complete without gl errors6 [ 3: PASS ] getError was expected value: NO_ERROR : Tests should complete without gl errors 7 7 [ 4: PASS ] successfullyParsed is true 8 [ FAIL ] 2failures reported8 [ FAIL ] 1 failures reported 9 9 -
trunk/LayoutTests/webgl/2.0.0/conformance2/renderbuffers/readbuffer-expected.txt
r259139 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/renderbuffers/readbuffer.html 4 [ 1: PASS ] context exists 5 [ 2: PASS ] getError was expected value: NO_ERROR : should be no errors when reading from GL_BACK on the default framebuffer. 6 [ 3: PASS ] the color should be [0,0,0,255] 7 [ 4: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 1029 (of type number). Was null (of type object). 8 [ 5: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : calling readBuffer with GL_NONE on the default framebuffer should succeed. 9 [ 6: PASS ] getError was expected value: INVALID_OPERATION : should generate INVALID_OPERATION when reading from framebuffer and read buffer is GL_NONE. 10 [ 7: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : calling readBuffer with GL_BACK on the default framebuffer should succeed. 11 [ 8: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : calling readBuffer with GL_COLOR_ATTACHMENT0 on the default framebuffer should generate INVALID_OPERATION. 12 [ 9: PASS ] getError was expected value: NO_ERROR : should be no errors when reading from GL_COLOR_ATTACHMENT0 on fbo. 13 [ 10: PASS ] the color should be [255,0,0,255] 14 [ 11: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 36064 (of type number). Was null (of type object). 15 [ 12: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : calling readBuffer with GL_BACK on fbo should generate INVALID_OPERATION. 16 [ 13: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : calling readBuffer with GL_NONE on fbo should succeed. 17 [ 14: PASS ] getError was expected value: INVALID_OPERATION : should generate INVALID_OPERATION when reading from framebuffer and read buffer is GL_NONE. 18 [ 15: PASS ] getError was expected value: NO_ERROR : calling readBuffer with GL_COLOR_ATTACHMENT0 on fbo should succeed. 19 [ 16: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION : calling readBuffer with GL_COLOR_ATTACHMENTi that exceeds MAX_COLOR_ATTACHMENT on fbo should generate INVALID_ENUM. 20 [ 17: PASS ] getError was expected value: NO_ERROR : calling readBuffer with GL_COLOR_ATTACHMENT1 on the fbo should succeed. 21 [ 18: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 36065 (of type number). Was null (of type object). 22 [ 19: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : should be no error after setup and clear render buffer 23 [ 20: PASS ] getError was expected value: NO_ERROR : should be no errors when reading from GL_COLOR_ATTACHMENT1 on fbo. 24 [ 21: PASS ] the color should be [0,255,0,255] 25 [ 22: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 36065 (of type number). Was null (of type object). 26 [ 23: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : should generate INVALID_OPERATION when reading from GL_COLOR_ATTACHMENT1 but this attachment has no image currently. 27 [ 24: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 36064 (of type number). Was null (of type object). 28 [ 25: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : should be no errors when reading from GL_COLOR_ATTACHMENT0 on another fbo. 29 [ 26: PASS ] the color should be [0,0,255,255] 30 [ 27: FAIL ] gl.getParameter(gl.READ_BUFFER) should be 1029 (of type number). Was null (of type object). 31 [ 28: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : should be no errors when reading from GL_BACK on the default framebuffer. 32 [ 29: PASS ] the color should be [0,0,0,255] 33 [ 30: PASS ] successfullyParsed is true 34 [ FAIL ] 16 failures reported 4 [ PASS ] All tests passed 35 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/rendering/attrib-type-match-expected.txt
r256836 r263281 39 39 [ 36: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawElements succeeds 40 40 [ 37: FAIL ] should be 255,0,0,255 at (0, 0) expected: 255,0,0,255 was 0,0,0,0 41 [ 38: PASS ] getError was expected value: NO_ERROR: drawRangeElements succeeds41 [ 38: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawRangeElements succeeds 42 42 [ 39: FAIL ] should be 255,0,0,255 at (0, 0) expected: 255,0,0,255 was 0,0,0,0 43 43 [ 40: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawElementsInstanced succeeds 44 44 [ 41: FAIL ] should be 255,0,0,255 at (0, 0) expected: 255,0,0,255 was 0,0,0,0 45 45 [ 42: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 46 [ 43: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch46 [ 43: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 47 47 [ 44: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 48 48 [ 45: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 49 [ 46: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch49 [ 46: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 50 50 [ 47: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 51 51 [ 48: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 52 [ 49: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch52 [ 49: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 53 53 [ 50: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 54 54 [ 51: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 55 [ 52: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch55 [ 52: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 56 56 [ 53: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 57 57 [ 54: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 58 [ 55: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch58 [ 55: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 59 59 [ 56: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 60 60 [ 57: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 61 [ 58: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch61 [ 58: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 62 62 [ 59: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 63 63 [ 60: PASS ] getError was expected value: NO_ERROR : Setting up succeeds 64 64 [ 61: PASS ] getError was expected value: NO_ERROR : drawArrays succeeds 65 65 [ 62: PASS ] should be 0,255,0,255 66 [ 63: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawArraysInstanced succeeds66 [ 63: PASS ] getError was expected value: NO_ERROR : drawArraysInstanced succeeds 67 67 [ 64: PASS ] should be 0,255,0,255 68 68 [ 65: PASS ] getError was expected value: INVALID_OPERATION : type mismatch … … 83 83 [ 80: PASS ] getError was expected value: NO_ERROR : drawRangeElements succeeds 84 84 [ 81: PASS ] should be 0,255,0,255 85 [ 82: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawElementsInstanced succeeds85 [ 82: PASS ] getError was expected value: NO_ERROR : drawElementsInstanced succeeds 86 86 [ 83: PASS ] should be 0,255,0,255 87 87 [ 84: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 88 [ 85: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch88 [ 85: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 89 89 [ 86: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 90 90 [ 87: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 91 [ 88: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch91 [ 88: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 92 92 [ 89: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 93 93 [ 90: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 94 [ 91: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch94 [ 91: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 95 95 [ 92: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 96 96 [ 93: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 97 [ 94: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch97 [ 94: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 98 98 [ 95: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 99 99 [ 96: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 100 [ 97: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch100 [ 97: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 101 101 [ 98: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 102 102 [ 99: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 103 [ 100: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR: type mismatch103 [ 100: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 104 104 [ 101: PASS ] getError was expected value: INVALID_OPERATION : type mismatch 105 105 [ 102: PASS ] successfullyParsed is true 106 [ FAIL ] 27failures reported106 [ FAIL ] 14 failures reported 107 107 -
trunk/LayoutTests/webgl/2.0.0/conformance2/rendering/instanced-arrays-expected.txt
r259139 r263281 28 28 [ 25: FAIL ] should be 255,255,0,255 at (25, 0) expected: 255,255,0,255 was 0,0,0,0 29 29 [ 26: FAIL ] getError expected: INVALID_VALUE. Was INVALID_OPERATION : drawArraysInstanced cannot have a primcount less than 0 30 [ 27: FAIL ] getError expected: INVALID_VALUE. Was INVALID_OPERATION: drawArraysInstanced cannot have a count less than 030 [ 27: PASS ] getError was expected value: INVALID_VALUE : drawArraysInstanced cannot have a count less than 0 31 31 [ 28: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : It's allowed for all vertex attributes to have non-zero divisors when calling drawArraysInstanced 32 32 [ 29: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawArraysInstanced with POINTS should succeed … … 34 34 [ 31: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawArraysInstanced with LINE_LIST should return succeed 35 35 [ 32: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawArraysInstanced with TRI_LIST should succeed 36 [ 33: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawArraysInstanced with QUAD_STRIP should return INVALID_ENUM37 [ 34: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawArraysInstanced with QUADS should return INVALID_ENUM38 [ 35: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawArraysInstanced with POLYGON should return INVALID_ENUM36 [ 33: PASS ] getError was expected value: INVALID_ENUM : drawArraysInstanced with QUAD_STRIP should return INVALID_ENUM 37 [ 34: PASS ] getError was expected value: INVALID_ENUM : drawArraysInstanced with QUADS should return INVALID_ENUM 38 [ 35: PASS ] getError was expected value: INVALID_ENUM : drawArraysInstanced with POLYGON should return INVALID_ENUM 39 39 [ 36: FAIL ] should be 255,0,0,255 at (0, 25) expected: 255,0,0,255 was 0,0,0,0 40 40 [ 37: FAIL ] should be 0,255,0,255 at (25, 25) expected: 0,255,0,255 was 0,0,0,0 41 41 [ 38: FAIL ] should be 0,0,255,255 at (0, 0) expected: 0,0,255,255 was 0,0,0,0 42 42 [ 39: FAIL ] should be 255,255,0,255 at (25, 0) expected: 255,255,0,255 was 0,0,0,0 43 [ 40: FAIL ] getError expected: INVALID_VALUE. Was INVALID_OPERATION: drawElementsInstanced cannot have a primcount less than 044 [ 41: FAIL ] getError expected: INVALID_VALUE. Was INVALID_OPERATION: drawElementsInstanced cannot have a count less than 043 [ 40: PASS ] getError was expected value: INVALID_VALUE : drawElementsInstanced cannot have a primcount less than 0 44 [ 41: PASS ] getError was expected value: INVALID_VALUE : drawElementsInstanced cannot have a count less than 0 45 45 [ 42: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : It's allowed for all vertex attributes to have non-zero divisors when calling drawElementsInstanced 46 46 [ 43: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : drawElementsInstanced with UNSIGNED_BYTE should succeed 47 [ 44: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawElementsInstanced with POINTS should succeed48 [ 45: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawElementsInstanced with LINES should succeed49 [ 46: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawElementsInstanced with LINE_LIST should return succeed50 [ 47: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION: drawElementsInstanced with TRI_LIST should succeed51 [ 48: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawElementsInstanced with QUAD_STRIP should return INVALID_ENUM52 [ 49: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawElementsInstanced with QUADS should return INVALID_ENUM53 [ 50: FAIL ] getError expected: INVALID_ENUM. Was INVALID_OPERATION: drawElementsInstanced with POLYGON should return INVALID_ENUM47 [ 44: PASS ] getError was expected value: NO_ERROR : drawElementsInstanced with POINTS should succeed 48 [ 45: PASS ] getError was expected value: NO_ERROR : drawElementsInstanced with LINES should succeed 49 [ 46: PASS ] getError was expected value: NO_ERROR : drawElementsInstanced with LINE_LIST should return succeed 50 [ 47: PASS ] getError was expected value: NO_ERROR : drawElementsInstanced with TRI_LIST should succeed 51 [ 48: PASS ] getError was expected value: INVALID_ENUM : drawElementsInstanced with QUAD_STRIP should return INVALID_ENUM 52 [ 49: PASS ] getError was expected value: INVALID_ENUM : drawElementsInstanced with QUADS should return INVALID_ENUM 53 [ 50: PASS ] getError was expected value: INVALID_ENUM : drawElementsInstanced with POLYGON should return INVALID_ENUM 54 54 [ 51: PASS ] getError was expected value: NO_ERROR : there should be no errors 55 55 [ 52: PASS ] successfullyParsed is true 56 [ FAIL ] 30failures reported56 [ FAIL ] 17 failures reported 57 57 -
trunk/LayoutTests/webgl/2.0.0/conformance2/rendering/uniform-block-buffer-size-expected.txt
r259900 r263281 1 CONSOLE MESSAGE: TypeError: Value is not a sequence2 1 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL. 3 2 4 3 Test: ../../resources/webgl_test_files/conformance2/rendering/uniform-block-buffer-size.html 5 [ 1: PASS ] WebGL context exists 6 [ 2: FAIL ] successfullyParsed should be true (of type boolean). Was undefined (of type undefined). 7 [ FAIL ] 1 failures reported 4 [ PASS ] All tests passed 8 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/state/gl-enum-tests-expected.txt
r236236 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/state/gl-enum-tests.html 4 [ 1: PASS ] context exists 5 [ 2: PASS ] getError was expected value: NO_ERROR : 6 [ 3: PASS ] getError was expected value: INVALID_ENUM : gl.disable(desktopGL['CLIP_PLANE0']) should return INVALID_ENUM. 7 [ 4: PASS ] getError was expected value: INVALID_ENUM : gl.disable(desktopGL['POINT_SPRITE']) should return INVALID_ENUM. 8 [ 5: PASS ] getError was expected value: INVALID_ENUM : gl.getBufferParameter(gl.ARRAY_BUFFER, desktopGL['PIXEL_PACK_BUFFER']) should return INVALID_ENUM. 9 [ 6: PASS ] getError was expected value: INVALID_ENUM : gl.hint(desktopGL['PERSPECTIVE_CORRECTION_HINT'], gl.FASTEST) should return INVALID_ENUM. 10 [ 7: PASS ] getError was expected value: INVALID_ENUM : gl.isEnabled(desktopGL['CLIP_PLANE0']) should return INVALID_ENUM. 11 [ 8: PASS ] getError was expected value: INVALID_ENUM : gl.isEnabled(desktopGL['POINT_SPRITE']) should return INVALID_ENUM. 12 [ 9: PASS ] getError was expected value: INVALID_ENUM : gl.pixelStorei(desktopGL['PACK_SWAP_BYTES'], 1) should return INVALID_ENUM. 13 [ 10: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(desktopGL['NUM_COMPRESSED_TEXTURE_FORMATS']) should return INVALID_ENUM. 14 [ 11: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(desktopGL['EXTENSIONS']) should return INVALID_ENUM. 15 [ 12: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(desktopGL['SHADER_COMPILER']) should return INVALID_ENUM. 16 [ 13: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(desktopGL['SHADER_BINARY_FORMATS']) should return INVALID_ENUM. 17 [ 14: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(desktopGL['NUM_SHADER_BINARY_FORMATS']) should return INVALID_ENUM. 18 [ 15: PASS ] getError was expected value: INVALID_ENUM : gl.bindTexture(desktopGL['TEXTURE_RECTANGLE_EXT'], tex) should return INVALID_ENUM. 19 [ 16: PASS ] getError was expected value: INVALID_ENUM : gl.enable(desktopGL['PRIMITIVE_RESTART_FIXED_INDEX']) should return INVALID_ENUM. 20 [ 17: PASS ] getError was expected value: INVALID_ENUM : gl.getActiveUniforms(program, [0], desktopGL['UNIFORM_NAME_LENGTH']) should return INVALID_ENUM. 21 [ 18: PASS ] getError was expected value: INVALID_ENUM : gl.getProgramParameter(program, desktopGL['ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH']) should return INVALID_ENUM. 22 [ 19: PASS ] getError was expected value: INVALID_ENUM : gl.getProgramParameter(program, desktopGL['TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH']) should return INVALID_ENUM. 23 [ 20: PASS ] getError was expected value: INVALID_ENUM : gl.getProgramParameter(program, desktopGL['PROGRAM_BINARY_RETRIEVABLE_HINT']) should return INVALID_ENUM. 24 [ 21: PASS ] getError was expected value: INVALID_ENUM : gl.getProgramParameter(program, desktopGL['PROGRAM_BINARY_LENGTH']) should return INVALID_ENUM. 25 [ 22: PASS ] getError was expected value: INVALID_ENUM : gl.getParameter(program, desktopGL['NUM_PROGRAM_BINARY_FORMATS']) should return INVALID_ENUM. 26 [ 23: PASS ] getError was expected value: NO_ERROR : 27 [ 24: PASS ] getError was expected value: INVALID_ENUM : gl.getTexParameter(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP']) should return INVALID_ENUM. 28 [ 25: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP'], 1) should return INVALID_ENUM. 29 [ 26: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, desktopGL['CLAMP_TO_BORDER']) should return INVALID_ENUM. 30 [ 27: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_2D'], desktopGL['TEXTURE_SWIZZLE_R_EXT'], gl.RED) should return INVALID_ENUM. 31 [ 28: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_2D'], desktopGL['TEXTURE_SWIZZLE_G_EXT'], gl.RED) should return INVALID_ENUM. 32 [ 29: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_2D'], desktopGL['TEXTURE_SWIZZLE_B_EXT'], gl.RED) should return INVALID_ENUM. 33 [ 30: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_2D'], desktopGL['TEXTURE_SWIZZLE_A_EXT'], gl.RED) should return INVALID_ENUM. 34 [ 31: PASS ] getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_2D'], gl.TEXTURE_WRAP_R, desktopGL['CLAMP_TO_BORDER']) should return INVALID_ENUM. 35 [ 32: PASS ] gl.getProgramParameter(uniformBlockProgram, gl.LINK_STATUS) is true 36 [ 33: PASS ] gl.getError() is gl.NO_ERROR 37 [ 34: FAIL ] gl.getError() should be 1280. Was 0. 38 [ 35: PASS ] successfullyParsed is true 39 [ FAIL ] 1 failures reported 4 [ PASS ] All tests passed 40 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/state/gl-get-calls-expected.txt
r261413 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/state/gl-get-calls.html 4 [ 1: PASS ] context exists 5 [ 2: PASS ] context contains getError 6 [ 3: PASS ] context.getParameter(context.COPY_READ_BUFFER_BINDING) is null 7 [ 4: PASS ] context.getParameter(context.COPY_WRITE_BUFFER_BINDING) is null 8 [ 5: PASS ] context.getParameter(context.DRAW_BUFFER0) is context.BACK 9 [ 6: PASS ] context.getParameter(context.DRAW_FRAMEBUFFER_BINDING) is null 10 [ 7: PASS ] context.getParameter(context.FRAGMENT_SHADER_DERIVATIVE_HINT) is context.DONT_CARE 11 [ 8: PASS ] context.getParameter(context.PACK_ROW_LENGTH) is 0 12 [ 9: PASS ] context.getParameter(context.PACK_SKIP_PIXELS) is 0 13 [ 10: PASS ] context.getParameter(context.PACK_SKIP_ROWS) is 0 14 [ 11: PASS ] context.getParameter(context.PIXEL_PACK_BUFFER_BINDING) is null 15 [ 12: PASS ] context.getParameter(context.PIXEL_UNPACK_BUFFER_BINDING) is null 16 [ 13: PASS ] context.getParameter(context.RASTERIZER_DISCARD) is false 17 [ 14: FAIL ] context.getParameter(context.READ_BUFFER) should be 1029 (of type number). Was null (of type object). 18 [ 15: PASS ] context.getParameter(context.READ_FRAMEBUFFER_BINDING) is null 19 [ 16: PASS ] context.getParameter(context.SAMPLE_ALPHA_TO_COVERAGE) is false 20 [ 17: PASS ] context.getParameter(context.SAMPLE_COVERAGE) is false 21 [ 18: PASS ] context.getParameter(context.SAMPLER_BINDING) is null 22 [ 19: PASS ] context.getParameter(context.TEXTURE_BINDING_2D_ARRAY) is null 23 [ 20: PASS ] context.getParameter(context.TEXTURE_BINDING_3D) is null 24 [ 21: PASS ] context.getParameter(context.TRANSFORM_FEEDBACK_ACTIVE) is false 25 [ 22: PASS ] context.getParameter(context.TRANSFORM_FEEDBACK_BINDING) is null 26 [ 23: PASS ] context.getParameter(context.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null 27 [ 24: PASS ] context.getParameter(context.TRANSFORM_FEEDBACK_PAUSED) is false 28 [ 25: PASS ] context.getParameter(context.UNIFORM_BUFFER_BINDING) is null 29 [ 26: PASS ] context.getParameter(context.UNPACK_IMAGE_HEIGHT) is 0 30 [ 27: PASS ] context.getParameter(context.UNPACK_ROW_LENGTH) is 0 31 [ 28: PASS ] context.getParameter(context.UNPACK_SKIP_IMAGES) is 0 32 [ 29: PASS ] context.getParameter(context.UNPACK_SKIP_PIXELS) is 0 33 [ 30: PASS ] context.getParameter(context.UNPACK_SKIP_ROWS) is 0 34 [ 31: PASS ] context.getParameter(context.VERTEX_ARRAY_BINDING) is null 35 [ 32: PASS ] context.getParameter(context.MAX_3D_TEXTURE_SIZE) is >= 256 36 [ 33: PASS ] context.getParameter(context.MAX_3D_TEXTURE_SIZE) is an instance of Number 37 [ 34: PASS ] context.getParameter(context.MAX_ARRAY_TEXTURE_LAYERS) is >= 256 38 [ 35: PASS ] context.getParameter(context.MAX_ARRAY_TEXTURE_LAYERS) is an instance of Number 39 [ 36: PASS ] context.getParameter(context.MAX_CLIENT_WAIT_TIMEOUT_WEBGL) is >= 0 40 [ 37: PASS ] context.getParameter(context.MAX_CLIENT_WAIT_TIMEOUT_WEBGL) is an instance of Number 41 [ 38: PASS ] context.getParameter(context.MAX_COLOR_ATTACHMENTS) is >= 4 42 [ 39: PASS ] context.getParameter(context.MAX_COLOR_ATTACHMENTS) is an instance of Number 43 [ 40: PASS ] context.getParameter(context.MAX_COMBINED_UNIFORM_BLOCKS) is >= 24 44 [ 41: PASS ] context.getParameter(context.MAX_COMBINED_UNIFORM_BLOCKS) is an instance of Number 45 [ 42: PASS ] context.getParameter(context.MAX_DRAW_BUFFERS) is >= 4 46 [ 43: PASS ] context.getParameter(context.MAX_DRAW_BUFFERS) is an instance of Number 47 [ 44: FAIL ] context.getParameter(context.MAX_ELEMENT_INDEX) should be >= 16777215. Was 0 (of type number). 48 [ 45: PASS ] context.getParameter(context.MAX_ELEMENT_INDEX) is an instance of Number 49 [ 46: PASS ] context.getParameter(context.MAX_ELEMENTS_INDICES) is an instance of Number 50 [ 47: PASS ] context.getParameter(context.MAX_ELEMENTS_VERTICES) is an instance of Number 51 [ 48: PASS ] context.getParameter(context.MAX_FRAGMENT_INPUT_COMPONENTS) is >= 60 52 [ 49: PASS ] context.getParameter(context.MAX_FRAGMENT_INPUT_COMPONENTS) is an instance of Number 53 [ 50: PASS ] context.getParameter(context.MAX_FRAGMENT_UNIFORM_BLOCKS) is >= 12 54 [ 51: PASS ] context.getParameter(context.MAX_FRAGMENT_INPUT_COMPONENTS) is an instance of Number 55 [ 52: PASS ] context.getParameter(context.MAX_FRAGMENT_UNIFORM_COMPONENTS) is >= 896 56 [ 53: PASS ] context.getParameter(context.MAX_FRAGMENT_UNIFORM_COMPONENTS) is an instance of Number 57 [ 54: PASS ] context.getParameter(context.MAX_PROGRAM_TEXEL_OFFSET) is >= 7 58 [ 55: PASS ] context.getParameter(context.MAX_PROGRAM_TEXEL_OFFSET) is an instance of Number 59 [ 56: PASS ] context.getParameter(context.MAX_SAMPLES) is >= 4 60 [ 57: PASS ] context.getParameter(context.MAX_PROGRAM_TEXEL_OFFSET) is an instance of Number 61 [ 58: PASS ] context.getParameter(context.MAX_SERVER_WAIT_TIMEOUT) is >= 0 62 [ 59: PASS ] context.getParameter(context.MAX_SERVER_WAIT_TIMEOUT) is an instance of Number 63 [ 60: PASS ] context.getParameter(context.MAX_TEXTURE_LOD_BIAS) is >= 2.0 64 [ 61: PASS ] context.getParameter(context.MAX_TEXTURE_LOD_BIAS) is an instance of Number 65 [ 62: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS) is >= 64 66 [ 63: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS) is an instance of Number 67 [ 64: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) is >= 4 68 [ 65: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) is an instance of Number 69 [ 66: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) is >= 4 70 [ 67: PASS ] context.getParameter(context.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) is an instance of Number 71 [ 68: FAIL ] context.getParameter(context.MAX_UNIFORM_BLOCK_SIZE) should be >= 16384. Was 0 (of type number). 72 [ 69: PASS ] context.getParameter(context.MAX_UNIFORM_BLOCK_SIZE) is an instance of Number 73 [ 70: PASS ] context.getParameter(context.MAX_UNIFORM_BUFFER_BINDINGS) is >= 24 74 [ 71: PASS ] context.getParameter(context.MAX_UNIFORM_BUFFER_BINDINGS) is an instance of Number 75 [ 72: PASS ] context.getParameter(context.MAX_VARYING_COMPONENTS) is >= 60 76 [ 73: PASS ] context.getParameter(context.MAX_VARYING_COMPONENTS) is an instance of Number 77 [ 74: PASS ] context.getParameter(context.MAX_VERTEX_OUTPUT_COMPONENTS) is >= 64 78 [ 75: PASS ] context.getParameter(context.MAX_VERTEX_OUTPUT_COMPONENTS) is an instance of Number 79 [ 76: PASS ] context.getParameter(context.MAX_VERTEX_UNIFORM_BLOCKS) is >= 12 80 [ 77: PASS ] context.getParameter(context.MAX_VERTEX_UNIFORM_BLOCKS) is an instance of Number 81 [ 78: PASS ] context.getParameter(context.MAX_VERTEX_UNIFORM_COMPONENTS) is >= 1024 82 [ 79: PASS ] context.getParameter(context.MAX_VERTEX_UNIFORM_COMPONENTS) is an instance of Number 83 [ 80: PASS ] context.getParameter(context.MIN_PROGRAM_TEXEL_OFFSET) is <= -8 84 [ 81: PASS ] context.getParameter(context.MIN_PROGRAM_TEXEL_OFFSET) is an instance of Number 85 [ 82: PASS ] context.getParameter(context.UNIFORM_BUFFER_OFFSET_ALIGNMENT) is >= 1 86 [ 83: PASS ] context.getParameter(context.UNIFORM_BUFFER_OFFSET_ALIGNMENT) is an instance of Number 87 [ 84: FAIL ] context.getParameter(context.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS) should be >= 4096. Was 0 (of type number). 88 [ 85: PASS ] context.getParameter(context.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS) is an instance of Number 89 [ 86: FAIL ] context.getParameter(context.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS) should be >= 4096. Was 0 (of type number). 90 [ 87: PASS ] context.getParameter(context.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS) is an instance of Number 91 [ 88: FAIL ] context.getError() should be 0. Was 1280. 92 [ 89: PASS ] successfullyParsed is true 93 [ FAIL ] 6 failures reported 4 [ PASS ] All tests passed 94 5 -
trunk/LayoutTests/webgl/2.0.0/conformance2/state/gl-object-get-calls-expected.txt
r261413 r263281 292 292 [ 288: PASS ] getInternalformatParameter correctly handled invalid pname enums 293 293 [ 289: FAIL ] getInternalformatParameter returned 4,2 instead of null for invalid internalformat enum: 0x81a7 294 [ 290: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be [object WebGLBuffer]. Was null.295 [ 291: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) should be 8 (of type number). Was null (of type object).296 [ 292: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) should be 4 (of type number). Was null (of type object).297 [ 293: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) should be [object WebGLBuffer]. Was null.298 [ 294: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) should be 8 (of type number). Was null (of type object).299 [ 295: FAIL ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) should be 256 (of type number). Was null (of type object).294 [ 290: PASS ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) is buffer 295 [ 291: PASS ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_SIZE, 0) is 8 296 [ 292: PASS ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_START, 0) is 4 297 [ 293: PASS ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) is buffer1 298 [ 294: PASS ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_SIZE, 1) is 8 299 [ 295: PASS ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_START, 1) is offsetUniform 300 300 [ 296: PASS ] gl.getIndexedParameter(gl.UNIFORM_BUFFER_BINDING, 1) is null 301 301 [ 297: PASS ] getIndexedParameter correctly handled invalid target enums … … 312 312 [ 308: FAIL ] gl.getSyncParameter(sync, gl.OBJECT_TYPE) should be 37142. Threw exception TypeError: Argument 1 ('sync') to WebGL2RenderingContext.getSyncParameter must be an instance of WebGLSync 313 313 [ 309: FAIL ] successfullyParsed should be true (of type boolean). Was undefined (of type undefined). 314 [ FAIL ] 64failures reported314 [ FAIL ] 58 failures reported 315 315 -
trunk/LayoutTests/webgl/2.0.0/conformance2/transform_feedback/transform_feedback-expected.txt
r236095 r263281 2 2 3 3 Test: ../../resources/webgl_test_files/conformance2/transform_feedback/transform_feedback.html 4 [ PASS ] All tests passed 4 [ 1: PASS ] WebGL context exists 5 [ 2: PASS ] gl.TRANSFORM_FEEDBACK_BINDING is 0x8E25 6 [ 3: PASS ] getError was expected value: NO_ERROR : TRANSFORM_FEEDBACK_BINDING query should succeed 7 [ 4: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 8 [ 5: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 9 [ 6: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is tf 10 [ 7: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is tf1 11 [ 8: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 12 [ 9: PASS ] getError was expected value: INVALID_OPERATION : binding a deleted Transform Feedback object 13 [ 10: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null 14 [ 11: PASS ] getError was expected value: NO_ERROR : there should be no errors 15 [ 12: FAIL ] gl.getIndexedParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) should be null. Was [object WebGLBuffer]. 16 [ 13: PASS ] getError was expected value: NO_ERROR : binding buffer to ARRAY_BUFFER 17 [ 14: PASS ] getError was expected value: NO_ERROR : createTransformFeedback should not set an error 18 [ 15: PASS ] tf is non-null. 19 [ 16: PASS ] gl.isTransformFeedback(tf) is false 20 [ 17: PASS ] gl.isTransformFeedback(tf) is true 21 [ 18: PASS ] gl.isTransformFeedback(tf) is true 22 [ 19: PASS ] gl.isTransformFeedback(tf) is false 23 [ 20: PASS ] gl.isTransformFeedback(null) is false 24 [ 21: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 25 [ 22: PASS ] program is non-null. 26 [ 23: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.getBufferSubData(gl.TRANSFORM_FEEDBACK_BUFFER, 0, retArray, 0, retArray.length) 27 [ 24: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.getBufferSubData(gl.TRANSFORM_FEEDBACK_BUFFER, 0, retArray, 0, retArray.length) 28 [ 25: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.getBufferSubData(gl.TRANSFORM_FEEDBACK_BUFFER, 0, retArray, 0, retArray.length) 29 [ 26: PASS ] buffer should match expected values 30 [ 27: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 31 [ 28: PASS ] program is non-null. 32 [ 29: PASS ] buffer should match expected values 33 [ 30: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 34 [ 31: PASS ] program is non-null. 35 [ 32: PASS ] buffer should match expected values 36 [ 33: PASS ] buffer should match expected values 37 [ 34: PASS ] TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN query's result didn't become available too early 38 [ 35: PASS ] TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN query returned a correct result (3) 39 [ 36: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 40 [ 37: PASS ] program is non-null. 41 [ 38: PASS ] gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS) is 2 42 [ 39: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 43 [ 40: PASS ] activeInfo is non-null. 44 [ 41: PASS ] activeInfo.name is 'out_add' 45 [ 42: PASS ] activeInfo.type is gl.FLOAT_VEC4 46 [ 43: PASS ] activeInfo.size is 1 47 [ 44: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 48 [ 45: PASS ] activeInfo is non-null. 49 [ 46: PASS ] activeInfo.name is 'out_mul' 50 [ 47: PASS ] activeInfo.type is gl.FLOAT_VEC4 51 [ 48: PASS ] activeInfo.size is 1 52 [ 49: PASS ] getError was expected value: INVALID_VALUE : Should be INVALID_VALUE when calling getTransformFeedbackVarying with an invalid index. 53 [ 50: PASS ] activeInfo is null 54 [ 51: PASS ] gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS) is 2 55 [ 52: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 56 [ 53: PASS ] activeInfo is non-null. 57 [ 54: PASS ] activeInfo.name is 'out_add' 58 [ 55: PASS ] activeInfo.type is gl.FLOAT_VEC4 59 [ 56: PASS ] activeInfo.size is 1 60 [ 57: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 61 [ 58: PASS ] activeInfo is non-null. 62 [ 59: PASS ] activeInfo.name is 'out_mul' 63 [ 60: PASS ] activeInfo.type is gl.FLOAT_VEC4 64 [ 61: PASS ] activeInfo.size is 1 65 [ 62: PASS ] getError was expected value: INVALID_VALUE : Should be INVALID_VALUE when calling getTransformFeedbackVarying with an invalid index. 66 [ 63: PASS ] activeInfo is null 67 [ 64: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 68 [ 65: PASS ] gl.getProgramParameter(program, gl.LINK_STATUS) is true 69 [ 66: PASS ] gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS) is 1 70 [ 67: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 71 [ 68: PASS ] activeInfo is non-null. 72 [ 69: PASS ] activeInfo.name is 'out_mul' 73 [ 70: PASS ] activeInfo.type is gl.FLOAT_VEC4 74 [ 71: PASS ] activeInfo.size is 1 75 [ 72: PASS ] getError was expected value: INVALID_VALUE : Should be INVALID_VALUE when calling getTransformFeedbackVarying with an invalid index. 76 [ 73: PASS ] activeInfo is null 77 [ 74: PASS ] getError was expected value: INVALID_VALUE : Should be INVALID_VALUE when calling getTransformFeedbackVarying with an invalid index. 78 [ 75: PASS ] activeInfo is null 79 [ 76: PASS ] getError was expected value: NO_ERROR : linking transform feedback shader should not set an error 80 [ 77: PASS ] gl.getProgramParameter(program, gl.LINK_STATUS) is true 81 [ 78: PASS ] gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS) is 2 82 [ 79: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 83 [ 80: PASS ] activeInfo is non-null. 84 [ 81: PASS ] activeInfo.name is 'out_add' 85 [ 82: PASS ] activeInfo.type is gl.FLOAT_VEC4 86 [ 83: PASS ] activeInfo.size is 1 87 [ 84: PASS ] getError was expected value: NO_ERROR : Should be no errors from valid getTransformFeedbackVarying. 88 [ 85: PASS ] activeInfo is non-null. 89 [ 86: PASS ] activeInfo.name is 'out_mul' 90 [ 87: PASS ] activeInfo.type is gl.FLOAT_VEC4 91 [ 88: PASS ] activeInfo.size is 1 92 [ 89: PASS ] getError was expected value: INVALID_VALUE : Should be INVALID_VALUE when calling getTransformFeedbackVarying with an invalid index. 93 [ 90: PASS ] activeInfo is null 94 [ 91: PASS ] successfullyParsed is true 95 [ FAIL ] 1 failures reported 5 96 -
trunk/LayoutTests/webgl/2.0.0/resources/webgl_test_files/conformance2/renderbuffers/readbuffer.html
r232783 r263281 100 100 var maxColorAttachments = gl.getParameter(gl.MAX_COLOR_ATTACHMENTS); 101 101 gl.readBuffer(gl.COLOR_ATTACHMENT0 + maxColorAttachments); 102 wtu.glErrorShouldBe(gl, gl.INVALID_ ENUM,103 "calling readBuffer with GL_COLOR_ATTACHMENTi that exceeds MAX_COLOR_ATTACHMENT on fbo should generate INVALID_ ENUM.");102 wtu.glErrorShouldBe(gl, gl.INVALID_OPERATION, 103 "calling readBuffer with GL_COLOR_ATTACHMENTi that exceeds MAX_COLOR_ATTACHMENT on fbo should generate INVALID_OPERATION."); 104 104 gl.readBuffer(gl.COLOR_ATTACHMENT1); 105 105 wtu.glErrorShouldBe(gl, gl.NO_ERROR, -
trunk/Source/WebCore/ChangeLog
r263278 r263281 1 2020-06-19 James Darpinian <jdarpinian@chromium.org> 2 3 [WebGL2] Uniform Buffer Objects 4 https://bugs.webkit.org/show_bug.cgi?id=209518 5 6 Reviewed by Dean Jackson. 7 8 All uniform buffer object conformance tests pass. 9 10 Implemented Uniform Buffer Object related functions: 11 bindBufferBase, bindBufferRange, getUniformIndices, getActiveUniforms, getUniformBlockIndex, 12 getActiveUniformBlockParameter, getActiveUniformBlockName, uniformBlockBinding 13 14 Additionally, fixed many tangentially related issues: 15 getIntegeri_v and getInteger64i_v were not present. 16 drawArraysInstances and drawElementsInstanced did not work for WebGL 2. 17 drawRangeElements was not implemented. 18 WebGLAny did not support Vector<unsigned>, so Uint32Arrays could not be returned from WebGL functions. 19 The maximum uniform location length was wrong for WebGL 2. 20 Transform feedback indexed binding points weren't being tracked. 21 Some functions in ExtensionsGLANGLE didn't call makeContextCurrent. 22 New WebGL 2 buffer usage types COPY and READ weren't supported in bufferData. 23 pause/resumeTransformFeedback were unimplemented. 24 getParameter(READ_BUFFER) was unimplemented. 25 readBuffer conformance test was incorrect. 26 27 * bindings/js/JSDOMConvertWebGL.cpp: 28 (WebCore::convertToJSValue): 29 * html/canvas/WebGL2RenderingContext.cpp: 30 (WebCore::WebGL2RenderingContext::~WebGL2RenderingContext): 31 (WebCore::WebGL2RenderingContext::initializeNewContext): 32 (WebCore::WebGL2RenderingContext::drawRangeElements): 33 (WebCore::WebGL2RenderingContext::setIndexedBufferBinding): 34 (WebCore::WebGL2RenderingContext::bindBufferBase): 35 (WebCore::WebGL2RenderingContext::bindBufferRange): 36 (WebCore::WebGL2RenderingContext::getIndexedParameter): 37 (WebCore::WebGL2RenderingContext::getUniformIndices): 38 (WebCore::WebGL2RenderingContext::getActiveUniforms): 39 (WebCore::WebGL2RenderingContext::getUniformBlockIndex): 40 (WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter): 41 (WebCore::WebGL2RenderingContext::getActiveUniformBlockName): 42 (WebCore::WebGL2RenderingContext::uniformBlockBinding): 43 * html/canvas/WebGL2RenderingContext.h: 44 * html/canvas/WebGLAny.h: 45 * html/canvas/WebGLRenderingContextBase.cpp: 46 (WebCore::WebGLRenderingContextBase::validateLocationLength): 47 (WebCore::WebGLRenderingContextBase::validateBufferDataParameters): 48 * loader/SubresourceLoader.cpp: 49 (WebCore::SubresourceLoader::didFinishLoading): 50 * platform/graphics/GraphicsContextGL.h: 51 * platform/graphics/angle/ExtensionsGLANGLE.cpp: 52 (WebCore::ExtensionsGLANGLE::getTranslatedShaderSourceANGLE): 53 (WebCore::ExtensionsGLANGLE::blitFramebuffer): 54 (WebCore::ExtensionsGLANGLE::renderbufferStorageMultisample): 55 (WebCore::ExtensionsGLANGLE::drawBuffersEXT): 56 (WebCore::ExtensionsGLANGLE::getBooleanvRobustANGLE): 57 (WebCore::ExtensionsGLANGLE::getBufferParameterivRobustANGLE): 58 (WebCore::ExtensionsGLANGLE::getFloatvRobustANGLE): 59 (WebCore::ExtensionsGLANGLE::getFramebufferAttachmentParameterivRobustANGLE): 60 (WebCore::ExtensionsGLANGLE::getIntegervRobustANGLE): 61 (WebCore::ExtensionsGLANGLE::getProgramivRobustANGLE): 62 (WebCore::ExtensionsGLANGLE::getRenderbufferParameterivRobustANGLE): 63 (WebCore::ExtensionsGLANGLE::getShaderivRobustANGLE): 64 (WebCore::ExtensionsGLANGLE::getTexParameterfvRobustANGLE): 65 (WebCore::ExtensionsGLANGLE::getTexParameterivRobustANGLE): 66 (WebCore::ExtensionsGLANGLE::getUniformfvRobustANGLE): 67 (WebCore::ExtensionsGLANGLE::getUniformivRobustANGLE): 68 (WebCore::ExtensionsGLANGLE::getVertexAttribfvRobustANGLE): 69 (WebCore::ExtensionsGLANGLE::getVertexAttribivRobustANGLE): 70 (WebCore::ExtensionsGLANGLE::getVertexAttribPointervRobustANGLE): 71 (WebCore::ExtensionsGLANGLE::readPixelsRobustANGLE): 72 (WebCore::ExtensionsGLANGLE::texImage2DRobustANGLE): 73 (WebCore::ExtensionsGLANGLE::texParameterfvRobustANGLE): 74 (WebCore::ExtensionsGLANGLE::texParameterivRobustANGLE): 75 (WebCore::ExtensionsGLANGLE::texSubImage2DRobustANGLE): 76 (WebCore::ExtensionsGLANGLE::compressedTexImage2DRobustANGLE): 77 (WebCore::ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE): 78 (WebCore::ExtensionsGLANGLE::compressedTexImage3DRobustANGLE): 79 (WebCore::ExtensionsGLANGLE::compressedTexSubImage3DRobustANGLE): 80 (WebCore::ExtensionsGLANGLE::texImage3DRobustANGLE): 81 (WebCore::ExtensionsGLANGLE::texSubImage3DRobustANGLE): 82 (WebCore::ExtensionsGLANGLE::getQueryivRobustANGLE): 83 (WebCore::ExtensionsGLANGLE::getQueryObjectuivRobustANGLE): 84 (WebCore::ExtensionsGLANGLE::getBufferPointervRobustANGLE): 85 (WebCore::ExtensionsGLANGLE::getIntegeri_vRobustANGLE): 86 (WebCore::ExtensionsGLANGLE::getInternalformativRobustANGLE): 87 (WebCore::ExtensionsGLANGLE::getVertexAttribIivRobustANGLE): 88 (WebCore::ExtensionsGLANGLE::getVertexAttribIuivRobustANGLE): 89 (WebCore::ExtensionsGLANGLE::getUniformuivRobustANGLE): 90 (WebCore::ExtensionsGLANGLE::getActiveUniformBlockivRobustANGLE): 91 (WebCore::ExtensionsGLANGLE::getInteger64vRobustANGLE): 92 (WebCore::ExtensionsGLANGLE::getInteger64i_vRobustANGLE): 93 (WebCore::ExtensionsGLANGLE::getBufferParameteri64vRobustANGLE): 94 (WebCore::ExtensionsGLANGLE::samplerParameterivRobustANGLE): 95 (WebCore::ExtensionsGLANGLE::samplerParameterfvRobustANGLE): 96 (WebCore::ExtensionsGLANGLE::getSamplerParameterivRobustANGLE): 97 (WebCore::ExtensionsGLANGLE::getSamplerParameterfvRobustANGLE): 98 (WebCore::ExtensionsGLANGLE::getFramebufferParameterivRobustANGLE): 99 (WebCore::ExtensionsGLANGLE::getProgramInterfaceivRobustANGLE): 100 (WebCore::ExtensionsGLANGLE::getBooleani_vRobustANGLE): 101 (WebCore::ExtensionsGLANGLE::getMultisamplefvRobustANGLE): 102 (WebCore::ExtensionsGLANGLE::getTexLevelParameterivRobustANGLE): 103 (WebCore::ExtensionsGLANGLE::getTexLevelParameterfvRobustANGLE): 104 (WebCore::ExtensionsGLANGLE::getPointervRobustANGLERobustANGLE): 105 (WebCore::ExtensionsGLANGLE::readnPixelsRobustANGLE): 106 (WebCore::ExtensionsGLANGLE::getnUniformfvRobustANGLE): 107 (WebCore::ExtensionsGLANGLE::getnUniformivRobustANGLE): 108 (WebCore::ExtensionsGLANGLE::getnUniformuivRobustANGLE): 109 (WebCore::ExtensionsGLANGLE::texParameterIivRobustANGLE): 110 (WebCore::ExtensionsGLANGLE::texParameterIuivRobustANGLE): 111 (WebCore::ExtensionsGLANGLE::getTexParameterIivRobustANGLE): 112 (WebCore::ExtensionsGLANGLE::getTexParameterIuivRobustANGLE): 113 (WebCore::ExtensionsGLANGLE::samplerParameterIivRobustANGLE): 114 (WebCore::ExtensionsGLANGLE::samplerParameterIuivRobustANGLE): 115 (WebCore::ExtensionsGLANGLE::getSamplerParameterIivRobustANGLE): 116 (WebCore::ExtensionsGLANGLE::getSamplerParameterIuivRobustANGLE): 117 (WebCore::ExtensionsGLANGLE::getQueryObjectivRobustANGLE): 118 (WebCore::ExtensionsGLANGLE::getQueryObjecti64vRobustANGLE): 119 (WebCore::ExtensionsGLANGLE::getQueryObjectui64vRobustANGLE): 120 * platform/graphics/angle/GraphicsContextGLANGLE.cpp: 121 (WebCore::GraphicsContextGLOpenGL::getIntegeri_v): 122 (WebCore::GraphicsContextGLOpenGL::getInteger64v): 123 (WebCore::GraphicsContextGLOpenGL::getInteger64i_v): 124 (WebCore::GraphicsContextGLOpenGL::drawArraysInstanced): 125 (WebCore::GraphicsContextGLOpenGL::drawElementsInstanced): 126 (WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex): 127 (WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv): 128 (WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName): 129 (WebCore::GraphicsContextGLOpenGL::uniformBlockBinding): 130 (WebCore::GraphicsContextGLOpenGL::drawRangeElements): 131 (WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback): 132 (WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback): 133 (WebCore::GraphicsContextGLOpenGL::bindBufferRange): 134 (WebCore::GraphicsContextGLOpenGL::getUniformIndices): 135 * platform/graphics/opengl/GraphicsContextGLOpenGL.h: 136 * platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: 137 (WebCore::GraphicsContextGLOpenGL::getIntegeri_v): 138 * platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: 139 (WebCore::GraphicsContextGLOpenGL::getInteger64v): 140 (WebCore::GraphicsContextGLOpenGL::getInteger64i_v): 141 1 142 2020-06-19 Chris Dumez <cdumez@apple.com> 2 143 -
trunk/Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp
r260908 r263281 104 104 }, 105 105 [&] (const Vector<int>& values) { 106 MarkedArgumentBuffer list; 107 for (auto& value : values) 108 list.append(jsNumber(value)); 109 RELEASE_ASSERT(!list.hasOverflowed()); 110 return constructArray(&globalObject, static_cast<JSC::ArrayAllocationProfile*>(nullptr), list); 111 }, 112 [&] (const Vector<unsigned>& values) { 106 113 MarkedArgumentBuffer list; 107 114 for (auto& value : values) -
trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
r261413 r263281 114 114 m_boundTransformFeedback = nullptr; 115 115 m_boundTransformFeedbackBuffers.clear(); 116 m_boundTransformFeedbackBuffer = nullptr; 117 m_boundUniformBuffer = nullptr; 118 m_boundIndexedUniformBuffers.clear(); 116 119 m_activeQueries.clear(); 117 120 } … … 139 142 // NEEDS_PORT: set up default transform feedback object 140 143 141 // NEEDS_PORT: set up bound indexed uniform buffers, max bound uniform buffer index 144 m_boundIndexedUniformBuffers.resize(getIntParameter(GraphicsContextGL::MAX_UNIFORM_BUFFER_BINDINGS)); 145 m_uniformBufferOffsetAlignment = getIntParameter(GraphicsContextGL::UNIFORM_BUFFER_OFFSET_ALIGNMENT); 142 146 143 147 // NEEDS_PORT: set up pack parameters: row length, skip pixels, skip rows … … 276 280 277 281 return true; 282 } 283 284 WebGLBuffer* WebGL2RenderingContext::validateBufferDataParameters(const char* functionName, GCGLenum target, GCGLenum usage) 285 { 286 WebGLBuffer* buffer = validateBufferDataTarget(functionName, target); 287 if (!buffer) 288 return nullptr; 289 switch (usage) { 290 case GraphicsContextGL::STREAM_DRAW: 291 case GraphicsContextGL::STATIC_DRAW: 292 case GraphicsContextGL::DYNAMIC_DRAW: 293 return buffer; 294 case GraphicsContextGL::STREAM_COPY: 295 case GraphicsContextGL::STATIC_COPY: 296 case GraphicsContextGL::DYNAMIC_COPY: 297 case GraphicsContextGL::STREAM_READ: 298 case GraphicsContextGL::STATIC_READ: 299 case GraphicsContextGL::DYNAMIC_READ: 300 return buffer; 301 } 302 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, functionName, "invalid usage"); 303 return nullptr; 278 304 } 279 305 … … 779 805 void WebGL2RenderingContext::readBuffer(GCGLenum src) 780 806 { 807 if (src == GraphicsContextGL::BACK) { 808 // Because the backbuffer is simulated on all current WebKit ports, we need to change BACK to COLOR_ATTACHMENT0. 809 if (m_readFramebufferBinding) { 810 synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, "readBuffer", "BACK is valid for default framebuffer only"); 811 return; 812 } 813 src = GraphicsContextGL::COLOR_ATTACHMENT0; 814 } else if (!m_readFramebufferBinding && src != GraphicsContextGL::NONE) { 815 synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, "readBuffer", "default framebuffer only supports NONE or BACK"); 816 return; 817 } 818 781 819 m_context->readBuffer(src); 782 820 } … … 1386 1424 } 1387 1425 1388 void WebGL2RenderingContext::drawRangeElements(GCGLenum, GCGLuint, GCGLuint, GCGLsizei, GCGLenum, GCGLint64) 1389 { 1390 LOG(WebGL, "[[ NOT IMPLEMENTED ]] drawRangeElements()"); 1426 void WebGL2RenderingContext::drawRangeElements(GCGLenum mode, GCGLuint start, GCGLuint end, GCGLsizei count, GCGLenum type, GCGLint64 offset) 1427 { 1428 if (isContextLostOrPending()) 1429 return; 1430 1431 m_context->drawRangeElements(mode, start, end, count, type, offset); 1391 1432 } 1392 1433 … … 1829 1870 } 1830 1871 1831 void WebGL2RenderingContext::bindBufferBase(GCGLenum target, GCGLuint index, WebGLBuffer* buffer)1832 { 1833 if (isContextLostOrPending()) 1834 return ;1835 1836 if (!checkObjectToBeBound( "bindBufferBase", buffer))1837 return ;1872 bool WebGL2RenderingContext::setIndexedBufferBinding(const char *functionName, GCGLenum target, GCGLuint index, WebGLBuffer* buffer) 1873 { 1874 if (isContextLostOrPending()) 1875 return false; 1876 1877 if (!checkObjectToBeBound(functionName, buffer)) 1878 return false; 1838 1879 1839 1880 switch (target) { 1840 1881 case GraphicsContextGL::TRANSFORM_FEEDBACK_BUFFER: 1841 1882 if (index >= m_boundTransformFeedbackBuffers.size()) { 1842 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "bindBufferBase", "index out of range");1843 return ;1883 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "index out of range"); 1884 return false; 1844 1885 } 1845 1886 break; 1846 1887 case GraphicsContextGL::UNIFORM_BUFFER: 1847 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "bindBufferBase", "target not yet supported"); 1848 return; 1888 if (index >= m_boundIndexedUniformBuffers.size()) { 1889 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "index out of range"); 1890 return false; 1891 } 1892 break; 1849 1893 default: 1850 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "bindBufferBase", "invalid target"); 1851 return; 1852 } 1853 1854 if (!validateAndCacheBufferBinding("bindBufferBase", target, buffer)) 1855 return; 1856 1857 // FIXME: NEEDS_PORT: store the buffer in the indexed binding point. 1858 1859 m_context->bindBufferBase(target, index, objectOrZero(buffer)); 1860 } 1861 1862 void WebGL2RenderingContext::bindBufferRange(GCGLenum, GCGLuint, WebGLBuffer*, GCGLint64, GCGLint64) 1863 { 1864 LOG(WebGL, "[[ NOT IMPLEMENTED ]] bindBufferRange()"); 1894 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, functionName, "invalid target"); 1895 return false; 1896 } 1897 1898 if (!validateAndCacheBufferBinding(functionName, target, buffer)) 1899 return false; 1900 1901 switch (target) { 1902 case GraphicsContextGL::TRANSFORM_FEEDBACK_BUFFER: 1903 m_boundTransformFeedbackBuffers[index] = buffer; 1904 break; 1905 case GraphicsContextGL::UNIFORM_BUFFER: 1906 m_boundIndexedUniformBuffers[index] = buffer; 1907 break; 1908 default: 1909 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, functionName, "invalid target"); 1910 return false; 1911 } 1912 return true; 1913 } 1914 1915 void WebGL2RenderingContext::bindBufferBase(GCGLenum target, GCGLuint index, WebGLBuffer* buffer) 1916 { 1917 if (setIndexedBufferBinding("bindBufferBase", target, index, buffer)) 1918 m_context->bindBufferBase(target, index, objectOrZero(buffer)); 1919 } 1920 1921 void WebGL2RenderingContext::bindBufferRange(GCGLenum target, GCGLuint index, WebGLBuffer* buffer, GCGLint64 offset, GCGLint64 size) 1922 { 1923 if (target == GraphicsContextGL::TRANSFORM_FEEDBACK_BUFFER && (offset % 4 || size % 4)) { 1924 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "bindBufferRange", "invalid offset or size"); 1925 return; 1926 } 1927 if (target == GraphicsContextGL::UNIFORM_BUFFER && (offset % m_uniformBufferOffsetAlignment)) { 1928 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "bindBufferRange", "invalid offset"); 1929 return; 1930 } 1931 if (setIndexedBufferBinding("bindBufferRange", target, index, buffer)) 1932 m_context->bindBufferRange(target, index, objectOrZero(buffer), offset, size); 1865 1933 } 1866 1934 … … 1879 1947 case GraphicsContextGL::TRANSFORM_FEEDBACK_BUFFER_SIZE: 1880 1948 case GraphicsContextGL::TRANSFORM_FEEDBACK_BUFFER_START: 1949 case GraphicsContextGL::UNIFORM_BUFFER_SIZE: 1950 case GraphicsContextGL::UNIFORM_BUFFER_START: { 1951 GCGLint64 value = 0; 1952 m_context->getInteger64i_v(target, index, &value); 1953 return value; 1954 } 1881 1955 case GraphicsContextGL::UNIFORM_BUFFER_BINDING: 1882 case GraphicsContextGL::UNIFORM_BUFFER_SIZE: 1883 case GraphicsContextGL::UNIFORM_BUFFER_START: 1884 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "getIndexedParameter", "parameter name not yet supported"); 1956 if (index >= m_boundIndexedUniformBuffers.size()) { 1957 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "getIndexedParameter", "index out of range"); 1958 return nullptr; 1959 } 1960 return m_boundIndexedUniformBuffers[index]; 1885 1961 return nullptr; 1886 1962 default: … … 1890 1966 } 1891 1967 1892 Optional<Vector<GCGLuint>> WebGL2RenderingContext::getUniformIndices(WebGLProgram&, const Vector<String>&) 1893 { 1968 Optional<Vector<GCGLuint>> WebGL2RenderingContext::getUniformIndices(WebGLProgram& program, const Vector<String>& names) 1969 { 1970 #if USE(ANGLE) 1971 if (isContextLostOrPending() || !validateWebGLObject("getUniformIndices", &program)) 1972 return WTF::nullopt; 1973 return m_context->getUniformIndices(program.object(), names); 1974 #else 1894 1975 LOG(WebGL, "[[ NOT IMPLEMENTED ]] getUniformIndices()"); 1895 1976 return WTF::nullopt; 1977 #endif 1896 1978 } 1897 1979 … … 1901 1983 return nullptr; 1902 1984 1985 Vector<GCGLint> result(uniformIndices.size(), 0); 1986 1903 1987 switch (pname) { 1904 1988 case GraphicsContextGL::UNIFORM_TYPE: 1989 m_context->getActiveUniforms(program.object(), uniformIndices, pname, result); 1990 return result.map([](auto x) { return static_cast<GCGLenum>(x); }); 1905 1991 case GraphicsContextGL::UNIFORM_SIZE: 1992 m_context->getActiveUniforms(program.object(), uniformIndices, pname, result); 1993 return result.map([](auto x) { return static_cast<GCGLuint>(x); }); 1906 1994 case GraphicsContextGL::UNIFORM_BLOCK_INDEX: 1907 1995 case GraphicsContextGL::UNIFORM_OFFSET: 1908 1996 case GraphicsContextGL::UNIFORM_ARRAY_STRIDE: 1909 1997 case GraphicsContextGL::UNIFORM_MATRIX_STRIDE: 1998 m_context->getActiveUniforms(program.object(), uniformIndices, pname, result); 1999 return WTFMove(result); 1910 2000 case GraphicsContextGL::UNIFORM_IS_ROW_MAJOR: 1911 { 1912 Vector<GCGLint> params(uniformIndices.size(), 0); 1913 m_context->getActiveUniforms(program.object(), uniformIndices, pname, params); 1914 return WTFMove(params); 1915 } 2001 m_context->getActiveUniforms(program.object(), uniformIndices, pname, result); 2002 return result.map([](auto x) { return static_cast<bool>(x); }); 1916 2003 default: 1917 2004 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "getActiveUniforms", "invalid parameter name"); … … 1920 2007 } 1921 2008 1922 GCGLuint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram&, const String&) 1923 { 2009 GCGLuint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram& program, const String& uniformBlockName) 2010 { 2011 #if USE(ANGLE) 2012 if (isContextLostOrPending() || !validateWebGLObject("getUniformBlockIndex", &program)) 2013 return 0; 2014 return m_context->getUniformBlockIndex(program.object(), uniformBlockName); 2015 #else 2016 UNUSED_PARAM(program); 2017 UNUSED_PARAM(uniformBlockName); 1924 2018 LOG(WebGL, "[[ NOT IMPLEMENTED ]] getUniformBlockIndex()"); 1925 2019 return 0; 1926 } 1927 1928 WebGLAny WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram&, GCGLuint, GCGLenum) 1929 { 2020 #endif 2021 } 2022 2023 WebGLAny WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram& program, GCGLuint uniformBlockIndex, GCGLenum pname) 2024 { 2025 #if USE(ANGLE) 2026 if (isContextLostOrPending() || !validateWebGLObject("getActiveUniformBlockParameter", &program)) 2027 return nullptr; 2028 GLint result = 0; 2029 switch (pname) { 2030 case GraphicsContextGL::UNIFORM_BLOCK_BINDING: 2031 case GraphicsContextGL::UNIFORM_BLOCK_DATA_SIZE: 2032 case GraphicsContextGL::UNIFORM_BLOCK_ACTIVE_UNIFORMS: 2033 m_context->getExtensions().getActiveUniformBlockivRobustANGLE(program.object(), uniformBlockIndex, pname, sizeof(result), nullptr, &result); 2034 return static_cast<GLuint>(result); 2035 case GraphicsContextGL::UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: { 2036 GLint size = 0; 2037 m_context->getExtensions().getActiveUniformBlockivRobustANGLE(program.object(), uniformBlockIndex, GraphicsContextGL::UNIFORM_BLOCK_ACTIVE_UNIFORMS, sizeof(size), nullptr, &size); 2038 Vector<GCGLint> params(size, 0); 2039 m_context->getExtensions().getActiveUniformBlockivRobustANGLE(program.object(), uniformBlockIndex, pname, sizeof(params[0]) * params.size(), nullptr, params.data()); 2040 return params.map([](auto x) { return static_cast<GCGLuint>(x); }); 2041 } 2042 case GraphicsContextGL::UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 2043 case GraphicsContextGL::UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 2044 m_context->getExtensions().getActiveUniformBlockivRobustANGLE(program.object(), uniformBlockIndex, pname, sizeof(result), nullptr, &result); 2045 return static_cast<bool>(result); 2046 default: 2047 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "getActiveUniformBlockParameter", "invalid parameter name"); 2048 return nullptr; 2049 } 2050 #else 2051 UNUSED_PARAM(program); 2052 UNUSED_PARAM(uniformBlockIndex); 2053 UNUSED_PARAM(pname); 1930 2054 LOG(WebGL, "[[ NOT IMPLEMENTED ]] getActiveUniformBlockParameter()"); 1931 2055 return nullptr; 1932 } 1933 1934 WebGLAny WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram&, GCGLuint) 1935 { 2056 #endif 2057 } 2058 2059 WebGLAny WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram& program, GCGLuint index) 2060 { 2061 #if USE(ANGLE) 2062 if (isContextLostOrPending() || !validateWebGLObject("getActiveUniformBlockName", &program)) 2063 return String(); 2064 return m_context->getActiveUniformBlockName(program.object(), index); 2065 #else 2066 UNUSED_PARAM(program); 2067 UNUSED_PARAM(index); 1936 2068 LOG(WebGL, "[[ NOT IMPLEMENTED ]] getActiveUniformBlockName()"); 1937 2069 return nullptr; 1938 } 1939 1940 void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram&, GCGLuint, GCGLuint) 1941 { 2070 #endif 2071 } 2072 2073 void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram& program, GCGLuint uniformBlockIndex, GCGLuint uniformBlockBinding) 2074 { 2075 #if USE(ANGLE) 2076 if (isContextLostOrPending() || !validateWebGLObject("uniformBlockBinding", &program)) 2077 return; 2078 m_context->uniformBlockBinding(program.object(), uniformBlockIndex, uniformBlockBinding); 2079 #else 2080 UNUSED_PARAM(program); 2081 UNUSED_PARAM(uniformBlockIndex); 2082 UNUSED_PARAM(uniformBlockBinding); 1942 2083 LOG(WebGL, "[[ NOT IMPLEMENTED ]] uniformBlockBinding()"); 2084 #endif 1943 2085 } 1944 2086 … … 2532 2674 case GraphicsContextGL::RASTERIZER_DISCARD: 2533 2675 return getBooleanParameter(pname); 2534 case GraphicsContextGL::READ_BUFFER: 2535 // FIXME: NEEDS_PORT 2536 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, "getParameter", "invalid parameter name, READ_BUFFER not yet supported"); 2537 return nullptr; 2676 case GraphicsContextGL::READ_BUFFER: { 2677 GLint value = getIntParameter(pname); 2678 if (!m_readFramebufferBinding && value != GL_NONE) 2679 return GL_BACK; 2680 return value; 2681 } 2538 2682 case GraphicsContextGL::READ_FRAMEBUFFER_BINDING: 2539 2683 return m_readFramebufferBinding; -
trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h
r261413 r263281 269 269 bool validateBufferTarget(const char* functionName, GCGLenum target) final; 270 270 bool validateBufferTargetCompatibility(const char*, GCGLenum, WebGLBuffer*); 271 WebGLBuffer* validateBufferDataParameters(const char* functionName, GCGLenum target, GCGLenum usage) final; 271 272 WebGLBuffer* validateBufferDataTarget(const char* functionName, GCGLenum target) final; 272 273 bool validateAndCacheBufferBinding(const char* functionName, GCGLenum target, WebGLBuffer*) final; … … 285 286 bool isIntegerFormat(GCGLenum internalformat); 286 287 void initializeShaderExtensions(); 288 bool setIndexedBufferBinding(const char *functionName, GCGLenum target, GCGLuint index, WebGLBuffer*); 287 289 288 290 IntRect getTextureSourceSubRectangle(GLsizei width, GLsizei height); … … 311 313 RefPtr<WebGLBuffer> m_boundTransformFeedbackBuffer; 312 314 RefPtr<WebGLBuffer> m_boundUniformBuffer; 315 Vector<RefPtr<WebGLBuffer>> m_boundIndexedUniformBuffers; 313 316 314 317 HashMap<GCGLenum, RefPtr<WebGLQuery>> m_activeQueries; … … 321 324 GCGLint m_unpackImageHeight { 0 }; 322 325 GCGLint m_unpackSkipImages { 0 }; 326 GCGLint m_uniformBufferOffsetAlignment { 0 }; 323 327 }; 324 328 -
trunk/Source/WebCore/html/canvas/WebGLAny.h
r254869 r263281 61 61 Vector<bool>, 62 62 Vector<int>, 63 Vector<unsigned>, 63 64 RefPtr<Float32Array>, 64 65 RefPtr<Int32Array>, -
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
r262695 r263281 6270 6270 bool WebGLRenderingContextBase::validateLocationLength(const char* functionName, const String& string) 6271 6271 { 6272 const unsigned maxWebGLLocationLength =256;6272 unsigned maxWebGLLocationLength = isWebGL2() ? 1024 : 256; 6273 6273 if (string.length() > maxWebGLLocationLength) { 6274 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "location length > 256");6274 synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "location length is too large"); 6275 6275 return false; 6276 6276 } … … 6829 6829 case GraphicsContextGL::DYNAMIC_DRAW: 6830 6830 return buffer; 6831 case GraphicsContextGL::STREAM_COPY: 6832 case GraphicsContextGL::STATIC_COPY: 6833 case GraphicsContextGL::DYNAMIC_COPY: 6834 case GraphicsContextGL::STREAM_READ: 6835 case GraphicsContextGL::STATIC_READ: 6836 case GraphicsContextGL::DYNAMIC_READ: 6837 if (isWebGL2()) 6838 return buffer; 6831 6839 } 6832 6840 synthesizeGLError(GraphicsContextGL::INVALID_ENUM, functionName, "invalid usage"); -
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
r262366 r263281 958 958 // Helper function to validate parameters for bufferData. 959 959 // Return the current bound buffer to target, or 0 if parameters are invalid. 960 WebGLBuffer* validateBufferDataParameters(const char* functionName, GCGLenum target, GCGLenum usage);960 virtual WebGLBuffer* validateBufferDataParameters(const char* functionName, GCGLenum target, GCGLenum usage); 961 961 962 962 // Helper function for tex{Sub}Image2D to make sure image is ready. -
trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h
r261541 r263281 992 992 virtual void getFloatv(GCGLenum pname, GCGLfloat* value) = 0; 993 993 virtual void getIntegerv(GCGLenum pname, GCGLint* value) = 0; 994 virtual void getIntegeri_v(GCGLenum pname, GCGLuint index, GCGLint* value) = 0; 994 995 virtual void getInteger64v(GCGLenum pname, GCGLint64* value) = 0; 996 virtual void getInteger64i_v(GCGLenum pname, GCGLuint index, GCGLint64* value) = 0; 995 997 virtual void getProgramiv(PlatformGLObject program, GCGLenum pname, GCGLint* value) = 0; 996 998 virtual void getBooleanv(GCGLenum pname, GCGLboolean* value) = 0; -
trunk/Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp
r261769 r263281 108 108 String ExtensionsGLANGLE::getTranslatedShaderSourceANGLE(PlatformGLObject shader) 109 109 { 110 m_context->makeContextCurrent(); 110 111 int sourceLength = 0; 111 112 m_context->getShaderiv(shader, GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, &sourceLength); … … 161 162 { 162 163 // FIXME: consider adding support for APPLE_framebuffer_multisample. 164 m_context->makeContextCurrent(); 163 165 gl::BlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 164 166 } … … 166 168 void ExtensionsGLANGLE::renderbufferStorageMultisample(unsigned long target, unsigned long samples, unsigned long internalformat, unsigned long width, unsigned long height) 167 169 { 170 m_context->makeContextCurrent(); 168 171 gl::RenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); 169 172 } … … 226 229 void ExtensionsGLANGLE::drawBuffersEXT(GCGLsizei n, const GCGLenum* bufs) 227 230 { 231 m_context->makeContextCurrent(); 228 232 gl::DrawBuffersEXT(n, bufs); 229 233 } … … 268 272 void ExtensionsGLANGLE::getBooleanvRobustANGLE(GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLboolean *data) 269 273 { 274 m_context->makeContextCurrent(); 270 275 gl::GetBooleanvRobustANGLE(pname, bufSize, length, data); 271 276 } … … 273 278 void ExtensionsGLANGLE::getBufferParameterivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 274 279 { 280 m_context->makeContextCurrent(); 275 281 gl::GetBufferParameterivRobustANGLE(target, pname, bufSize, length, params); 276 282 } … … 278 284 void ExtensionsGLANGLE::getFloatvRobustANGLE(GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *data) 279 285 { 286 m_context->makeContextCurrent(); 280 287 gl::GetFloatvRobustANGLE(pname, bufSize, length, data); 281 288 } … … 283 290 void ExtensionsGLANGLE::getFramebufferAttachmentParameterivRobustANGLE(GCGLenum target, GCGLenum attachment, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 284 291 { 292 m_context->makeContextCurrent(); 285 293 gl::GetFramebufferAttachmentParameterivRobustANGLE(target, attachment, pname, bufSize, length, params); 286 294 } … … 288 296 void ExtensionsGLANGLE::getIntegervRobustANGLE(GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *data) 289 297 { 298 m_context->makeContextCurrent(); 290 299 gl::GetIntegervRobustANGLE(pname, bufSize, length, data); 291 300 } … … 293 302 void ExtensionsGLANGLE::getProgramivRobustANGLE(GCGLuint program, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 294 303 { 304 m_context->makeContextCurrent(); 295 305 gl::GetProgramivRobustANGLE(program, pname, bufSize, length, params); 296 306 } … … 298 308 void ExtensionsGLANGLE::getRenderbufferParameterivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 299 309 { 310 m_context->makeContextCurrent(); 300 311 gl::GetRenderbufferParameterivRobustANGLE(target, pname, bufSize, length, params); 301 312 } … … 303 314 void ExtensionsGLANGLE::getShaderivRobustANGLE(GCGLuint shader, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 304 315 { 316 m_context->makeContextCurrent(); 305 317 gl::GetShaderivRobustANGLE(shader, pname, bufSize, length, params); 306 318 } … … 308 320 void ExtensionsGLANGLE::getTexParameterfvRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 309 321 { 322 m_context->makeContextCurrent(); 310 323 gl::GetTexParameterfvRobustANGLE(target, pname, bufSize, length, params); 311 324 } … … 313 326 void ExtensionsGLANGLE::getTexParameterivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 314 327 { 328 m_context->makeContextCurrent(); 315 329 gl::GetTexParameterivRobustANGLE(target, pname, bufSize, length, params); 316 330 } … … 318 332 void ExtensionsGLANGLE::getUniformfvRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 319 333 { 334 m_context->makeContextCurrent(); 320 335 gl::GetUniformfvRobustANGLE(program, location, bufSize, length, params); 321 336 } … … 323 338 void ExtensionsGLANGLE::getUniformivRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 324 339 { 340 m_context->makeContextCurrent(); 325 341 gl::GetUniformivRobustANGLE(program, location, bufSize, length, params); 326 342 } … … 328 344 void ExtensionsGLANGLE::getVertexAttribfvRobustANGLE(GCGLuint index, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 329 345 { 346 m_context->makeContextCurrent(); 330 347 gl::GetVertexAttribfvRobustANGLE(index, pname, bufSize, length, params); 331 348 } … … 333 350 void ExtensionsGLANGLE::getVertexAttribivRobustANGLE(GCGLuint index, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 334 351 { 352 m_context->makeContextCurrent(); 335 353 gl::GetVertexAttribivRobustANGLE(index, pname, bufSize, length, params); 336 354 } … … 338 356 void ExtensionsGLANGLE::getVertexAttribPointervRobustANGLE(GCGLuint index, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, void **pointer) 339 357 { 358 m_context->makeContextCurrent(); 340 359 gl::GetVertexAttribPointervRobustANGLE(index, pname, bufSize, length, pointer); 341 360 } … … 343 362 void ExtensionsGLANGLE::readPixelsRobustANGLE(int x, int y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLsizei bufSize, GCGLsizei *length, GCGLsizei *columns, GCGLsizei *rows, void *pixels) 344 363 { 364 m_context->makeContextCurrent(); 345 365 gl::ReadPixelsRobustANGLE(x, y, width, height, format, type, bufSize, length, columns, rows, pixels); 346 366 } … … 350 370 if (!m_context->m_isForWebGL2) 351 371 internalformat = adjustWebGL1TextureInternalFormat(internalformat, format, type); 372 m_context->makeContextCurrent(); 352 373 gl::TexImage2DRobustANGLE(target, level, internalformat, width, height, border, format, type, bufSize, pixels); 353 374 } … … 355 376 void ExtensionsGLANGLE::texParameterfvRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, const GCGLfloat *params) 356 377 { 378 m_context->makeContextCurrent(); 357 379 gl::TexParameterfvRobustANGLE(target, pname, bufSize, params); 358 380 } … … 360 382 void ExtensionsGLANGLE::texParameterivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, const GCGLint *params) 361 383 { 384 m_context->makeContextCurrent(); 362 385 gl::TexParameterivRobustANGLE(target, pname, bufSize, params); 363 386 } … … 365 388 void ExtensionsGLANGLE::texSubImage2DRobustANGLE(GCGLenum target, int level, int xoffset, int yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLsizei bufSize, const void *pixels) 366 389 { 390 m_context->makeContextCurrent(); 367 391 gl::TexSubImage2DRobustANGLE(target, level, xoffset, yoffset, width, height, format, type, bufSize, pixels); 368 392 } … … 370 394 void ExtensionsGLANGLE::compressedTexImage2DRobustANGLE(GCGLenum target, int level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, int border, GCGLsizei imageSize, GCGLsizei bufSize, const void* data) 371 395 { 396 m_context->makeContextCurrent(); 372 397 gl::CompressedTexImage2DRobustANGLE(target, level, internalformat, width, height, border, imageSize, bufSize, data); 373 398 } … … 375 400 void ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE(GCGLenum target, int level, int xoffset, int yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, GCGLsizei bufSize, const void* data) 376 401 { 402 m_context->makeContextCurrent(); 377 403 gl::CompressedTexSubImage2DRobustANGLE(target, level, xoffset, yoffset, width, height, format, imageSize, bufSize, data); 378 404 } … … 380 406 void ExtensionsGLANGLE::compressedTexImage3DRobustANGLE(GCGLenum target, int level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, int border, GCGLsizei imageSize, GCGLsizei bufSize, const void* data) 381 407 { 408 m_context->makeContextCurrent(); 382 409 gl::CompressedTexImage3DRobustANGLE(target, level, internalformat, width, height, depth, border, imageSize, bufSize, data); 383 410 } … … 385 412 void ExtensionsGLANGLE::compressedTexSubImage3DRobustANGLE(GCGLenum target, int level, int xoffset, int yoffset, int zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLsizei imageSize, GCGLsizei bufSize, const void* data) 386 413 { 414 m_context->makeContextCurrent(); 387 415 gl::CompressedTexSubImage3DRobustANGLE(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bufSize, data); 388 416 } … … 391 419 void ExtensionsGLANGLE::texImage3DRobustANGLE(GCGLenum target, int level, int internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, int border, GCGLenum format, GCGLenum type, GCGLsizei bufSize, const void *pixels) 392 420 { 421 m_context->makeContextCurrent(); 393 422 gl::TexImage3DRobustANGLE(target, level, internalformat, width, height, depth, border, format, type, bufSize, pixels); 394 423 } … … 396 425 void ExtensionsGLANGLE::texSubImage3DRobustANGLE(GCGLenum target, int level, int xoffset, int yoffset, int zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, GCGLsizei bufSize, const void *pixels) 397 426 { 427 m_context->makeContextCurrent(); 398 428 gl::TexSubImage3DRobustANGLE(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); 399 429 } … … 401 431 void ExtensionsGLANGLE::getQueryivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 402 432 { 433 m_context->makeContextCurrent(); 403 434 gl::GetQueryivRobustANGLE(target, pname, bufSize, length, params); 404 435 } … … 406 437 void ExtensionsGLANGLE::getQueryObjectuivRobustANGLE(GCGLuint id, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 407 438 { 439 m_context->makeContextCurrent(); 408 440 gl::GetQueryObjectuivRobustANGLE(id, pname, bufSize, length, params); 409 441 } … … 411 443 void ExtensionsGLANGLE::getBufferPointervRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, void **params) 412 444 { 445 m_context->makeContextCurrent(); 413 446 gl::GetBufferPointervRobustANGLE(target, pname, bufSize, length, params); 414 447 } … … 416 449 void ExtensionsGLANGLE::getIntegeri_vRobustANGLE(GCGLenum target, GCGLuint index, GCGLsizei bufSize, GCGLsizei *length, GCGLint *data) 417 450 { 451 m_context->makeContextCurrent(); 418 452 gl::GetIntegeri_vRobustANGLE(target, index, bufSize, length, data); 419 453 } … … 421 455 void ExtensionsGLANGLE::getInternalformativRobustANGLE(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 422 456 { 457 m_context->makeContextCurrent(); 423 458 gl::GetInternalformativRobustANGLE(target, internalformat, pname, bufSize, length, params); 424 459 } … … 426 461 void ExtensionsGLANGLE::getVertexAttribIivRobustANGLE(GCGLuint index, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 427 462 { 463 m_context->makeContextCurrent(); 428 464 gl::GetVertexAttribIivRobustANGLE(index, pname, bufSize, length, params); 429 465 } … … 431 467 void ExtensionsGLANGLE::getVertexAttribIuivRobustANGLE(GCGLuint index, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 432 468 { 469 m_context->makeContextCurrent(); 433 470 gl::GetVertexAttribIuivRobustANGLE(index, pname, bufSize, length, params); 434 471 } … … 436 473 void ExtensionsGLANGLE::getUniformuivRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 437 474 { 475 m_context->makeContextCurrent(); 438 476 gl::GetUniformuivRobustANGLE(program, location, bufSize, length, params); 439 477 } … … 441 479 void ExtensionsGLANGLE::getActiveUniformBlockivRobustANGLE(GCGLuint program, GCGLuint uniformBlockIndex, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 442 480 { 481 m_context->makeContextCurrent(); 443 482 gl::GetActiveUniformBlockivRobustANGLE(program, uniformBlockIndex, pname, bufSize, length, params); 444 483 } … … 446 485 void ExtensionsGLANGLE::getInteger64vRobustANGLE(GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint64 *data) 447 486 { 487 m_context->makeContextCurrent(); 448 488 gl::GetInteger64vRobustANGLE(pname, bufSize, length, reinterpret_cast<GLint64*>(data)); 449 489 } … … 451 491 void ExtensionsGLANGLE::getInteger64i_vRobustANGLE(GCGLenum target, GCGLuint index, GCGLsizei bufSize, GCGLsizei *length, GCGLint64 *data) 452 492 { 493 m_context->makeContextCurrent(); 453 494 gl::GetInteger64i_vRobustANGLE(target, index, bufSize, length, reinterpret_cast<GLint64*>(data)); 454 495 } … … 456 497 void ExtensionsGLANGLE::getBufferParameteri64vRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint64 *params) 457 498 { 499 m_context->makeContextCurrent(); 458 500 gl::GetBufferParameteri64vRobustANGLE(target, pname, bufSize, length, reinterpret_cast<GLint64*>(params)); 459 501 } … … 461 503 void ExtensionsGLANGLE::samplerParameterivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, const GCGLint *param) 462 504 { 505 m_context->makeContextCurrent(); 463 506 gl::SamplerParameterivRobustANGLE(sampler, pname, bufSize, param); 464 507 } … … 466 509 void ExtensionsGLANGLE::samplerParameterfvRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, const GCGLfloat *param) 467 510 { 511 m_context->makeContextCurrent(); 468 512 gl::SamplerParameterfvRobustANGLE(sampler, pname, bufSize, param); 469 513 } … … 471 515 void ExtensionsGLANGLE::getSamplerParameterivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 472 516 { 517 m_context->makeContextCurrent(); 473 518 gl::GetSamplerParameterivRobustANGLE(sampler, pname, bufSize, length, params); 474 519 } … … 476 521 void ExtensionsGLANGLE::getSamplerParameterfvRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 477 522 { 523 m_context->makeContextCurrent(); 478 524 gl::GetSamplerParameterfvRobustANGLE(sampler, pname, bufSize, length, params); 479 525 } … … 482 528 void ExtensionsGLANGLE::getFramebufferParameterivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 483 529 { 530 m_context->makeContextCurrent(); 484 531 gl::GetFramebufferParameterivRobustANGLE(target, pname, bufSize, length, params); 485 532 } … … 487 534 void ExtensionsGLANGLE::getProgramInterfaceivRobustANGLE(GCGLuint program, GCGLenum programInterface, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 488 535 { 536 m_context->makeContextCurrent(); 489 537 gl::GetProgramInterfaceivRobustANGLE(program, programInterface, pname, bufSize, length, params); 490 538 } … … 492 540 void ExtensionsGLANGLE::getBooleani_vRobustANGLE(GCGLenum target, GCGLuint index, GCGLsizei bufSize, GCGLsizei *length, GCGLboolean *data) 493 541 { 542 m_context->makeContextCurrent(); 494 543 gl::GetBooleani_vRobustANGLE(target, index, bufSize, length, data); 495 544 } … … 497 546 void ExtensionsGLANGLE::getMultisamplefvRobustANGLE(GCGLenum pname, GCGLuint index, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *val) 498 547 { 548 m_context->makeContextCurrent(); 499 549 gl::GetMultisamplefvRobustANGLE(pname, index, bufSize, length, val); 500 550 } … … 502 552 void ExtensionsGLANGLE::getTexLevelParameterivRobustANGLE(GCGLenum target, int level, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 503 553 { 554 m_context->makeContextCurrent(); 504 555 gl::GetTexLevelParameterivRobustANGLE(target, level, pname, bufSize, length, params); 505 556 } … … 507 558 void ExtensionsGLANGLE::getTexLevelParameterfvRobustANGLE(GCGLenum target, int level, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 508 559 { 560 m_context->makeContextCurrent(); 509 561 gl::GetTexLevelParameterfvRobustANGLE(target, level, pname, bufSize, length, params); 510 562 } … … 513 565 void ExtensionsGLANGLE::getPointervRobustANGLERobustANGLE(GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, void **params) 514 566 { 567 m_context->makeContextCurrent(); 515 568 gl::GetPointervRobustANGLERobustANGLE(pname, bufSize, length, params); 516 569 } … … 529 582 void ExtensionsGLANGLE::readnPixelsRobustANGLE(int x, int y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLsizei bufSize, GCGLsizei *length, GCGLsizei *columns, GCGLsizei *rows, void *data) 530 583 { 584 m_context->makeContextCurrent(); 531 585 // FIXME: remove the two glFlush calls when the driver bug is fixed, i.e., 532 586 // all previous rendering calls should be done before reading pixels. … … 561 615 void ExtensionsGLANGLE::getnUniformfvRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLfloat *params) 562 616 { 617 m_context->makeContextCurrent(); 563 618 gl::GetnUniformfvRobustANGLE(program, location, bufSize, length, params); 564 619 } … … 566 621 void ExtensionsGLANGLE::getnUniformivRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 567 622 { 623 m_context->makeContextCurrent(); 568 624 gl::GetnUniformivRobustANGLE(program, location, bufSize, length, params); 569 625 } … … 571 627 void ExtensionsGLANGLE::getnUniformuivRobustANGLE(GCGLuint program, int location, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 572 628 { 629 m_context->makeContextCurrent(); 573 630 gl::GetnUniformuivRobustANGLE(program, location, bufSize, length, params); 574 631 } … … 576 633 void ExtensionsGLANGLE::texParameterIivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, const GCGLint *params) 577 634 { 635 m_context->makeContextCurrent(); 578 636 gl::TexParameterIivRobustANGLE(target, pname, bufSize, params); 579 637 } … … 581 639 void ExtensionsGLANGLE::texParameterIuivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, const GCGLuint *params) 582 640 { 641 m_context->makeContextCurrent(); 583 642 gl::TexParameterIuivRobustANGLE(target, pname, bufSize, params); 584 643 } … … 586 645 void ExtensionsGLANGLE::getTexParameterIivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 587 646 { 647 m_context->makeContextCurrent(); 588 648 gl::GetTexParameterIivRobustANGLE(target, pname, bufSize, length, params); 589 649 } … … 591 651 void ExtensionsGLANGLE::getTexParameterIuivRobustANGLE(GCGLenum target, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 592 652 { 653 m_context->makeContextCurrent(); 593 654 gl::GetTexParameterIuivRobustANGLE(target, pname, bufSize, length, params); 594 655 } … … 596 657 void ExtensionsGLANGLE::samplerParameterIivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, const GCGLint *param) 597 658 { 659 m_context->makeContextCurrent(); 598 660 gl::SamplerParameterIivRobustANGLE(sampler, pname, bufSize, param); 599 661 } … … 601 663 void ExtensionsGLANGLE::samplerParameterIuivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, const GCGLuint *param) 602 664 { 665 m_context->makeContextCurrent(); 603 666 gl::SamplerParameterIuivRobustANGLE(sampler, pname, bufSize, param); 604 667 } … … 606 669 void ExtensionsGLANGLE::getSamplerParameterIivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 607 670 { 671 m_context->makeContextCurrent(); 608 672 gl::GetSamplerParameterIivRobustANGLE(sampler, pname, bufSize, length, params); 609 673 } … … 611 675 void ExtensionsGLANGLE::getSamplerParameterIuivRobustANGLE(GCGLuint sampler, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLuint *params) 612 676 { 677 m_context->makeContextCurrent(); 613 678 gl::GetSamplerParameterIuivRobustANGLE(sampler, pname, bufSize, length, params); 614 679 } … … 617 682 void ExtensionsGLANGLE::getQueryObjectivRobustANGLE(GCGLuint id, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint *params) 618 683 { 684 m_context->makeContextCurrent(); 619 685 gl::GetQueryObjectivRobustANGLE(id, pname, bufSize, length, params); 620 686 } … … 622 688 void ExtensionsGLANGLE::getQueryObjecti64vRobustANGLE(GCGLuint id, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLint64 *params) 623 689 { 690 m_context->makeContextCurrent(); 624 691 gl::GetQueryObjecti64vRobustANGLE(id, pname, bufSize, length, reinterpret_cast<GLint64*>(params)); 625 692 } … … 627 694 void ExtensionsGLANGLE::getQueryObjectui64vRobustANGLE(GCGLuint id, GCGLenum pname, GCGLsizei bufSize, GCGLsizei *length, GCGLuint64 *params) 628 695 { 696 m_context->makeContextCurrent(); 629 697 gl::GetQueryObjectui64vRobustANGLE(id, pname, bufSize, length, reinterpret_cast<GLuint64*>(params)); 630 698 } -
trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
r263127 r263281 368 368 } 369 369 370 void GraphicsContextGLOpenGL::getIntegeri_v(GCGLenum pname, GCGLuint index, GCGLint* value) 371 { 372 makeContextCurrent(); 373 gl::GetIntegeri_v(pname, index, value); 374 } 375 370 376 void GraphicsContextGLOpenGL::getShaderPrecisionFormat(GCGLenum shaderType, GCGLenum precisionType, GCGLint* range, GCGLint* precision) 371 377 { … … 1576 1582 void GraphicsContextGLOpenGL::getInteger64v(GCGLenum pname, GCGLint64* value) 1577 1583 { 1578 UNUSED_PARAM(pname);1579 1584 makeContextCurrent(); 1580 1585 *value = 0; 1581 // FIXME 141178: Before enabling this we must first switch over to using gl3.h and creating and initialing the WebGL2 context using OpenGL ES 3.0. 1582 // gl::GetInteger64v(pname, value); 1586 gl::GetInteger64v(pname, value); 1587 } 1588 1589 void GraphicsContextGLOpenGL::getInteger64i_v(GCGLenum pname, GCGLuint index, GCGLint64* value) 1590 { 1591 makeContextCurrent(); 1592 *value = 0; 1593 gl::GetInteger64i_v(pname, index, value); 1583 1594 } 1584 1595 … … 1901 1912 void GraphicsContextGLOpenGL::drawArraysInstanced(GCGLenum mode, GCGLint first, GCGLsizei count, GCGLsizei primcount) 1902 1913 { 1903 getExtensions().drawArraysInstanced(mode, first, count, primcount); 1914 if (m_isForWebGL2) 1915 gl::DrawArraysInstanced(mode, first, count, primcount); 1916 else 1917 getExtensions().drawArraysInstanced(mode, first, count, primcount); 1904 1918 checkGPUStatus(); 1905 1919 } … … 1907 1921 void GraphicsContextGLOpenGL::drawElementsInstanced(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLintptr offset, GCGLsizei primcount) 1908 1922 { 1909 getExtensions().drawElementsInstanced(mode, count, type, offset, primcount); 1923 if (m_isForWebGL2) 1924 gl::DrawElementsInstanced(mode, count, type, reinterpret_cast<void*>(offset), primcount); 1925 else 1926 getExtensions().drawElementsInstanced(mode, count, type, offset, primcount); 1910 1927 checkGPUStatus(); 1911 1928 } … … 1918 1935 GCGLuint GraphicsContextGLOpenGL::getUniformBlockIndex(PlatformGLObject program, const String& uniformBlockName) 1919 1936 { 1920 UNUSED_PARAM(program); 1921 UNUSED_PARAM(uniformBlockName); 1922 1923 return 0; 1937 ASSERT(program); 1938 makeContextCurrent(); 1939 return gl::GetUniformBlockIndex(program, uniformBlockName.utf8().data()); 1924 1940 } 1925 1941 1926 1942 void GraphicsContextGLOpenGL::getActiveUniformBlockiv(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLenum pname, GCGLint* params) 1927 1943 { 1944 RELEASE_LOG(WebGL, "Use getActiveUniformBlockivRobustANGLE instead."); 1945 notImplemented(); 1928 1946 UNUSED_PARAM(program); 1929 1947 UNUSED_PARAM(uniformBlockIndex); … … 1934 1952 String GraphicsContextGLOpenGL::getActiveUniformBlockName(PlatformGLObject program, GCGLuint uniformBlockIndex) 1935 1953 { 1936 UNUSED_PARAM(program); 1937 UNUSED_PARAM(uniformBlockIndex); 1938 1939 return emptyString(); 1954 ASSERT(program); 1955 makeContextCurrent(); 1956 GLint maxLength = 0; 1957 gl::GetProgramiv(program, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, &maxLength); 1958 Vector<GLchar> buffer(maxLength); 1959 gl::GetActiveUniformBlockName(program, uniformBlockIndex, buffer.size(), nullptr, buffer.data()); 1960 return String(buffer.data()); 1940 1961 } 1941 1962 1942 1963 void GraphicsContextGLOpenGL::uniformBlockBinding(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLuint uniformBlockBinding) 1943 1964 { 1944 UNUSED_PARAM(program); 1945 UNUSED_PARAM(uniformBlockIndex); 1946 UNUSED_PARAM(uniformBlockBinding); 1947 1965 ASSERT(program); 1966 makeContextCurrent(); 1967 gl::UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); 1948 1968 } 1949 1969 … … 2418 2438 void GraphicsContextGLOpenGL::drawRangeElements(GCGLenum mode, GCGLuint start, GCGLuint end, GCGLsizei count, GCGLenum type, GCGLintptr offset) 2419 2439 { 2420 UNUSED_PARAM(mode); 2421 UNUSED_PARAM(start); 2422 UNUSED_PARAM(end); 2423 UNUSED_PARAM(count); 2424 UNUSED_PARAM(type); 2425 UNUSED_PARAM(offset); 2440 gl::DrawRangeElements(mode, start, end, count, type, reinterpret_cast<void*>(offset)); 2426 2441 } 2427 2442 … … 2579 2594 void GraphicsContextGLOpenGL::pauseTransformFeedback() 2580 2595 { 2596 makeContextCurrent(); 2597 gl::PauseTransformFeedback(); 2581 2598 } 2582 2599 2583 2600 void GraphicsContextGLOpenGL::resumeTransformFeedback() 2584 2601 { 2602 makeContextCurrent(); 2603 gl::ResumeTransformFeedback(); 2585 2604 } 2586 2605 2587 2606 void GraphicsContextGLOpenGL::bindBufferRange(GCGLenum target, GCGLuint index, PlatformGLObject buffer, GCGLintptr offset, GCGLsizeiptr size) 2588 2607 { 2589 UNUSED_PARAM(target); 2590 UNUSED_PARAM(index); 2591 UNUSED_PARAM(buffer); 2592 UNUSED_PARAM(offset); 2593 UNUSED_PARAM(size); 2608 makeContextCurrent(); 2609 gl::BindBufferRange(target, index, buffer, offset, size); 2594 2610 } 2595 2611 2596 2612 Vector<GCGLuint> GraphicsContextGLOpenGL::getUniformIndices(PlatformGLObject program, const Vector<String>& uniformNames) 2597 2613 { 2598 UNUSED_PARAM(program); 2599 UNUSED_PARAM(uniformNames); 2600 2601 return { }; 2614 ASSERT(program); 2615 makeContextCurrent(); 2616 Vector<CString> utf8 = uniformNames.map([](auto& x) { return x.utf8(); }); 2617 Vector<const char*> cstr = utf8.map([](auto& x) { return x.data(); }); 2618 Vector<GCGLuint> result(cstr.size(), 0); 2619 gl::GetUniformIndices(program, cstr.size(), cstr.data(), result.data()); 2620 return result; 2602 2621 } 2603 2622 -
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h
r263127 r263281 276 276 void getFramebufferAttachmentParameteriv(GCGLenum target, GCGLenum attachment, GCGLenum pname, GCGLint* value) final; 277 277 void getIntegerv(GCGLenum pname, GCGLint* value) final; 278 void getIntegeri_v(GCGLenum pname, GCGLuint index, GCGLint* value) final; 278 279 void getInteger64v(GCGLenum pname, GCGLint64* value) final; 280 void getInteger64i_v(GCGLenum pname, GCGLuint index, GCGLint64* value) final; 279 281 void getProgramiv(PlatformGLObject program, GCGLenum pname, GCGLint* value) final; 280 282 #if !USE(ANGLE) -
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp
r260301 r263281 1573 1573 ::glGetFloatv(pname, value); 1574 1574 } 1575 1575 1576 void GraphicsContextGLOpenGL::getIntegeri_v(GCGLenum pname, GCGLuint index, GCGLint* value) 1577 { 1578 UNUSED_PARAM(pname); 1579 UNUSED_PARAM(index); 1580 makeContextCurrent(); 1581 *value = 0; 1582 // FIXME 141178: Before enabling this we must first switch over to using gl3.h and creating and initialing the WebGL2 context using OpenGL ES 3.0. 1583 // ::glGetIntegeri_v(pname, index, value); 1584 } 1585 1576 1586 void GraphicsContextGLOpenGL::getInteger64v(GCGLenum pname, GCGLint64* value) 1577 1587 { … … 1581 1591 // FIXME 141178: Before enabling this we must first switch over to using gl3.h and creating and initialing the WebGL2 context using OpenGL ES 3.0. 1582 1592 // ::glGetInteger64v(pname, value); 1593 } 1594 1595 void GraphicsContextGLOpenGL::getInteger64i_v(GCGLenum pname, GCGLuint index, GCGLint64* value) 1596 { 1597 UNUSED_PARAM(pname); 1598 UNUSED_PARAM(index); 1599 makeContextCurrent(); 1600 *value = 0; 1601 // FIXME 141178: Before enabling this we must first switch over to using gl3.h and creating and initialing the WebGL2 context using OpenGL ES 3.0. 1602 // ::glGetInteger64i_v(pname, index, value); 1583 1603 } 1584 1604
Note: See TracChangeset
for help on using the changeset viewer.