/*------------------------------------------------------------------------- * OpenGL Conformance Test Suite * ----------------------------- * * Copyright (c) 2014-2016 The Khronos Group Inc. * * 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 */ /*-------------------------------------------------------------------*/ /*! * \file glcTextureBufferTests.cpp * \brief Base test group for texture buffer tests */ /*-------------------------------------------------------------------*/ #include "esextcTextureBufferTests.hpp" #include "esextcTextureBufferActiveUniformValidation.hpp" #include "esextcTextureBufferAtomicFunctions.hpp" #include "esextcTextureBufferBufferParameters.hpp" #include "esextcTextureBufferErrors.hpp" #include "esextcTextureBufferMAXSizeValidation.hpp" #include "esextcTextureBufferOperations.hpp" #include "esextcTextureBufferParamValueIntToFloatConversion.hpp" #include "esextcTextureBufferParameters.hpp" #include "esextcTextureBufferPrecision.hpp" #include "esextcTextureBufferTextureBufferRange.hpp" namespace glcts { /** Constructor * * @param context Test context * @param glslVersion GLSL version **/ TextureBufferTests::TextureBufferTests(glcts::Context& context, const ExtParameters& extParams) : TestCaseGroupBase(context, extParams, "texture_buffer", "Texture Buffer Tests") { /* No implementation needed */ } /** Initializes test cases for texture buffer tests **/ void TextureBufferTests::init(void) { /* Initialize base class */ TestCaseGroupBase::init(); /* Texture Buffer Operations (Test 1) */ /* Case 1 - via buffer object loads*/ addChild(new TextureBufferOperationsViaBufferObjectLoad(m_context, m_extParams, "texture_buffer_operations_buffer_load", "Test 1.1")); /* Case 2 - via direct CPU writes*/ addChild(new TextureBufferOperationsViaCPUWrites(m_context, m_extParams, "texture_buffer_operations_cpu_writes", "Test 1.2")); /* Case 3 - via framebuffer readbacks to pixel buffer objects*/ addChild(new TextureBufferOperationsViaFrambufferReadBack( m_context, m_extParams, "texture_buffer_operations_framebuffer_readback", "Test 1.3")); /* Case 4 - via transform feedback*/ addChild(new TextureBufferOperationsViaTransformFeedback( m_context, m_extParams, "texture_buffer_operations_transform_feedback", "Test 1.4")); /* Case 5 - via image store*/ addChild(new TextureBufferOperationsViaImageStore(m_context, m_extParams, "texture_buffer_operations_image_store", "Test 1.5")); /* Case 6 - via ssbo writes*/ addChild(new TextureBufferOperationsViaSSBOWrites(m_context, m_extParams, "texture_buffer_operations_ssbo_writes", "Test 1.6")); /* Texture Buffer Max Size (Test 2)*/ addChild(new TextureBufferMAXSizeValidation(m_context, m_extParams, "texture_buffer_max_size", "Test 2")); /* Texture Buffer Range (Test 3)*/ addChild( new TextureBufferTextureBufferRange(m_context, m_extParams, "texture_buffer_texture_buffer_range", "Test 3")); /* Texture Buffer - Parameter Value from Integer To Float Conversion (Test 4)*/ addChild(new TextureBufferParamValueIntToFloatConversion(m_context, m_extParams, "texture_buffer_conv_int_to_float", "Test 4")); /* Texture Buffer Atomic Functions (Test 5) */ addChild(new TextureBufferAtomicFunctions(m_context, m_extParams, "texture_buffer_atomic_functions", "Test 5")); /* Texture Buffer Parameters (Test 6) */ addChild(new TextureBufferParameters(m_context, m_extParams, "texture_buffer_parameters", "Test 6")); /* Texture Buffer Errors (Test 7) */ addChild(new TextureBufferErrors(m_context, m_extParams, "texture_buffer_errors", "Test 7")); /* Texture Buffer - Active Uniform Information Validation (Test 8)*/ /* Vertex/Fragment Shader */ addChild(new TextureBufferActiveUniformValidationVSFS( m_context, m_extParams, "texture_buffer_active_uniform_validation_fragment_shader", "Test 8.1")); /* Compute Shader */ addChild(new TextureBufferActiveUniformValidationCS( m_context, m_extParams, "texture_buffer_active_uniform_validation_compute_shader", "Test 8.2")); /* Texture Buffer Buffer Parameters (Test 9) */ addChild(new TextureBufferBufferParameters(m_context, m_extParams, "texture_buffer_buffer_parameters", "Test 9")); /* Texture Buffer Precision (Test 10) */ addChild(new TextureBufferPrecision(m_context, m_extParams, "texture_buffer_precision", "Test 10")); } } // namespace glcts