Home | History | Annotate | Download | only in common
      1 #ifndef _GLCPARALLELSHADERCOMPILETESTS_HPP
      2 #define _GLCPARALLELSHADERCOMPILETESTS_HPP
      3 /*-------------------------------------------------------------------------
      4  * OpenGL Conformance Test Suite
      5  * -----------------------------
      6  *
      7  * Copyright (c) 2016-2017 The Khronos Group Inc.
      8  *
      9  * Licensed under the Apache License, Version 2.0 (the "License");
     10  * you may not use this file except in compliance with the License.
     11  * You may obtain a copy of the License at
     12  *
     13  *      http://www.apache.org/licenses/LICENSE-2.0
     14  *
     15  * Unless required by applicable law or agreed to in writing, software
     16  * distributed under the License is distributed on an "AS IS" BASIS,
     17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     18  * See the License for the specific language governing permissions and
     19  * limitations under the License.
     20  *
     21  */ /*!
     22  * \file
     23  * \brief
     24  */ /*-------------------------------------------------------------------*/
     25 
     26 /**
     27  */ /*!
     28  * \file  glcParallelShaderCompileTests.hpp
     29  * \brief Conformance tests for the GL_KHR_parallel_shader_compile functionality.
     30  */ /*-------------------------------------------------------------------*/
     31 #include "glcTestCase.hpp"
     32 #include "glwDefs.hpp"
     33 #include "tcuDefs.hpp"
     34 #include <vector>
     35 
     36 namespace glcts
     37 {
     38 
     39 /** Test verifies if GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev
     40  *  queries for MAX_SHADER_COMPILER_THREADS_KHR <pname> returns the same value.
     41  **/
     42 class SimpleQueriesTest : public deqp::TestCase
     43 {
     44 public:
     45 	/* Public methods */
     46 	SimpleQueriesTest(deqp::Context& context);
     47 
     48 	tcu::TestNode::IterateResult iterate();
     49 
     50 private:
     51 	/* Private methods */
     52 	/* Private members */
     53 };
     54 
     55 /** Test verifies if MaxShaderCompilerThreadsKHR function works as expected
     56  **/
     57 class MaxShaderCompileThreadsTest : public deqp::TestCase
     58 {
     59 public:
     60 	/* Public methods */
     61 	MaxShaderCompileThreadsTest(deqp::Context& context);
     62 
     63 	tcu::TestNode::IterateResult iterate();
     64 
     65 private:
     66 	/* Private methods */
     67 	/* Private members */
     68 };
     69 
     70 /** Test verifies if GetShaderiv and GetProgramiv queries returns value as expected
     71  *  for COMPLETION_STATUS <pname> and non parallel compilation.
     72  **/
     73 class CompilationCompletionNonParallelTest : public deqp::TestCase
     74 {
     75 public:
     76 	/* Public methods */
     77 	CompilationCompletionNonParallelTest(deqp::Context& context);
     78 
     79 	tcu::TestNode::IterateResult iterate();
     80 
     81 private:
     82 	/* Private methods */
     83 	/* Private members */
     84 };
     85 
     86 /** Test verifies if GetShaderiv and GetProgramiv queries returns value as expected
     87  *  for COMPLETION_STATUS <pname> and parallel compilation.
     88  **/
     89 class CompilationCompletionParallelTest : public deqp::TestCase
     90 {
     91 public:
     92 	/* Public methods */
     93 	CompilationCompletionParallelTest(deqp::Context& context);
     94 
     95 	tcu::TestNode::IterateResult iterate();
     96 
     97 private:
     98 	/* Private methods */
     99 	/* Private members */
    100 };
    101 
    102 /** Test group which encapsulates all sparse buffer conformance tests */
    103 class ParallelShaderCompileTests : public deqp::TestCaseGroup
    104 {
    105 public:
    106 	/* Public methods */
    107 	ParallelShaderCompileTests(deqp::Context& context);
    108 
    109 	void init();
    110 
    111 private:
    112 	ParallelShaderCompileTests(const ParallelShaderCompileTests& other);
    113 	ParallelShaderCompileTests& operator=(const ParallelShaderCompileTests& other);
    114 };
    115 
    116 } /* glcts namespace */
    117 
    118 #endif // _GLCPARALLELSHADERCOMPILETESTS_HPP
    119