| #ifndef _ES31FNEGATIVETESTSHARED_HPP |
| #define _ES31FNEGATIVETESTSHARED_HPP |
| /*------------------------------------------------------------------------- |
| * drawElements Quality Program OpenGL ES 3.1 Module |
| * ------------------------------------------------- |
| * |
| * Copyright 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| *//*! |
| * \file |
| * \brief Shared structures for ES 3.1 negative API tests |
| *//*--------------------------------------------------------------------*/ |
| |
| #include "tcuDefs.hpp" |
| #include "glwDefs.hpp" |
| #include "gluCallLogWrapper.hpp" |
| #include "gluShaderUtil.hpp" |
| #include "tes31TestCase.hpp" |
| |
| namespace tcu |
| { |
| |
| class ResultCollector; |
| |
| } // tcu |
| |
| namespace deqp |
| { |
| namespace gles31 |
| { |
| namespace Functional |
| { |
| namespace NegativeTestShared |
| { |
| |
| class ErrorCase : public TestCase |
| { |
| public: |
| ErrorCase (Context& ctx, const char* name, const char* desc); |
| virtual ~ErrorCase (void) {} |
| |
| virtual void expectError (glw::GLenum error0, glw::GLenum error1) = 0; |
| }; |
| |
| class NegativeTestContext : public glu::CallLogWrapper |
| { |
| public: |
| NegativeTestContext (ErrorCase& host, glu::RenderContext& renderCtx, const glu::ContextInfo& ctxInfo, tcu::TestLog& log, tcu::ResultCollector& results, bool enableLog); |
| ~NegativeTestContext (); |
| |
| const tcu::ResultCollector& getResults (void) const; |
| |
| void fail (const std::string& msg); |
| int getInteger (glw::GLenum pname) const; |
| const glu::RenderContext& getRenderContext (void) const { return m_renderCtx; } |
| const glu::ContextInfo& getContextInfo (void) const { return m_ctxInfo; } |
| void beginSection (const std::string& desc); |
| void endSection (void); |
| |
| void expectError (glw::GLenum error); |
| void expectError (glw::GLenum error0, glw::GLenum error1); |
| bool isShaderSupported (glu::ShaderType shaderType); |
| bool isExtensionSupported (std::string extension); |
| |
| protected: |
| ErrorCase& m_host; |
| |
| private: |
| glu::RenderContext& m_renderCtx; |
| const glu::ContextInfo& m_ctxInfo; |
| tcu::ResultCollector& m_results; |
| int m_openSections; |
| }; |
| |
| typedef void (*TestFunc)(NegativeTestContext& ctx); |
| |
| struct FunctionContainer |
| { |
| TestFunc function; |
| const char* name; |
| const char* desc; |
| }; |
| |
| } // NegativeTestShared |
| } // Functional |
| } // gles31 |
| } // deqp |
| |
| #endif // _ES31FNEGATIVETESTSHARED_HPP |