Add new compute negative coverage tests am: db4a886f3f
[platform/upstream/VK-GL-CTS.git] / modules / gles2 / stress / es2sMemoryTests.cpp
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program OpenGL ES 2.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 "es2sMemoryTests.hpp"
25
26 #include "glsMemoryStressCase.hpp"
27 #include "deRandom.hpp"
28 #include "tcuTestLog.hpp"
29
30 #include <vector>
31 #include <iostream>
32
33 using std::vector;
34 using tcu::TestLog;
35
36 using namespace deqp::gls;
37
38 namespace deqp
39 {
40 namespace gles2
41 {
42 namespace Stress
43 {
44
45 MemoryTests::MemoryTests (Context& testCtx)
46         : TestCaseGroup(testCtx, "memory", "Memory stress tests")
47 {
48 }
49
50 MemoryTests::~MemoryTests(void)
51 {
52 }
53
54 void MemoryTests::init (void)
55 {
56         const int MiB = 1024*1024;
57
58         // Basic tests
59         tcu::TestCaseGroup* basicGroup = new TestCaseGroup(m_context, "basic", "Basic allocation stress tests.");
60
61         // Buffers
62         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"));
63         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"));
64         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"));
65         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"));
66
67         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"));
68         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"));
69         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"));
70         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"));
71
72         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"));
73         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"));
74         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"));
75         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"));
76
77         // Textures
78         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"));
79         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"));
80         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"));
81         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"));
82
83         // Random tests
84         tcu::TestCaseGroup*     randomGroup = new TestCaseGroup(m_context, "random", "Random allocation stress tests.");
85
86         // Buffers
87         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"));
88         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"));
89         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"));
90         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"));
91
92         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"));
93         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"));
94         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"));
95         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"));
96
97         // Textures
98         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"));
99         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"));
100         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"));
101         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"));
102
103         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"));
104         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"));
105         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"));
106         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"));
107
108         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"));
109         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"));
110         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"));
111         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"));
112
113         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"));
114         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"));
115         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"));
116         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"));
117
118         addChild(basicGroup);
119         addChild(randomGroup);
120
121         // Basic tests with clear
122         tcu::TestCaseGroup* basicClearGroup     = new TestCaseGroup(m_context, "basic_clear", "Basic allocation stress tests with glClear after OOM.");
123
124         // Buffers
125         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"));
126         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"));
127         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"));
128         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"));
129
130         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"));
131         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"));
132         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"));
133         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"));
134
135         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"));
136         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"));
137         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"));
138         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"));
139
140         // Textures
141         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"));
142         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"));
143         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"));
144         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"));
145
146         // Random tests
147         tcu::TestCaseGroup*     randomClearGroup = new TestCaseGroup(m_context, "random_clear", "Random allocation stress tests with glClear after OOM.");
148
149         // Buffers
150         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"));
151         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"));
152         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"));
153         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"));
154
155         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"));
156         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"));
157         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"));
158         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"));
159
160         // Textures
161         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"));
162         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"));
163         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"));
164         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"));
165
166         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"));
167         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"));
168         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"));
169         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"));
170
171         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"));
172         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"));
173         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"));
174         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"));
175
176         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"));
177         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"));
178         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"));
179         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"));
180
181         addChild(basicClearGroup);
182         addChild(randomClearGroup);
183 }
184
185 } // Stress
186 } // gles2
187 } // deqp