Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 1 | /*------------------------------------------------------------------------- |
| 2 | * drawElements Quality Program OpenGL ES 3.1 Module |
| 3 | * ------------------------------------------------- |
| 4 | * |
| 5 | * Copyright 2015 The Android Open Source Project |
| 6 | * |
| 7 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 8 | * you may not use this file except in compliance with the License. |
| 9 | * You may obtain a copy of the License at |
| 10 | * |
| 11 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 12 | * |
| 13 | * Unless required by applicable law or agreed to in writing, software |
| 14 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 16 | * See the License for the specific language governing permissions and |
| 17 | * limitations under the License. |
| 18 | * |
| 19 | *//*! |
| 20 | * \file |
| 21 | * \brief Default vertex array tests |
| 22 | *//*--------------------------------------------------------------------*/ |
| 23 | |
| 24 | #include "es31fDefaultVertexArrayObjectTests.hpp" |
| 25 | |
| 26 | #include "gluCallLogWrapper.hpp" |
| 27 | #include "gluRenderContext.hpp" |
| 28 | |
| 29 | #include "glwEnums.hpp" |
| 30 | |
| 31 | namespace deqp |
| 32 | { |
| 33 | namespace gles31 |
| 34 | { |
| 35 | namespace Functional |
| 36 | { |
| 37 | namespace |
| 38 | { |
| 39 | |
| 40 | class VertexAttributeDivisorCase : public TestCase |
| 41 | { |
| 42 | public: |
| 43 | VertexAttributeDivisorCase (Context& context, const char* name, const char* description); |
| 44 | IterateResult iterate (void); |
| 45 | }; |
| 46 | |
| 47 | VertexAttributeDivisorCase::VertexAttributeDivisorCase (Context& context, const char* name, const char* description) |
| 48 | : TestCase(context, name, description) |
| 49 | { |
| 50 | } |
| 51 | |
| 52 | VertexAttributeDivisorCase::IterateResult VertexAttributeDivisorCase::iterate (void) |
| 53 | { |
| 54 | glu::CallLogWrapper gl (m_context.getRenderContext().getFunctions(), m_testCtx.getLog()); |
Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 55 | |
| 56 | m_testCtx.getLog() << tcu::TestLog::Message |
| 57 | << "Using VertexAttribDivisor with default VAO.\n" |
Jarkko Pöyry | b459c99 | 2015-04-27 15:14:35 -0700 | [diff] [blame] | 58 | << "Expecting no error." |
Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 59 | << tcu::TestLog::EndMessage; |
| 60 | |
| 61 | gl.enableLogging(true); |
| 62 | gl.glBindVertexArray(0); |
| 63 | |
Jarkko Pöyry | b459c99 | 2015-04-27 15:14:35 -0700 | [diff] [blame] | 64 | // Using vertexAttribDivisor with default vao is not an error in ES 3.1. |
Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 65 | gl.glVertexAttribDivisor(0, 3); |
Jarkko Pöyry | b459c99 | 2015-04-27 15:14:35 -0700 | [diff] [blame] | 66 | GLU_EXPECT_NO_ERROR(gl.glGetError(), "VertexAttribDivisor"); |
Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 67 | |
Jarkko Pöyry | b459c99 | 2015-04-27 15:14:35 -0700 | [diff] [blame] | 68 | m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass"); |
Jarkko Pöyry | f38ef81 | 2015-04-16 15:49:10 -0700 | [diff] [blame] | 69 | return STOP; |
| 70 | } |
| 71 | |
| 72 | } // anonymous |
| 73 | |
| 74 | DefaultVertexArrayObjectTests::DefaultVertexArrayObjectTests (Context& context) |
| 75 | : TestCaseGroup(context, "default_vertex_array_object", "Default vertex array object") |
| 76 | { |
| 77 | } |
| 78 | |
| 79 | void DefaultVertexArrayObjectTests::init (void) |
| 80 | { |
| 81 | addChild(new VertexAttributeDivisorCase(m_context, "vertex_attrib_divisor", "Use VertexAttribDivisor with default VAO")); |
| 82 | } |
| 83 | |
| 84 | } // Functional |
| 85 | } // gles31 |
| 86 | } // deqp |