Lines Matching defs:data
667 const float data[12] = { -1.0f, -1.0f, 0.0f, 1.0f, 3.0f, -1.0f, 0.0f, 1.0f, -1.0f, 3.0f, 0.0f, 1.0f };
670 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
1114 const float data[12] = { -1.0f, -1.0f, 0.0f, 1.0f, 3.0f, -1.0f, 0.0f, 1.0f, -1.0f, 3.0f, 0.0f, 1.0f };
1117 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
1226 const float data[12] = { -1.0f, -1.0f, 0.0f, 1.0f, 3.0f, -1.0f, 0.0f, 1.0f, -1.0f, 3.0f, 0.0f, 1.0f };
1229 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
2227 "layout(std430, binding = 1) coherent buffer VSint {" NL " int data[4];" NL "} g_int_out;" NL
2240 " if (atomicExchange(g_int_out.data[gl_VertexID], 1) != 0) return;" NL
2241 " if (atomicAdd(g_int_out.data[gl_VertexID], 2) != 1) return;" NL
2242 " if (atomicMin(g_int_out.data[gl_VertexID], 1) != 3) return;" NL
2243 " if (atomicMax(g_int_out.data[gl_VertexID], 2) != 1) return;" NL
2244 " if (atomicAnd(g_int_out.data[gl_VertexID], 0x1) != 2) return;" NL
2245 " if (atomicOr(g_int_out.data[gl_VertexID], 0x3) != 0) return;" NL
2246 " if (atomicXor(g_int_out.data[gl_VertexID], 0x1) != 3) return;" NL
2247 " if (atomicCompSwap(g_int_out.data[gl_VertexID], 0x2, 0x7) != 2) {" NL
2248 " g_int_out.data[gl_VertexID] = 1;" NL " return;" NL " }" NL "}";
2252 "layout(std430, binding = 2) coherent buffer GSuint {" NL " uint data[4];" NL "} g_uint_gs;" NL
2253 "layout(std430, binding = 3) coherent buffer GSint {" NL " int data[4];" NL "} g_int_gs;" NL
2256 " if (atomicExchange(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[1]) != 0u) return;" NL
2257 " if (atomicAdd(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[2]) != 1u) return;" NL
2258 " if (atomicMin(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[1]) != 3u) return;" NL
2259 " if (atomicMax(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[2]) != 1u) return;" NL
2260 " if (atomicAnd(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[3]) != 2u) return;" NL
2261 " if (atomicOr(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[4]) != 0u) return;" NL
2263 " if (atomicXor(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[5]) != 3u) return;" NL " }" NL
2264 " if (atomicCompSwap(g_uint_gs.data[gl_PrimitiveIDIn], g_uint_value[6], g_uint_value[7]) != 2u) {" NL
2265 " g_uint_gs.data[gl_PrimitiveIDIn] = 1u;" NL " return;" NL " }" NL NL
2266 " if (atomicExchange(g_int_gs.data[gl_PrimitiveIDIn], 1) != 0) return;" NL
2267 " if (atomicAdd(g_int_gs.data[gl_PrimitiveIDIn], 2) != 1) return;" NL
2268 " if (atomicMin(g_int_gs.data[gl_PrimitiveIDIn], 1) != 3) return;" NL
2269 " if (atomicMax(g_int_gs.data[gl_PrimitiveIDIn], 2) != 1) return;" NL
2270 " if (atomicAnd(g_int_gs.data[gl_PrimitiveIDIn], 0x1) != 2) return;" NL
2271 " if (atomicOr(g_int_gs.data[gl_PrimitiveIDIn], 0x3) != 0) return;" NL
2272 " if (atomicXor(g_int_gs.data[gl_PrimitiveIDIn], 0x1) != 3) return;" NL
2273 " if (atomicCompSwap(g_int_gs.data[gl_PrimitiveIDIn], 0x2, 0x7) != 2) {" NL
2274 " g_int_gs.data[gl_PrimitiveIDIn] = 1;" NL " return;" NL " }" NL "}";
2278 " uint data[4];" NL "} g_uint_fs;" NL "layout(std430, binding = 5) coherent buffer FSint {" NL
2279 " int data[4];" NL "} g_int_fs;" NL
2282 " if (atomicExchange(g_uint_fs.data[gl_PrimitiveID], g_uint_value[1]) != 0u) return;" NL
2283 " if (atomicAdd(g_uint_fs.data[gl_PrimitiveID], g_uint_value[2]) != 1u) return;" NL
2284 " if (atomicMin(g_uint_fs.data[gl_PrimitiveID], g_uint_value[1]) != 3u) return;" NL
2285 " if (atomicMax(g_uint_fs.data[gl_PrimitiveID], g_uint_value[2]) != 1u) return;" NL
2286 " if (atomicAnd(g_uint_fs.data[gl_PrimitiveID], g_uint_value[3]) != 2u) return;" NL
2287 " if (atomicOr(g_uint_fs.data[gl_PrimitiveID], g_uint_value[4]) != 0u) return;" NL
2289 " if (atomicXor(g_uint_fs.data[gl_PrimitiveID], g_uint_value[5]) != 3u) return;" NL " }" NL
2290 " if (atomicCompSwap(g_uint_fs.data[gl_PrimitiveID], g_uint_value[6], g_uint_value[7]) != 2u) {" NL
2291 " g_uint_fs.data[gl_PrimitiveID] = 1u;" NL " return;" NL " }" NL NL
2292 " if (atomicExchange(g_int_fs.data[gl_PrimitiveID], 1) != 0) return;" NL
2293 " if (atomicAdd(g_int_fs.data[gl_PrimitiveID], 2) != 1) return;" NL
2294 " if (atomicMin(g_int_fs.data[gl_PrimitiveID], 1) != 3) return;" NL
2295 " if (atomicMax(g_int_fs.data[gl_PrimitiveID], 2) != 1) return;" NL
2296 " if (atomicAnd(g_int_fs.data[gl_PrimitiveID], 0x1) != 2) return;" NL
2297 " if (atomicOr(g_int_fs.data[gl_PrimitiveID], 0x3) != 0) return;" NL
2298 " if (atomicXor(g_int_fs.data[gl_PrimitiveID], 0x1) != 3) return;" NL
2299 " if (atomicCompSwap(g_int_fs.data[gl_PrimitiveID], 0x2, 0x7) != 2) {" NL
2300 " g_int_fs.data[gl_PrimitiveID] = 1;" NL " return;" NL " }" NL "}";
2309 const int data[4] = { 0 };
2311 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
2316 const float data[] = { -0.8f, -0.8f, 0.8f, -0.8f, -0.8f, 0.8f, 0.8f, 0.8f };
2319 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
2339 /* uint data */
2341 GLuint data[4];
2343 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
2346 if (data[i] != 7)
2349 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2354 /* int data */
2356 GLint data[4];
2358 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
2361 if (data[i] != 7)
2364 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2400 " uint data[4];" NL "} g_uint_fs;" NL "layout(std430, binding = 3) coherent buffer FSint {" NL
2401 " int data[4];" NL "} g_int_fs;" NL "uniform uint g_uint_value[8];" NL "void main() {" NL
2402 " if (atomicExchange(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[1]) != 0u) return;" NL
2403 " if (atomicAdd(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[2]) != 1u) return;" NL
2404 " if (atomicMin(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[1]) != 3u) return;" NL
2405 " if (atomicMax(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[2]) != 1u) return;" NL
2406 " if (atomicAnd(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[3]) != 2u) return;" NL
2407 " if (atomicOr(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[4]) != 0u) return;" NL
2409 " if (atomicXor(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[5]) != 3u) return;" NL " }" NL
2410 " if (atomicCompSwap(g_uint_fs.data[gl_LocalInvocationIndex], g_uint_value[6], g_uint_value[7]) != 2u) "
2411 "{" NL " g_uint_fs.data[gl_LocalInvocationIndex] = 1u;" NL " return;" NL " }" NL
2412 " if (atomicExchange(g_int_fs.data[gl_LocalInvocationIndex], 1) != 0) return;" NL
2413 " if (atomicAdd(g_int_fs.data[gl_LocalInvocationIndex], 2) != 1) return;" NL
2414 " if (atomicMin(g_int_fs.data[gl_LocalInvocationIndex], 1) != 3) return;" NL
2415 " if (atomicMax(g_int_fs.data[gl_LocalInvocationIndex], 2) != 1) return;" NL
2416 " if (atomicAnd(g_int_fs.data[gl_LocalInvocationIndex], 0x1) != 2) return;" NL
2417 " if (atomicOr(g_int_fs.data[gl_LocalInvocationIndex], 0x3) != 0) return;" NL
2418 " if (atomicXor(g_int_fs.data[gl_LocalInvocationIndex], 0x1) != 3) return;" NL
2419 " if (atomicCompSwap(g_int_fs.data[gl_LocalInvocationIndex], 0x2, 0x7) != 2) {" NL
2420 " g_int_fs.data[gl_LocalInvocationIndex] = 1;" NL " return;" NL " }" NL "}";
2429 const int data[4] = { 0 };
2431 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
2440 /* uint data */
2443 GLuint* data = (GLuint*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 16, GL_MAP_READ_BIT);
2444 if (!data)
2448 if (data[i] != 7)
2451 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2457 /* int data */
2460 GLint* data = (GLint*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 16, GL_MAP_READ_BIT);
2461 if (!data)
2465 if (data[i] != 7)
2468 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2516 "};" NL "layout(std430, binding = 1) buffer TCSint {" NL " int data[1];" NL "} g_int_out;" NL
2532 " if (atomicAdd(g_int_out.data[gl_InvocationID], 3) != 0) return;" NL
2533 " if (atomicExchange(g_int_out.data[gl_InvocationID], 3) != 3) return;" NL
2534 " if (atomicMin(g_int_out.data[gl_InvocationID], 1) != 3) return;" NL
2535 " if (atomicMax(g_int_out.data[gl_InvocationID], 2) != 1) return;" NL
2536 " if (atomicAnd(g_int_out.data[gl_InvocationID], 0x1) != 2) return;" NL
2537 " if (atomicOr(g_int_out.data[gl_InvocationID], 0x3) != 0) return;" NL
2538 " if (atomicXor(g_int_out.data[gl_InvocationID], 0x1) != 3) return;" NL
2539 " if (atomicCompSwap(g_int_out.data[gl_InvocationID], 0x2, 0x7) != 2) {" NL
2540 " g_int_out.data[gl_InvocationID] = 1;" NL " return;" NL " }" NL "}";
2543 NL "layout(quads, point_mode) in;" NL "layout(std430, binding = 2) buffer TESuint {" NL " uint data[1];" NL
2544 "} g_uint_tes;" NL "layout(std430, binding = 3) buffer TESint {" NL " int data[1];" NL "} g_int_tes;" NL
2547 " if (atomicExchange(g_uint_tes.data[gl_PrimitiveID], g_uint_value[1]) != 0u) return;" NL
2548 " if (atomicAdd(g_uint_tes.data[gl_PrimitiveID], g_uint_value[2]) != 1u) return;" NL
2549 " if (atomicMin(g_uint_tes.data[gl_PrimitiveID], g_uint_value[1]) != 3u) return;" NL
2550 " if (atomicMax(g_uint_tes.data[gl_PrimitiveID], g_uint_value[2]) != 1u) return;" NL
2551 " if (atomicAnd(g_uint_tes.data[gl_PrimitiveID], g_uint_value[3]) != 2u) return;" NL
2552 " if (atomicOr(g_uint_tes.data[gl_PrimitiveID], g_uint_value[4]) != 0u) return;" NL
2554 " if (atomicXor(g_uint_tes.data[gl_PrimitiveID], g_uint_value[5]) != 3u) return;" NL " }" NL
2555 " if (atomicCompSwap(g_uint_tes.data[gl_PrimitiveID], g_uint_value[6], g_uint_value[7]) != 2u) {" NL
2556 " g_uint_tes.data[gl_PrimitiveID] = 1u;" NL " return;" NL " }" NL NL
2557 " if (atomicExchange(g_int_tes.data[gl_PrimitiveID], 1) != 0) return;" NL
2558 " if (atomicAdd(g_int_tes.data[gl_PrimitiveID], 2) != 1) return;" NL
2559 " if (atomicMin(g_int_tes.data[gl_PrimitiveID], 1) != 3) return;" NL
2560 " if (atomicMax(g_int_tes.data[gl_PrimitiveID], 2) != 1) return;" NL
2561 " if (atomicAnd(g_int_tes.data[gl_PrimitiveID], 0x1) != 2) return;" NL
2562 " if (atomicOr(g_int_tes.data[gl_PrimitiveID], 0x3) != 0) return;" NL
2563 " if (atomicXor(g_int_tes.data[gl_PrimitiveID], 0x1) != 3) return;" NL
2564 " if (atomicCompSwap(g_int_tes.data[gl_PrimitiveID], 0x2, 0x7) != 2) {" NL
2565 " g_int_tes.data[gl_PrimitiveID] = 1;" NL " return;" NL " }" NL "}";
2578 const int data[1] = { 0 };
2580 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
2585 const float data[2] = { 0.0f, 0.0f };
2588 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
2609 /* uint data */
2611 GLuint data[1];
2613 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
2616 if (data[i] != 7)
2619 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2624 /* int data */
2626 GLint data[1];
2628 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
2631 if (data[i] != 7)
2634 << data[i] << " should be 7." << tcu::TestLog::EndMessage;
2725 const float data[] = { -0.8f, -0.8f, 0.8f, -0.8f, -0.8f, 0.8f, 0.8f, 0.8f };
2728 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
2922 const float data[] = { -0.8f, -0.8f, 0.8f, -0.8f, -0.8f, 0.8f, 0.8f, 0.8f };
2925 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5098 const char* const glsl_vs = "#version 430 core" NL "layout(std430) buffer Output0 { int data; } g_output0;" NL
5100 "layout(std430) buffer Output2 { int data; } g_output2;" NL "void main() {" NL
5101 " g_output0.data = 1;" NL " g_output1 = 2;" NL " g_output2.data = 3;" NL "}";
5122 int data;
5125 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, 4, &data);
5126 if (data != 1)
5128 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 256, 4, &data);
5129 if (data != 2)
5131 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 512, 4, &data);
5132 if (data != 3)
5183 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 4, GL_MAP_READ_BIT);
5184 if (!data)
5186 if (*data != DE_LENGTH_OF_ARRAY(input_data))
5188 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Buffer data is " << *data << " should be "
5327 const float data[] = { -0.4f - 0.5f, -0.4f - 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
5332 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5336 const float data[] = { -0.4f + 0.5f, -0.4f - 0.5f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
5341 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5345 const float data[] = { -0.4f - 0.5f, -0.4f + 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
5350 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5354 const float data[] = { -0.4f + 0.5f, -0.4f + 0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
5359 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5486 const GLubyte data[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
5488 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5513 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5599 const float data[] = { -0.4f - 0.5f, -0.4f - 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
5604 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5608 const float data[] = { -0.4f + 0.5f, -0.4f - 0.5f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
5613 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5617 const float data[] = { -0.4f - 0.5f, -0.4f + 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
5622 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5626 const float data[] = { -0.4f + 0.5f, -0.4f + 0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
5631 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5743 const GLubyte data[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
5745 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
5982 const float data[] = { -1, -1, 1, -1, -1, 1, 1, 1 };
5985 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
6092 const float data[] = { -1, -1, 1, -1, 1, 1, -1, 1 };
6095 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
6110 } data[6];
6111 deMemset((void *)data, 0, sizeof(data));
6114 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6135 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
6138 vec4 p = data[i].position;
6141 if (data[i].valid != 1)
6212 const float data[] = { 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
6215 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6219 const unsigned int data[] = { 2, 3, 0, 2 };
6221 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6225 const float data[] = { -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f };
6227 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6231 const unsigned int data[] = { 3, 1, 0, 2 };
6233 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6238 const float data[] = { -0.4f, -0.4f, 0.4f, -0.4f, -0.4f, 0.4f, 0.4f, 0.4f };
6241 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
6274 const unsigned int data[] = { 3, 2, 1, 0 };
6276 glBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
6281 const unsigned int data[] = { 0, 1, 2, 3 };
6283 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6353 const float data[] = { 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
6356 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6360 const unsigned int data[] = { 2, 3, 0, 2 };
6362 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6366 const float data[] = { -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f };
6368 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6372 const unsigned int data[] = { 3, 1, 0, 2 };
6374 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6424 const unsigned int data[] = { 3, 2, 1, 0 };
6426 glBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
6431 const unsigned int data[] = { 0, 1, 2, 3 };
6433 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_DRAW);
6537 const float data[4][2] = { { -0.5f, -0.5f }, { 0.5f, -0.5f }, { -0.5f, 0.5f }, { 0.5f, 0.5f } };
6542 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data[i]), data[i], GL_DYNAMIC_DRAW);
6547 const float data[4][4] = { { 1.0f, 0.0f, 0.0f, 0.0f },
6554 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data[i]), data[i], GL_DYNAMIC_DRAW);
6560 const float data[] = { -0.4f, -0.4f, 0.4f, -0.4f, -0.4f, 0.4f, 0.4f, 0.4f };
6563 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
6692 const float data[4][3] = {
6699 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data[i]), data[i], GL_DYNAMIC_DRAW);
6713 const float* expected = &data[1][0];
6734 expected = &data[3][0];
6821 const float data[] = { -1, -1, 1, -1, -1, 1, 1, 1 };
6824 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
6908 GLint data[128 * 4];
6911 data[i * 4] = i + 256;
6912 data[i * 4 + 1] = 0;
6913 data[i * 4 + 2] = 0;
6914 data[i * 4 + 3] = 0;
6916 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), &data[0], GL_DYNAMIC_DRAW);
6921 GLint* out_data = (GLint*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), GL_MAP_READ_BIT);
6926 if (out_data[i * 4 + 3] != data[i * 4])
6930 << ", but expected: " << data[i * 4] << " -> " << out_data[i * 4 + 1] << " -> "
6938 data[i * 4] = i + 512;
6939 data[i * 4 + 1] = 0;
6940 data[i * 4 + 2] = 0;
6941 data[i * 4 + 3] = 0;
6943 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), &data[0], GL_DYNAMIC_DRAW);
6947 out_data = (GLint*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), GL_MAP_READ_BIT);
6952 if (out_data[i * 4 + 3] != data[i * 4])
6956 << ", but expected: " << data[i * 4] << tcu::TestLog::EndMessage;
7025 mat4 data[] = { Translation(-0.5f, -0.5f, 0.0f), Translation(0.5f, -0.5f, 0.0f),
7028 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
7032 vec4 data[] = { vec4(1, 0, 0, 1), vec4(0, 1, 0, 1), vec4(0, 0, 1, 0), vec4(1, 1, 0, 1) };
7034 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
7038 int data[] = { 0, 1, 2, 3 };
7040 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
7048 } data[] = { { vec2(-0.4f, -0.4f), 0 }, { vec2(0.4f, -0.4f), 0 }, { vec2(-0.4f, 0.4f), 0 },
7056 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
7134 " int inc, data;" NL "} g_buffer12[2];" NL NL "void Modify(int path) {" NL " if (path == 0) {" NL
7138 " }" NL NL " if (path == 0) {" NL " g_buffer12[0].data += g_buffer12[1].inc;" NL
7139 " } else if (path == 1) {" NL " g_buffer12[1].data += g_buffer12[0].inc;" NL " }" NL "}" NL NL
7143 NL "layout(binding = 3, std430) coherent buffer Buffer3 {" NL " int data;" NL "} g_buffer3;" NL
7146 " int inc, data;" NL "} g_buffer56[2];" NL NL "void ModifyFS(int path) {" NL " if (path == 0) {" NL
7151 " }" NL NL " if (path == 0) {" NL " g_buffer56[0].data += g_buffer56[1].inc;" NL
7152 " } else if (path == 1) {" NL " g_buffer56[1].data += g_buffer56[0].inc;" NL " }" NL "}" NL
7153 "void main() {" NL " atomicAdd(g_buffer3.data, 1);" NL " ModifyFS(gl_PrimitiveID);" NL "}";
7165 int data[4] = { 0, 1, 0, 2 };
7167 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7171 int data[2] = { 3, 1 };
7173 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7177 int data[2] = { 2, 4 };
7179 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7183 int data[1] = { 0 };
7185 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7189 int data[4] = { 0, 1, 0, 2 };
7191 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7195 int data[2] = { 3, 1 };
7197 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7201 int data[2] = { 2, 4 };
7203 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7218 int data[4];
7220 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7223 if (data[i] != ref_data[i])
7226 << tcu::TestLog::Message << "[Buffer0] Data at index " << i << " is " << data[i]
7235 int data[2];
7237 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7240 if (data[i] != ref_data[i])
7243 << tcu::TestLog::Message << "[Buffer1] Data at index " << i << " is " << data[i]
7252 int data[2];
7254 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7257 if (data[i] != ref_data[i])
7260 << tcu::TestLog::Message << "[Buffer2] Data at index " << i << " is " << data[i]
7269 int data[1];
7271 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7274 if (data[i] != ref_data[i])
7277 << tcu::TestLog::Message << "[Buffer3] Data at index " << i << " is " << data[i]
7286 int data[4];
7288 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7291 if (data[i] != ref_data[i])
7294 << tcu::TestLog::Message << "[Buffer4] Data at index " << i << " is " << data[i]
7303 int data[2];
7305 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7308 if (data[i] != ref_data[i])
7311 << tcu::TestLog::Message << "[Buffer5] Data at index " << i << " is " << data[i]
7320 int data[2];
7322 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7325 if (data[i] != ref_data[i])
7328 << tcu::TestLog::Message << "[Buffer6] Data at index " << i << " is " << data[i]
7365 "layout(std430, binding = 1) buffer Buffer12 {" NL " int inc, data;" NL "} g_buffer12[2];" NL
7366 "layout(binding = 3, std430) coherent buffer Buffer3 {" NL " int data;" NL "} g_buffer3;" NL
7369 " int inc, data;" NL "} g_buffer56[2];" NL NL "void Modify1(int path) {" NL " if (path == 0) {" NL
7373 " }" NL " if (path == 0) {" NL " g_buffer12[0].data += g_buffer12[1].inc;" NL
7374 " } else if (path == 1) {" NL " g_buffer12[1].data += g_buffer12[0].inc;" NL " }" NL "}" NL NL
7380 " }" NL " if (path == 0) {" NL " g_buffer56[0].data += g_buffer56[1].inc;" NL
7381 " } else if (path == 1) {" NL " g_buffer56[1].data += g_buffer56[0].inc;" NL " }" NL "}" NL NL
7382 "void main() {" NL " Modify1(int(gl_WorkGroupID.z));" NL " atomicAdd(g_buffer3.data, 1);" NL
7394 int data[4] = { 0, 1, 0, 2 };
7396 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7400 int data[2] = { 3, 1 };
7402 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7406 int data[2] = { 2, 4 };
7408 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7412 int data[1] = { 0 };
7414 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7418 int data[4] = { 0, 1, 0, 2 };
7420 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7424 int data[2] = { 3, 1 };
7426 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7430 int data[2] = { 2, 4 };
7432 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7447 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 16, GL_MAP_READ_BIT);
7448 if (!data)
7452 if (data[i] != ref_data[i])
7455 << tcu::TestLog::Message << "[Buffer0] Data at index " << i << " is " << data[i]
7466 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 8, GL_MAP_READ_BIT);
7467 if (!data)
7471 if (data[i] != ref_data[i])
7474 << tcu::TestLog::Message << "[Buffer1] Data at index " << i << " is " << data[i]
7485 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 8, GL_MAP_READ_BIT);
7486 if (!data)
7490 if (data[i] != ref_data[i])
7493 << tcu::TestLog::Message << "[Buffer2] Data at index " << i << " is " << data[i]
7504 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 4, GL_MAP_READ_BIT);
7505 if (!data)
7509 if (data[i] != ref_data[i])
7512 << tcu::TestLog::Message << "[Buffer3] Data at index " << i << " is " << data[i]
7523 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 16, GL_MAP_READ_BIT);
7524 if (!data)
7528 if (data[i] != ref_data[i])
7531 << tcu::TestLog::Message << "[Buffer4] Data at index " << i << " is " << data[i]
7542 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 8, GL_MAP_READ_BIT);
7543 if (!data)
7547 if (data[i] != ref_data[i])
7550 << tcu::TestLog::Message << "[Buffer5] Data at index " << i << " is " << data[i]
7561 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 8, GL_MAP_READ_BIT);
7562 if (!data)
7566 if (data[i] != ref_data[i])
7569 << tcu::TestLog::Message << "[Buffer6] Data at index " << i << " is " << data[i]
7629 int data[4] = { 3, 5 };
7631 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7635 int data[1] = { 0 };
7637 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7649 int data[4];
7651 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7654 if (data[i] != ref_data[i])
7657 << tcu::TestLog::Message << "[Buffer0] Data at index " << i << " is " << data[i]
7666 int data[1];
7668 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7671 if (data[i] != ref_data[i])
7674 << tcu::TestLog::Message << "[Buffer1] Data at index " << i << " is " << data[i]
7726 int data[4] = { 3, 5 };
7728 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7732 int data[1] = { 0 };
7734 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7745 int* data = (int*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 16, GL_MAP_READ_BIT);
7746 if (!data)
7750 if (data[i] != ref_data[i])
7753 << tcu::TestLog::Message << "[Buffer0] Data at index " << i << " is " << data[i]
7797 "layout(std430, binding = 1) readonly buffer Input1 {" NL " int data[];" NL "} g_input1;" NL
7798 "layout(std430, binding = 2) readonly buffer Input23 {" NL " int data[];" NL "} g_input23[2];" NL
7800 "void main() {" NL " g_length[0] = g_input0.length();" NL " g_length[1] = g_input1.data.length();" NL
7801 " g_length[2] = g_input23[0].data.length();" NL " g_length[3] = g_input23[1].data.length();" NL
7814 int data[7] = { 1, 2, 3, 4, 5, 6, 7 };
7816 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7820 int data[5] = { 1, 2, 3, 4, 5 };
7822 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7826 int data[3] = { 1, 2, 3 };
7828 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7832 int data[4] = { 1, 2, 3, 4 };
7834 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7838 int data[5] = { 0 };
7840 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_DYNAMIC_COPY);
7852 int data[5];
7854 glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), data);
7856 if (data[0] != 7)
7858 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Array 0 length is " << data[0]
7862 if (data[1] != 5)
7864 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Array 1 length is " << data[1]
7868 if (data[2] != 3)
7870 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Array 2 length is " << data[2]
7874 if (data[3] != 4)
7876 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Array 3 length is " << data[3]
7880 if (data[4] != 4)
7882 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Array 4 length is " << data[4]
7972 " data[];" NL "} g_input1;" NL "layout(binding = 2) readonly buffer Input23 {" +
7974 " data[];" NL "} g_input23[2];" NL "layout(binding = 4) buffer Output0 {" +
7976 " data[];" NL "} g_output0;" NL "layout(binding = 5) readonly buffer Input4 {" +
7978 " data[];" NL "} g_input4;" NL "layout(binding = 6) buffer Output1 {" +
7980 " data[];" NL "} g_output1;" NL "layout(std430, binding = 7) buffer Output {" NL
7984 NL " g_length[0] = g_input0.length();" NL " g_length[1] = g_input1.data.length();" NL
7985 " g_length[2] = g_input23[0].data.length();" NL " g_length[3] = g_input23[1].data.length();" NL
7986 " g_length[4] = g_output0.data.length();" NL " g_length[5] = g_input4.data.length();" NL
7987 " g_length[6] = g_output1.data.length();";
7990 NL " g_output0.data[g_output0.data.length()-2] += g_output0.data[g_output0.data.length()-1];" NL
7991 " g_output1.data[g_output1.data.length()-2] += g_output1.data[g_output1.data.length()-1];";
8067 std::vector<ivec4> data(kSize, ivec4(41));
8094 glBufferData(GL_SHADER_STORAGE_BUFFER, bufsize[i][0], &data[0], GL_DYNAMIC_COPY);
8099 glBufferData(GL_SHADER_STORAGE_BUFFER, bufsize[i][0], &data[0], GL_DYNAMIC_COPY);
8543 float data[48 + 16 + 12 + 16] = {
8549 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
8553 float data[16] = {
8557 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
8561 float data[8] = { -0.4f, -0.4f, 0.4f, -0.4f, -0.4f, 0.4f, 0.4f, 0.4f };
8564 glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW);
8640 GLfloat data[16 + 16 + 16];
8642 data[i] = 0.0f;
8644 data[i] = (GLfloat)i;
8645 glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(data), &data[0], GL_DYNAMIC_DRAW);
8652 GLfloat* out_data = (GLfloat*)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, sizeof(data), GL_MAP_READ_BIT);