es31fShaderAtomicOpTests.hpp revision 3c827367444ee418f129b2c238299f49d3264554
16d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#ifndef _ES31FSHADERATOMICOPTESTS_HPP
2ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman#define _ES31FSHADERATOMICOPTESTS_HPP
3e488e9360b1a865ba604330965edcf139e590b65John Criswell/*-------------------------------------------------------------------------
4e488e9360b1a865ba604330965edcf139e590b65John Criswell * drawElements Quality Program OpenGL ES 3.1 Module
557360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner * -------------------------------------------------
657360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner *
7ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman * Copyright 2014 The Android Open Source Project
86d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman *
922033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner * Licensed under the Apache License, Version 2.0 (the "License");
105720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner * you may not use this file except in compliance with the License.
1187b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner * You may obtain a copy of the License at
1287b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner *
1387b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner *      http://www.apache.org/licenses/LICENSE-2.0
1487b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner *
1587b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner * Unless required by applicable law or agreed to in writing, software
1687b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner * distributed under the License is distributed on an "AS IS" BASIS,
1787b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
188b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer * See the License for the specific language governing permissions and
1987b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner * limitations under the License.
20569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov *
21569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov *//*!
224a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings * \file
234a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings * \brief Shader atomic operation tests.
244a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings *//*--------------------------------------------------------------------*/
254a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings
264a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings#include "tcuDefs.hpp"
272cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim Grosbach#include "tes31TestCase.hpp"
282cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim Grosbach
29569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovnamespace deqp
30569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov{
31569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovnamespace gles31
32569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov{
33c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskinnamespace Functional
34c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin{
35da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar
36da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbarenum AtomicOperandType
37da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar{
38da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar	ATOMIC_OPERAND_BUFFER_VARIABLE = 0,		//!< Variable in SSBO
39da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar	ATOMIC_OPERAND_SHARED_VARIABLE,			//!< Shared variable.
40569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov
41df93e579757961d9a43c3fee9b97b43da8fb652cDavid Greene	ATOMIC_OPERAND_TYPE_LAST
428fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman};
43009505452b713ed2e3a8e99c5545a6e721c65495Chris Lattner
44ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukmanclass ShaderAtomicOpTests : public TestCaseGroup
4593bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer{
46c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskinpublic:
47c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin							ShaderAtomicOpTests		(Context& context, const char* name, AtomicOperandType operandType);
48c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin							~ShaderAtomicOpTests	(void);
49c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin
505720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner	void					init					(void);
518b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer
525720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattnerprivate:
535720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner							ShaderAtomicOpTests		(const ShaderAtomicOpTests& other);
5422033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner	ShaderAtomicOpTests&	operator=				(const ShaderAtomicOpTests& other);
55544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman
56544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman	const AtomicOperandType	m_operandType;
57544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman};
58544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman
59544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman} // Functional
608b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencer} // gles31
618b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer} // deqp
625720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner
636a8c2907b0721ce53ad6887be5b10eef50dac060Chris Lattner#endif // _ES31FSHADERATOMICOPTESTS_HPP
6422033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner