• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _ESEXTCTEXTURECUBEMAPARRAYIMAGETEXTURESIZETESTS_HPP
2 #define _ESEXTCTEXTURECUBEMAPARRAYIMAGETEXTURESIZETESTS_HPP
3 /*-------------------------------------------------------------------------
4  * OpenGL Conformance Test Suite
5  * -----------------------------
6  *
7  * Copyright (c) 2014-2016 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  * \file  esextcTextureCubeMapArrayTextureSizeTests.hpp
28  * \brief texture_cube_map_array extension - Texture Size Test (Test 10)
29  */ /*-------------------------------------------------------------------*/
30 
31 #include "esextcTextureCubeMapArrayImageTextureSize.hpp"
32 #include "glcContext.hpp"
33 #include "glcTestCase.hpp"
34 
35 namespace glcts
36 {
37 /** Implementation of (Test 10) for texture_cube_map_array extension. Test description follows:
38  *   Make sure shaders can correctly query the size of cube-map array textures
39  *   bound to active texture or image samplers.
40  *
41  *   Category:           Coverage,
42  *                       Optional dependency on EXT_geometry_shader;
43  *                       Optional dependency on EXT_tessellation_shader;
44  *   Suggested priority: Must-have for the texture part;
45  *                       Must-have for the image part;
46  *
47  *   Make sure textureSize() (both shadow and normal cases) GLSL functions
48  *   return correct values for cube-map array textures.
49  *   Make sure imageSize() returns correct values for image units, to which
50  *   cube-map array textures have been bound.
51  *
52  *   All supported shader types should be considered for the purpose of the
53  *   test.
54  *
55  *   The results should be XFBed back to test implementation for verification
56  *   in case of geometry & tessellation shaders & vertex shaders.
57  *   For compute shaders, the size should be stored to an image of
58  *   1x1 resolution and of GL_RGBA32UI internalformat.
59  *   Fragment shaders should store the texture size by writing it to
60  *   an output variable defined in the fragment shader. A GL_RGBA32UI
61  *   texture of 1x1 resolution should be used as a draw buffer.
62  *
63  *   The following texture resolutions should be used
64  *       { 64,  64,  6},
65  *       {128, 128, 12},
66  *       {256, 256, 12},
67  *       { 32,  32, 18}
68  *   Both immutable and mutable textures should be checked.
69  *
70  */
71 class TextureCubeMapArrayImageTextureSizeTests : public glcts::TestCaseGroupBase
72 {
73 public:
74 	/* Public methods */
75 	TextureCubeMapArrayImageTextureSizeTests(glcts::Context& context, const ExtParameters& extParams, const char* name,
76 											 const char* description);
77 
~TextureCubeMapArrayImageTextureSizeTests()78 	virtual ~TextureCubeMapArrayImageTextureSizeTests()
79 	{
80 	}
81 
82 	virtual void init(void);
83 	virtual void deinit(void);
84 };
85 
86 } // namespace glcts
87 
88 #endif // _ESEXTCTEXTURECUBEMAPARRAYIMAGETEXTURESIZETESTS_HPP
89