1 /*------------------------------------------------------------------------- 2 * drawElements Quality Program OpenGL ES 3.0 Module 3 * ------------------------------------------------- 4 * 5 * Copyright 2014 The Android Open Source Project 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 *//*! 20 * \file 21 * \brief Memory object stress test 22 *//*--------------------------------------------------------------------*/ 23 24 #include "es3sMemoryTests.hpp" 25 26 #include "glsMemoryStressCase.hpp" 27 #include "deRandom.hpp" 28 #include "tcuTestLog.hpp" 29 30 #include "glw.h" 31 32 #include <vector> 33 #include <iostream> 34 35 using std::vector; 36 using tcu::TestLog; 37 38 using namespace deqp::gls; 39 40 namespace deqp 41 { 42 namespace gles3 43 { 44 namespace Stress 45 { 46 47 MemoryTests::MemoryTests (Context& testCtx) 48 : TestCaseGroup(testCtx, "memory", "Memory stress tests") 49 { 50 } 51 52 MemoryTests::~MemoryTests(void) 53 { 54 } 55 56 void MemoryTests::init (void) 57 { 58 const int MiB = 1024*1024; 59 60 // Basic tests 61 tcu::TestCaseGroup* basicGroup = new TestCaseGroup(m_context, "basic", "Basic allocation stress tests."); 62 63 // Buffers 64 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, false, false, false, false, "buffer_1mb_no_write_no_use", "1MiB buffer allocations, no data writes, no use")); 65 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, true, false, false, false, "buffer_1mb_write_no_use", "1MiB buffer allocations, data writes, no use")); 66 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, false, true, false, false, "buffer_1mb_no_write_use", "1MiB buffer allocations, no data writes, data used")); 67 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, true, true, false, false, "buffer_1mb_write_use", "1MiB buffer allocations, data writes, data used")); 68 69 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, false, false, false, false, "buffer_8mb_no_write_no_use", "8MiB buffer allocations, no data writes, no use")); 70 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, true, false, false, false, "buffer_8mb_write_no_use", "8MiB buffer allocations, data writes, no use")); 71 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, false, true, false, false, "buffer_8mb_no_write_use", "8MiB buffer allocations, no data writes, data used")); 72 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, true, true, false, false, "buffer_8mb_write_use", "8MiB buffer allocations, data writes, data used")); 73 74 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, false, false, false, false, "buffer_32mb_no_write_no_use", "32MiB buffer allocations, no data writes, no use")); 75 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, true, false, false, false, "buffer_32mb_write_no_use", "32MiB buffer allocations, data writes, no use")); 76 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, false, true, false, false, "buffer_32mb_no_write_use", "32MiB buffer allocations, no data writes, data used")); 77 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, true, true, false, false, "buffer_32mb_write_use", "32MiB buffer allocations, data writes, data used")); 78 79 // Textures 80 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, false, false, false, false, "texture_512x512_rgba_no_write_no_use", "512x512 RGBA texture allocations, no data writes, no use")); 81 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, true, false, false, false, "texture_512x512_rgba_write_no_use", "512x512 RGBA texture allocations, data writes, no use")); 82 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, false, true, false, false, "texture_512x512_rgba_no_write_use", "512x512 RGBA texture allocations, no data writes, data used")); 83 basicGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, true, true, false, false, "texture_512x512_rgba_write_use", "512x512 RGBA texture allocations, data writes, data used")); 84 85 // Random tests 86 tcu::TestCaseGroup* randomGroup = new TestCaseGroup(m_context, "random", "Random allocation stress tests."); 87 88 // Buffers 89 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, false, false, false, false, "buffer_small_no_write_no_use", "Random small buffer allocations, no data writes, no use")); 90 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, true, false, false, false, "buffer_small_write_no_use", "Random small allocations, data writes, no use")); 91 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, false, true, false, false, "buffer_small_no_write_use", "Random small allocations, no data writes, data used")); 92 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, true, true, false, false, "buffer_small_write_use", "Random small allocations, data writes, data used")); 93 94 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, false, false, false, false, "buffer_large_no_write_no_use", "Random large buffer allocations, no data writes, no use")); 95 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, true, false, false, false, "buffer_large_write_no_use", "Random large buffer allocations, data writes, no use")); 96 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, false, true, false, false, "buffer_large_no_write_use", "Random large buffer allocations, no data writes, data used")); 97 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, true, true, false, false, "buffer_large_write_use", "Random large buffer allocations, data writes, data used")); 98 99 // Textures 100 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, false, false, false, false, "texture_small_rgba_no_write_no_use", "Small RGBA texture allocations, no data writes, no use")); 101 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, true, false, false, false, "texture_small_rgba_write_no_use", "Small RGBA texture allocations, data writes, no use")); 102 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, false, true, false, false, "texture_small_rgba_no_write_use", "Small RGBA texture allocations, no data writes, data used")); 103 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, true, true, false, false, "texture_small_rgba_write_use", "Small RGBA texture allocations, data writes, data used")); 104 105 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, false, false, false, false, "texture_large_rgba_no_write_no_use", "Large RGBA texture allocations, no data writes, no use")); 106 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, true, false, false, false, "texture_large_rgba_write_no_use", "Large RGBA texture allocations, data writes, no use")); 107 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, false, true, false, false, "texture_large_rgba_no_write_use", "Large RGBA texture allocations, no data writes, data used")); 108 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, true, true, false, false, "texture_large_rgba_write_use", "Large RGBA texture allocations, data writes, data used")); 109 110 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, false, false, false, false, "mixed_small_rgba_no_write_no_use", "Small RGBA mixed allocations, no data writes, no use")); 111 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, true, false, false, false, "mixed_small_rgba_write_no_use", "Small RGBA mixed allocations, data writes, no use")); 112 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, false, true, false, false, "mixed_small_rgba_no_write_use", "Small RGBA mixed allocations, no data writes, data used")); 113 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, true, true, false, false, "mixed_small_rgba_write_use", "Small RGBA mixed allocations, data writes, data used")); 114 115 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, false, false, false, false, "mixed_large_rgba_no_write_no_use", "Large RGBA mixed allocations, no data writes, no use")); 116 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, true, false, false, false, "mixed_large_rgba_write_no_use", "Large RGBA mixed allocations, data writes, no use")); 117 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, false, true, false, false, "mixed_large_rgba_no_write_use", "Large RGBA mixed allocations, no data writes, data used")); 118 randomGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, true, true, false, false, "mixed_large_rgba_write_use", "Large RGBA mixed allocations, data writes, data used")); 119 120 addChild(basicGroup); 121 addChild(randomGroup); 122 123 // Basic tests with clear 124 tcu::TestCaseGroup* basicClearGroup = new TestCaseGroup(m_context, "basic_clear", "Basic allocation stress tests with glClear after OOM."); 125 126 // Buffers 127 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, false, false, false, true, "buffer_1mb_no_write_no_use", "1MiB buffer allocations, no data writes, no use")); 128 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, true, false, false, true, "buffer_1mb_write_no_use", "1MiB buffer allocations, data writes, no use")); 129 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, false, true, false, true, "buffer_1mb_no_write_use", "1MiB buffer allocations, no data writes, data used")); 130 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 1*MiB, 1*MiB, true, true, false, true, "buffer_1mb_write_use", "1MiB buffer allocations, data writes, data used")); 131 132 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, false, false, false, true, "buffer_8mb_no_write_no_use", "8MiB buffer allocations, no data writes, no use")); 133 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, true, false, false, true, "buffer_8mb_write_no_use", "8MiB buffer allocations, data writes, no use")); 134 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, false, true, false, true, "buffer_8mb_no_write_use", "8MiB buffer allocations, no data writes, data used")); 135 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 8*MiB, 8*MiB, true, true, false, true, "buffer_8mb_write_use", "8MiB buffer allocations, data writes, data used")); 136 137 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, false, false, false, true, "buffer_32mb_no_write_no_use", "32MiB buffer allocations, no data writes, no use")); 138 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, true, false, false, true, "buffer_32mb_write_no_use", "32MiB buffer allocations, data writes, no use")); 139 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, false, true, false, true, "buffer_32mb_no_write_use", "32MiB buffer allocations, no data writes, data used")); 140 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 32*MiB, 32*MiB, true, true, false, true, "buffer_32mb_write_use", "32MiB buffer allocations, data writes, data used")); 141 142 // Textures 143 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, false, false, false, true, "texture_512x512_rgba_no_write_no_use", "512x512 RGBA texture allocations, no data writes, no use")); 144 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, true, false, false, true, "texture_512x512_rgba_write_no_use", "512x512 RGBA texture allocations, data writes, no use")); 145 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, false, true, false, true, "texture_512x512_rgba_no_write_use", "512x512 RGBA texture allocations, no data writes, data used")); 146 basicClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 512, 0, 0, true, true, false, true, "texture_512x512_rgba_write_use", "512x512 RGBA texture allocations, data writes, data used")); 147 148 // Random tests 149 tcu::TestCaseGroup* randomClearGroup = new TestCaseGroup(m_context, "random_clear", "Random allocation stress tests with glClear after OOM."); 150 151 // Buffers 152 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, false, false, false, true, "buffer_small_no_write_no_use", "Random small buffer allocations, no data writes, no use")); 153 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, true, false, false, true, "buffer_small_write_no_use", "Random small allocations, data writes, no use")); 154 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, false, true, false, true, "buffer_small_no_write_use", "Random small allocations, no data writes, data used")); 155 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 64, 1*MiB, true, true, false, true, "buffer_small_write_use", "Random small allocations, data writes, data used")); 156 157 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, false, false, false, true, "buffer_large_no_write_no_use", "Random large buffer allocations, no data writes, no use")); 158 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, true, false, false, true, "buffer_large_write_no_use", "Random large buffer allocations, data writes, no use")); 159 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, false, true, false, true, "buffer_large_no_write_use", "Random large buffer allocations, no data writes, data used")); 160 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_BUFFER, 0, 0, 2*MiB, 32*MiB, true, true, false, true, "buffer_large_write_use", "Random large buffer allocations, data writes, data used")); 161 162 // Textures 163 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, false, false, false, true, "texture_small_rgba_no_write_no_use", "Small RGBA texture allocations, no data writes, no use")); 164 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, true, false, false, true, "texture_small_rgba_write_no_use", "Small RGBA texture allocations, data writes, no use")); 165 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, false, true, false, true, "texture_small_rgba_no_write_use", "Small RGBA texture allocations, no data writes, data used")); 166 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 8, 256, 0, 0, true, true, false, true, "texture_small_rgba_write_use", "Small RGBA texture allocations, data writes, data used")); 167 168 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, false, false, false, true, "texture_large_rgba_no_write_no_use", "Large RGBA texture allocations, no data writes, no use")); 169 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, true, false, false, true, "texture_large_rgba_write_no_use", "Large RGBA texture allocations, data writes, no use")); 170 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, false, true, false, true, "texture_large_rgba_no_write_use", "Large RGBA texture allocations, no data writes, data used")); 171 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE, 512, 1024, 0, 0, true, true, false, true, "texture_large_rgba_write_use", "Large RGBA texture allocations, data writes, data used")); 172 173 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, false, false, false, true, "mixed_small_rgba_no_write_no_use", "Small RGBA mixed allocations, no data writes, no use")); 174 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, true, false, false, true, "mixed_small_rgba_write_no_use", "Small RGBA mixed allocations, data writes, no use")); 175 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, false, true, false, true, "mixed_small_rgba_no_write_use", "Small RGBA mixed allocations, no data writes, data used")); 176 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 8, 256, 64, 1*MiB, true, true, false, true, "mixed_small_rgba_write_use", "Small RGBA mixed allocations, data writes, data used")); 177 178 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, false, false, false, true, "mixed_large_rgba_no_write_no_use", "Large RGBA mixed allocations, no data writes, no use")); 179 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, true, false, false, true, "mixed_large_rgba_write_no_use", "Large RGBA mixed allocations, data writes, no use")); 180 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, false, true, false, true, "mixed_large_rgba_no_write_use", "Large RGBA mixed allocations, no data writes, data used")); 181 randomClearGroup->addChild(new MemoryStressCase(m_context.getTestContext(), m_context.getRenderContext(), MEMOBJECTTYPE_TEXTURE|MEMOBJECTTYPE_BUFFER, 512, 1024, 2*MiB, 32*MiB, true, true, false, true, "mixed_large_rgba_write_use", "Large RGBA mixed allocations, data writes, data used")); 182 183 addChild(basicClearGroup); 184 addChild(randomClearGroup); 185 } 186 187 } // Stress 188 } // gles2 189 } // deqp 190