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
MemoryTests(Context & testCtx)47 MemoryTests::MemoryTests (Context& testCtx)
48 : TestCaseGroup(testCtx, "memory", "Memory stress tests")
49 {
50 }
51
~MemoryTests(void)52 MemoryTests::~MemoryTests(void)
53 {
54 }
55
init(void)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