Lines Matching refs:gl
120 void PolygonOffsetClampAvailabilityTestCase::test(const glw::Functions& gl)
124 gl.getBooleanv(GL_POLYGON_OFFSET_CLAMP_EXT, &data);
125 GLU_EXPECT_NO_ERROR(gl.getError(), "getBooleanv error occurred");
129 gl.getIntegerv(GL_POLYGON_OFFSET_CLAMP_EXT, &data);
130 GLU_EXPECT_NO_ERROR(gl.getError(), "getBooleanv error occurred");
134 gl.getInteger64v(GL_POLYGON_OFFSET_CLAMP_EXT, &data);
135 GLU_EXPECT_NO_ERROR(gl.getError(), "getBooleanv error occurred");
139 gl.getFloatv(GL_POLYGON_OFFSET_CLAMP_EXT, &data);
140 GLU_EXPECT_NO_ERROR(gl.getError(), "getBooleanv error occurred");
147 gl.getDoublev(GL_POLYGON_OFFSET_CLAMP_EXT, &data);
148 GLU_EXPECT_NO_ERROR(gl.getError(), "getBooleanv error occurred");
151 gl.polygonOffsetClamp(1.0f, 1.0f, 0.5f);
152 GLU_EXPECT_NO_ERROR(gl.getError(), "polygonOffsetClamp error occurred");
176 const glw::Functions& gl = m_context.getRenderContext().getFunctions();
178 gl.genTextures(1, &m_depthBuf);
179 GLU_EXPECT_NO_ERROR(gl.getError(), "genTextures");
180 gl.bindTexture(GL_TEXTURE_2D, m_depthBuf);
181 GLU_EXPECT_NO_ERROR(gl.getError(), "bindTexture");
182 gl.texStorage2D(GL_TEXTURE_2D, 1, GL_DEPTH_COMPONENT16, 64, 64);
183 GLU_EXPECT_NO_ERROR(gl.getError(), "texStorage2D");
184 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
185 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
186 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
187 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
189 gl.genTextures(1, &m_colorBuf);
190 GLU_EXPECT_NO_ERROR(gl.getError(), "genTextures");
191 gl.bindTexture(GL_TEXTURE_2D, m_colorBuf);
192 GLU_EXPECT_NO_ERROR(gl.getError(), "bindTexture");
193 gl.texStorage2D(GL_TEXTURE_2D, 1, GL_RGBA8, 64, 64);
194 GLU_EXPECT_NO_ERROR(gl.getError(), "texStorage2D");
195 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
196 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
197 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
198 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
200 gl.genFramebuffers(1, &m_fbo);
201 GLU_EXPECT_NO_ERROR(gl.getError(), "genFramebuffers");
202 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fbo);
203 GLU_EXPECT_NO_ERROR(gl.getError(), "bindFramebuffer");
204 gl.framebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthBuf, 0);
205 GLU_EXPECT_NO_ERROR(gl.getError(), "framebufferTexture2D");
206 gl.framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_colorBuf, 0);
207 GLU_EXPECT_NO_ERROR(gl.getError(), "framebufferTexture2D");
211 gl.genTextures(1, &m_colorBufReadback);
212 GLU_EXPECT_NO_ERROR(gl.getError(), "genTextures");
213 gl.bindTexture(GL_TEXTURE_2D, m_colorBufReadback);
214 GLU_EXPECT_NO_ERROR(gl.getError(), "bindTexture");
215 gl.texStorage2D(GL_TEXTURE_2D, 1, GL_RGBA8, 64, 64);
216 GLU_EXPECT_NO_ERROR(gl.getError(), "texStorage2D");
217 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
218 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
219 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
220 GLU_EXPECT_NO_ERROR(gl.getError(), "texParameteri");
222 gl.genFramebuffers(1, &m_fboReadback);
223 GLU_EXPECT_NO_ERROR(gl.getError(), "genFramebuffers");
224 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fboReadback);
225 GLU_EXPECT_NO_ERROR(gl.getError(), "bindFramebuffer");
226 gl.framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_colorBufReadback, 0);
227 GLU_EXPECT_NO_ERROR(gl.getError(), "framebufferTexture2D");
230 gl.viewport(0, 0, 64, 64);
237 const glw::Functions& gl = m_context.getRenderContext().getFunctions();
239 gl.bindFramebuffer(GL_FRAMEBUFFER, 0);
240 GLU_EXPECT_NO_ERROR(gl.getError(), "bindFramebuffer");
243 gl.deleteFramebuffers(1, &m_fbo);
245 gl.deleteTextures(1, &m_depthBuf);
247 gl.deleteTextures(1, &m_colorBuf);
252 gl.deleteTextures(1, &m_colorBufReadback);
254 gl.deleteFramebuffers(1, &m_fboReadback);
260 * @param gl Function bindings
262 void PolygonOffsetClampValueTestCaseBase::test(const glw::Functions& gl)
279 ShaderProgram testProgram(gl, testSources);
305 readDepthProgram = new ShaderProgram(gl, readDepthSources);
321 gl.useProgram(testProgramId);
322 GLU_EXPECT_NO_ERROR(gl.getError(), "glUseProgram");
328 gl.enable(GL_DEPTH_TEST);
329 GLU_EXPECT_NO_ERROR(gl.getError(), "glEnable");
331 gl.depthFunc(GL_ALWAYS);
332 GLU_EXPECT_NO_ERROR(gl.getError(), "glDepthFunc");
335 gl.genVertexArrays(1, &vao);
336 GLU_EXPECT_NO_ERROR(gl.getError(), "glGenVertexArrays");
338 gl.bindVertexArray(vao);
339 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindVertexArray");
342 gl.genBuffers(1, &arrayBuffer);
343 GLU_EXPECT_NO_ERROR(gl.getError(), "glGenBuffers");
345 gl.bindBuffer(GL_ARRAY_BUFFER, arrayBuffer);
346 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindBuffer");
348 gl.bufferData(GL_ARRAY_BUFFER, 12 * sizeof(GLfloat), vertices, GL_STATIC_DRAW);
349 GLU_EXPECT_NO_ERROR(gl.getError(), "glBufferData");
352 gl.enableVertexAttribArray(0);
353 GLU_EXPECT_NO_ERROR(gl.getError(), "glEnableVertexAttribArray");
355 gl.vertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL);
356 GLU_EXPECT_NO_ERROR(gl.getError(), "glVertexAttribPointer");
359 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fbo);
360 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindFramebuffer");
371 gl.disable(GL_POLYGON_OFFSET_FILL);
372 GLU_EXPECT_NO_ERROR(gl.getError(), "glDisable");
374 gl.clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
375 GLU_EXPECT_NO_ERROR(gl.getError(), "glClear");
377 gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4);
378 GLU_EXPECT_NO_ERROR(gl.getError(), "glDrawArrays");
381 depthValue = readDepthValue(gl, readDepthProgramId, testProgramId);
384 gl.enable(GL_POLYGON_OFFSET_FILL);
385 GLU_EXPECT_NO_ERROR(gl.getError(), "glEnable");
387 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fbo);
388 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindFramebuffer");
390 gl.polygonOffset(m_testValues[i].factor, m_testValues[i].units);
391 GLU_EXPECT_NO_ERROR(gl.getError(), "glPolygonOffset");
393 gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4);
394 GLU_EXPECT_NO_ERROR(gl.getError(), "glDrawArrays");
396 depthValueOffset = readDepthValue(gl, readDepthProgramId, testProgramId);
399 gl.disable(GL_POLYGON_OFFSET_FILL);
400 GLU_EXPECT_NO_ERROR(gl.getError(), "glDisable");
402 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fbo);
403 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindFramebuffer");
405 gl.clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
406 GLU_EXPECT_NO_ERROR(gl.getError(), "glClear");
408 gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4);
409 GLU_EXPECT_NO_ERROR(gl.getError(), "glDrawArrays");
412 gl.enable(GL_POLYGON_OFFSET_FILL);
413 GLU_EXPECT_NO_ERROR(gl.getError(), "glEnable");
415 gl.polygonOffsetClamp(m_testValues[i].factor, m_testValues[i].units, m_testValues[i].clamp);
416 GLU_EXPECT_NO_ERROR(gl.getError(), "glPolygonOffsetClamp");
418 gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4);
419 GLU_EXPECT_NO_ERROR(gl.getError(), "glDrawArrays");
421 depthValueOffsetClamp = readDepthValue(gl, readDepthProgramId, testProgramId);
428 gl.disableVertexAttribArray(0);
429 GLU_EXPECT_NO_ERROR(gl.getError(), "glDisableVertexAttribArray");
431 gl.deleteVertexArrays(1, &arrayBuffer);
432 GLU_EXPECT_NO_ERROR(gl.getError(), "glDeleteVertexArrays");
434 gl.deleteVertexArrays(1, &vao);
435 GLU_EXPECT_NO_ERROR(gl.getError(), "glDeleteVertexArrays");
437 gl.disable(GL_POLYGON_OFFSET_FILL);
438 GLU_EXPECT_NO_ERROR(gl.getError(), "glDisable");
451 * @param gl Function bindings
453 float PolygonOffsetClampValueTestCaseBase::readDepthValue(const glw::Functions& gl, const GLuint readDepthProgramId, const GLuint testProgramId)
459 gl.readPixels(0, 0, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &depthValue);
460 GLU_EXPECT_NO_ERROR(gl.getError(), "glReadPixels");
466 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fboReadback);
467 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindFramebuffer");
469 gl.disable(GL_DEPTH_TEST);
470 GLU_EXPECT_NO_ERROR(gl.getError(), "glDisable");
472 gl.useProgram(readDepthProgramId);
473 GLU_EXPECT_NO_ERROR(gl.getError(), "glUseProgram");
475 gl.activeTexture(GL_TEXTURE0);
476 GLU_EXPECT_NO_ERROR(gl.getError(), "glActiveTexture");
477 gl.bindTexture(GL_TEXTURE_2D, m_depthBuf);
478 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindTexture");
479 gl.uniform1i(0, 0);
480 GLU_EXPECT_NO_ERROR(gl.getError(), "glUniform1i");
482 gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4);
483 GLU_EXPECT_NO_ERROR(gl.getError(), "glDrawArrays");
486 gl.readPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
487 GLU_EXPECT_NO_ERROR(gl.getError(), "glReadPixels");
489 gl.enable(GL_DEPTH_TEST);
490 GLU_EXPECT_NO_ERROR(gl.getError(), "glEnable");
496 gl.bindFramebuffer(GL_FRAMEBUFFER, m_fbo);
497 GLU_EXPECT_NO_ERROR(gl.getError(), "glBindFramebuffer");
499 gl.useProgram(testProgramId);
500 GLU_EXPECT_NO_ERROR(gl.getError(), "glUseProgram");