Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/webgl/conformance-suites/1.0.0/conformance/framebuffer-object-attachment.html

Issue 9360034: Remove everthing except conformance tests in the deps/third_party/webgl (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!--
2 Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file.
5 -->
6 <html>
7 <head>
8 <link rel="stylesheet" href="../resources/js-test-style.css"/>
9 <script src="../resources/js-test-pre.js"></script>
10 <script src="resources/webgl-test.js"></script>
11 </head>
12 <body>
13 <div id="description"></div>
14 <div id="console"></div>
15
16 <script>
17
18 var gl;
19 var fbo;
20 var depthBuffer;
21 var stencilBuffer;
22 var depthStencilBuffer;
23 var colorBuffer;
24 var width = 2;
25 var height = 2;
26
27 function testAttachment(attachment, buffer, isConflicted)
28 {
29 shouldBeNonNull("fbo = gl.createFramebuffer()");
30 gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
31 gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBU FFER, colorBuffer);
32 gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment, gl.RENDERBUFFER, buff er);
33 glErrorShouldBe(gl, gl.NO_ERROR);
34 if (isConflicted) {
35 shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_UN SUPPORTED");
36 gl.clear(gl.COLOR_BUFFER_BIT);
37 glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION);
38 gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8A rray(width * height * 4));
39 glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION);
40 }
41 }
42
43 function testAttachments(attachment0, buffer0, attachment1, buffer1, isConflicte d)
44 {
45 shouldBeNonNull("fbo = gl.createFramebuffer()");
46 gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
47 gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBU FFER, colorBuffer);
48 gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment0, gl.RENDERBUFFER, buf fer0);
49 glErrorShouldBe(gl, gl.NO_ERROR);
50 gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment1, gl.RENDERBUFFER, buf fer1);
51 glErrorShouldBe(gl, gl.NO_ERROR);
52 if (isConflicted)
53 shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_UN SUPPORTED");
54 }
55
56 function testColorRenderbuffer(internalformat)
57 {
58 shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
59 gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
60 gl.renderbufferStorage(gl.RENDERBUFFER, internalformat, width, height);
61 glErrorShouldBe(gl, gl.NO_ERROR);
62 testAttachment(gl.COLOR_ATTACHMENT0, colorBuffer, false);
63 }
64
65 function testDepthStencilRenderbuffer()
66 {
67 shouldBeNonNull("depthStencilBuffer = gl.createRenderbuffer()");
68 gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);
69 gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height);
70 glErrorShouldBe(gl, gl.NO_ERROR);
71 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH )", "width");
72 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGH T)", "height");
73 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTER NAL_FORMAT)", "gl.DEPTH_STENCIL");
74 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_S IZE)", "0");
75 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN _SIZE)", "0");
76 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_ SIZE)", "0");
77 shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA _SIZE)", "0");
78 shouldBeTrue("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_D EPTH_SIZE) > 0");
79 shouldBeTrue("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_S TENCIL_SIZE) > 0");
80 glErrorShouldBe(gl, gl.NO_ERROR);
81 testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, false);
82 }
83
84 description("Test framebuffer object attachment behaviors");
85
86 debug("Create renderbuffers");
87 shouldBeNonNull("gl = create3DContext()");
88 shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
89 gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
90 gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, width, height);
91 glErrorShouldBe(gl, gl.NO_ERROR);
92 shouldBeNonNull("depthBuffer = gl.createRenderbuffer()");
93 gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
94 gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height);
95 glErrorShouldBe(gl, gl.NO_ERROR);
96 shouldBeNonNull("stencilBuffer = gl.createRenderbuffer()");
97 gl.bindRenderbuffer(gl.RENDERBUFFER, stencilBuffer);
98 gl.renderbufferStorage(gl.RENDERBUFFER, gl.STENCIL_INDEX8, width, height);
99 glErrorShouldBe(gl, gl.NO_ERROR);
100 shouldBeNonNull("depthStencilBuffer = gl.createRenderbuffer()");
101 gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);
102 gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height);
103 glErrorShouldBe(gl, gl.NO_ERROR);
104
105 debug("Attach depth using DEPTH_ATTACHMENT");
106 testAttachment(gl.DEPTH_ATTACHMENT, depthBuffer, false);
107 debug("Attach depth using STENCIL_ATTACHMENT");
108 testAttachment(gl.STENCIL_ATTACHMENT, depthBuffer, true);
109 debug("Attach depth using DEPTH_STENCIL_ATTACHMENT");
110 testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthBuffer, true);
111 debug("Attach stencil using STENCIL_ATTACHMENT");
112 testAttachment(gl.STENCIL_ATTACHMENT, stencilBuffer, false);
113 debug("Attach stencil using DEPTH_ATTACHMENT");
114 testAttachment(gl.DEPTH_ATTACHMENT, stencilBuffer, true);
115 debug("Attach stencil using DEPTH_STENCIL_ATTACHMENT");
116 testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, stencilBuffer, true);
117 debug("Attach depthStencil using DEPTH_STENCIL_ATTACHMENT");
118 testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, false);
119 debug("Attach depthStencil using DEPTH_ATTACHMENT");
120 testAttachment(gl.DEPTH_ATTACHMENT, depthStencilBuffer, true);
121 debug("Attach depthStencil using STENCIL_ATTACHMENT");
122 testAttachment(gl.STENCIL_ATTACHMENT, depthStencilBuffer, true);
123
124 debug("Attach depth, then stencil, causing conflict");
125 testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.STENCIL_ATTACHMENT, stencil Buffer, true);
126 debug("Attach stencil, then depth, causing conflict");
127 testAttachments(gl.STENCIL_ATTACHMENT, stencilBuffer, gl.DEPTH_ATTACHMENT, depth Buffer, true);
128 debug("Attach depth, then depthStencil, causing conflict");
129 testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.DEPTH_STENCIL_ATTACHMENT, d epthStencilBuffer, true);
130 debug("Attach depthStencil, then depth, causing conflict");
131 testAttachments(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, gl.DEPTH_ATTACH MENT, depthBuffer, true);
132 debug("Attach stencil, then depthStencil, causing conflict");
133 testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.DEPTH_STENCIL_ATTACHMENT, d epthStencilBuffer, true);
134 debug("Attach depthStencil, then stencil, causing conflict");
135 testAttachments(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, gl.STENCIL_ATTA CHMENT, stencilBuffer, true);
136
137 debug("Attach color renderbuffer with internalformat == RGBA4");
138 testColorRenderbuffer(gl.RGBA4);
139
140 debug("Attach color renderbuffer with internalformat == RGB5_A1");
141 testColorRenderbuffer(gl.RGB5_A1);
142
143 debug("Attach color renderbuffer with internalformat == RGB565");
144 testColorRenderbuffer(gl.RGB565);
145
146 debug("Create and attach depthStencil renderbuffer");
147 testDepthStencilRenderbuffer();
148
149 successfullyParsed = true;
150 </script>
151
152 <script src="../resources/js-test-post.js"></script>
153 </body>
154 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698