Overview

Hardware bdw
Architecture m64
Status fail
Filtered Status fail
Time 0.026624

See also historical results for this test.

stdout

Shader Storage Block Test
Verify that the set of tested functions glGetProgram* return
expected results when used to get data from program
made of compute shader different types of storage blocks used.
 Purpose is to verify calls using GL_BUFFER_VARIABLE and GL_SHADER_STORAGE_BLOCK as an interface params.
Create a program using compute shader different types of storage blocks used
then use set of tested functions to get an information about it and
verify that information with the expected data.
All called functions return expected values.
glCreateProgram();
// 2127 returned
glCreateShader(GL_COMPUTE_SHADER);
// 2128 returned
glAttachShader(2127, 2128);
glDeleteShader(2128);
glShaderSource(2128, 2, 0x00007ffe48710fd0, 0x0000000000000000);
glCompileShader(2128);
glLinkProgram(2127);
glGetProgramiv(2127, GL_LINK_STATUS, 0x00007ffe48710094);
// params = { 1 }
glUseProgram(2127);
glGetProgramInterfaceiv(2127, 0x000092e5, 0x000092f6, 0x00007ffe48710e6c);
glGetProgramInterfaceiv(2127, 0x000092e5, 0x000092f5, 0x00007ffe48712214);
glGetProgramInterfaceiv(2127, 0x000092e6, 0x000092f5, 0x00007ffe48710e6c);
glGetProgramInterfaceiv(2127, 0x000092e6, 0x000092f6, 0x00007ffe48710e6c);
glGetProgramResourceIndex(2127, GL_SHADER_STORAGE_BLOCK, SimpleBuffer);
// 4 returned
glGetProgramResourceIndex(2127, GL_SHADER_STORAGE_BLOCK, NotSoSimpleBuffer);
// 0 returned
glGetProgramResourceIndex(2127, GL_SHADER_STORAGE_BLOCK, TrickyBuffer);
// 2 returned
glGetProgramResourceIndex(2127, GL_SHADER_STORAGE_BLOCK, TrickyBuffer[1]);
// 3 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, a);
// 5 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, b);
// 4 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, c);
// 3 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, NotSoSimpleBuffer.a[0]);
// 0 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, NotSoSimpleBuffer.c);
// 2 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, NotSoSimpleBuffer.b[0]);
// 1 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, TrickyBuffer.a[0].b[0].d);
// 13 returned
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, TrickyBuffer.b);
// 4294967295 returned
ERROR: Got 4294967295, expected number other than -1
glGetProgramResourceIndex(2127, GL_BUFFER_VARIABLE, TrickyBuffer.c);
// 4294967295 returned
ERROR: Got 4294967295, expected number other than -1
glGetProgramResourceName(2127, 0x000092e6, 4, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e6, 0, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e6, 2, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e6, 3, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 5, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 4, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 3, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 0, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 2, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 1, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 13, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
glGetProgramResourceName(2127, 0x000092e5, 0, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
ERROR: Got NotSoSimpleBuffer.a[0], expected TrickyBuffer.b
glGetProgramResourceName(2127, 0x000092e5, 0, 1024, 0x00007ffe487108ec, 0x00007ffe487108f0);
ERROR: Got NotSoSimpleBuffer.a[0], expected TrickyBuffer.c
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 4, 6, { GL_NAME_LENGTH, GL_BUFFER_BINDING, GL_NUM_ACTIVE_VARIABLES, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 6 }
// params = { 13, 0, 3, 1, 0, 0 }
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 0, 5, { GL_NAME_LENGTH, GL_BUFFER_BINDING, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 5 }
// params = { 18, 1, 1, 0, 0 }
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 2, 5, { GL_NAME_LENGTH, GL_BUFFER_BINDING, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 5 }
// params = { 16, 4, 1, 0, 0 }
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 3, 5, { GL_NAME_LENGTH, GL_BUFFER_BINDING, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 5 }
// params = { 16, 5, 1, 0, 0 }
glGetProgramResourceiv(2127, GL_BUFFER_VARIABLE, 5, 11, { GL_NAME_LENGTH, GL_TYPE, GL_ARRAY_SIZE, GL_BLOCK_INDEX, GL_ARRAY_STRIDE, GL_IS_ROW_MAJOR, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER, GL_TOP_LEVEL_ARRAY_SIZE, GL_TOP_LEVEL_ARRAY_STRIDE }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 11 }
// params = { 2, 35687, 1, 4, 0, 0, 1, 0, 0, 1, 0 }
glGetProgramResourceiv(2127, GL_BUFFER_VARIABLE, 13, 10, { GL_NAME_LENGTH, GL_TYPE, GL_ARRAY_SIZE, GL_BLOCK_INDEX, GL_MATRIX_STRIDE, GL_IS_ROW_MAJOR, GL_REFERENCED_BY_COMPUTE_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_REFERENCED_BY_VERTEX_SHADER, GL_TOP_LEVEL_ARRAY_SIZE }, 1000, 0x00007ffe48710cbc, 0x00007ffe4870fd10);
// length = { 10 }
// params = { 28, 5126, 2, 2, 0, 0, 1, 0, 0, 3 }
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 4, 1, { GL_ACTIVE_VARIABLES }, 1000, 0x00007ffe48712028, 0x00007ffe48711080);
// length = { 3 }
// params = { 5, 4, 3 }
glGetProgramResourceiv(2127, GL_SHADER_STORAGE_BLOCK, 0, 1, { GL_ACTIVE_VARIABLES }, 1000, 0x00007ffe48712028, 0x00007ffe48711080);
// length = { 3 }
// params = { 0, 1, 2 }
glGetProgramInterfaceiv(2127, 0x000092e6, 0x000092f7, 0x00007ffe48712214);
glDeleteProgram(2127);
Test Run() failed
glUseProgram(0);

stderr

pid: 16543