1 // 2 // Copyright 2018 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // TextureTargetEnableTest.cpp: Tests basic usage of built-in vertex attributes of GLES1. 8 9 #include "test_utils/ANGLETest.h" 10 #include "test_utils/gl_raii.h" 11 12 using namespace angle; 13 14 class TextureTargetEnableTest : public ANGLETest<> 15 { 16 protected: TextureTargetEnableTest()17 TextureTargetEnableTest() 18 { 19 setWindowWidth(32); 20 setWindowHeight(32); 21 setConfigRedBits(8); 22 setConfigGreenBits(8); 23 setConfigBlueBits(8); 24 setConfigAlphaBits(8); 25 setConfigDepthBits(24); 26 } 27 }; 28 29 // Checks that 2D/Cube targets are disabled initially. TEST_P(TextureTargetEnableTest,InitialState)30TEST_P(TextureTargetEnableTest, InitialState) 31 { 32 EXPECT_GL_FALSE(glIsEnabled(GL_TEXTURE_2D)); 33 EXPECT_GL_NO_ERROR(); 34 EXPECT_GL_FALSE(glIsEnabled(GL_TEXTURE_CUBE_MAP)); 35 EXPECT_GL_NO_ERROR(); 36 } 37 38 // Checks that 2D/cube targets can be set to enabled or disabled. TEST_P(TextureTargetEnableTest,Set)39TEST_P(TextureTargetEnableTest, Set) 40 { 41 glEnable(GL_TEXTURE_2D); 42 EXPECT_GL_NO_ERROR(); 43 EXPECT_GL_TRUE(glIsEnabled(GL_TEXTURE_2D)); 44 45 glEnable(GL_TEXTURE_CUBE_MAP); 46 EXPECT_GL_NO_ERROR(); 47 EXPECT_GL_TRUE(glIsEnabled(GL_TEXTURE_CUBE_MAP)); 48 } 49 50 // Checks that targets can be set to enabled or disabled and it does not affect the setting of 51 // other texture units. TEST_P(TextureTargetEnableTest,SetSeparateUnits)52TEST_P(TextureTargetEnableTest, SetSeparateUnits) 53 { 54 GLint units; 55 glGetIntegerv(GL_MAX_TEXTURE_UNITS, &units); 56 57 for (int i = 0; i < units; i++) 58 { 59 60 glActiveTexture(GL_TEXTURE0 + i); 61 EXPECT_GL_NO_ERROR(); 62 63 EXPECT_GL_FALSE(glIsEnabled(GL_TEXTURE_2D)); 64 EXPECT_GL_NO_ERROR(); 65 66 EXPECT_GL_FALSE(glIsEnabled(GL_TEXTURE_CUBE_MAP)); 67 EXPECT_GL_NO_ERROR(); 68 69 glEnable(GL_TEXTURE_2D); 70 EXPECT_GL_NO_ERROR(); 71 EXPECT_GL_TRUE(glIsEnabled(GL_TEXTURE_2D)); 72 73 glEnable(GL_TEXTURE_CUBE_MAP); 74 EXPECT_GL_NO_ERROR(); 75 EXPECT_GL_TRUE(glIsEnabled(GL_TEXTURE_CUBE_MAP)); 76 } 77 } 78 79 ANGLE_INSTANTIATE_TEST_ES1(TextureTargetEnableTest); 80