Lines Matching refs:buffer
1169 GLchar buffer[16];
1170 sprintf(buffer, "%d", i);
1172 structVariable.append(buffer);
1342 stream << "Failed to query program for buffer variable: " << variable.m_descriptor.m_name
1734 /** Initialize buffer instance
1736 * @param buffer Buffer type
1741 void Buffer::Init(BUFFERS buffer, USAGE usage, GLsizeiptr size, GLvoid* data)
1743 /* Delete previous buffer instance */
1746 m_buffer = buffer;
1755 /** Release buffer instance
1769 /** Binds buffer to its target
1779 /** Binds indexed buffer
1790 /** Binds range of buffer
1803 /** Allocate memory for buffer and sends initial content
1816 /** Maps contents of buffer into CPU space
1829 /** Allocate memory for buffer and sends initial content
1831 * @param offset Offset in buffer
1842 /** Maps contents of buffer into CPU space
1851 /** Bind buffer to given target
1854 * @param id Id of buffer
1855 * @param buffer Buffer enum
1857 void Buffer::Bind(const Functions& gl, GLuint id, BUFFERS buffer)
1859 GLenum target = GetBufferGLenum(buffer);
1865 /** Binds indexed buffer
1868 * @param id Id of buffer
1869 * @param buffer Buffer enum
1872 void Buffer::BindBase(const Functions& gl, GLuint id, BUFFERS buffer, GLuint index)
1874 GLenum target = GetBufferGLenum(buffer);
1880 /** Binds buffer range
1883 * @param id Id of buffer
1884 * @param buffer Buffer enum
1889 void Buffer::BindRange(const Functions& gl, GLuint id, BUFFERS buffer, GLuint index, GLintptr offset, GLsizeiptr size)
1891 GLenum target = GetBufferGLenum(buffer);
1897 /** Allocate memory for buffer and sends initial content
1900 * @param buffer Buffer enum
1905 void Buffer::Data(const glw::Functions& gl, BUFFERS buffer, USAGE usage, glw::GLsizeiptr size, glw::GLvoid* data)
1907 GLenum target = GetBufferGLenum(buffer);
1914 /** Allocate memory for buffer and sends initial content
1917 * @param buffer Buffer enum
1918 * @param offset Offset in buffer
1922 void Buffer::SubData(const glw::Functions& gl, BUFFERS buffer, glw::GLintptr offset, glw::GLsizeiptr size,
1925 GLenum target = GetBufferGLenum(buffer);
1931 /** Generate buffer
1934 * @param out_id Id of buffer
1951 /** Maps buffer content
1954 * @param buffer Buffer enum
1959 void* Buffer::Map(const Functions& gl, BUFFERS buffer, ACCESS access)
1961 GLenum target = GetBufferGLenum(buffer);
1970 /** Unmaps buffer
1973 void Buffer::UnMap(const Functions& gl, BUFFERS buffer)
1975 GLenum target = GetBufferGLenum(buffer);
2009 /** Return GLenum representation of requested buffer type
2011 * @param buffer Requested buffer type
2015 GLenum Buffer::GetBufferGLenum(BUFFERS buffer)
2019 switch (buffer)
2092 /** Returns name of buffer target
2094 * @param buffer Target enum
2098 const GLchar* Buffer::GetBufferName(BUFFERS buffer)
2102 switch (buffer)
2834 * @param buf_size Size of <params> buffer
3124 * @param buf_size Size of <params> buffer
3281 /** Initialize buffer texture
3284 * @param buffer_id Id of buffer that will be used as data source
3295 /* Generate, bind and attach buffer */
3464 /** Attach buffer as source of texture buffer data
3468 * @param buffer_id Id of buffer that will be used as data source
3625 * @param pointer Pointer to data, or offset in buffer
3654 * @param pointer Pointer to data, or offset in buffer
3950 GLchar buffer[16];
3951 sprintf(buffer, "%d", array_index);
3953 name.append(buffer);
4117 storage_str = "buffer ";
4157 char buffer[16];
4158 sprintf(buffer, "[%d]", m_n_array_elements);
4160 replaceToken("ARRAY", position, buffer, definition);
5879 Utils::Buffer* buffer = pair.m_buffer;
5889 /* Get pointer to contents of buffer */
5890 buffer->Bind();
5891 GLvoid* buffer_data = buffer->Map(Utils::Buffer::ReadOnly);
5909 /* Release buffer mapping */
5910 buffer->UnMap();
6079 /** Prepare buffer according to descriptor
6081 * @param buffer Buffer to prepare
6084 void BufferTestBase::prepareBuffer(Utils::Buffer& buffer, bufferDescriptor& desc)
6099 buffer.Init(desc.m_target, Utils::Buffer::StaticDraw, size, data);
6103 buffer.BindBase(desc.m_index);
6107 buffer.Bind();
6111 /** Prepare collection of buffer
6596 GLchar buffer[16];
6597 sprintf(buffer, "%d", stage + 10);
6598 Utils::replaceToken("0u", position, buffer, verification);
6799 /** Prepare attributes, vertex array object and array buffer
6803 * @param buffer Array buffer
6807 Utils::Buffer& buffer, Utils::VertexArray& vao)
6814 /* Bind vao and buffer */
6816 buffer.Bind();
6853 /* Compute the offsets where we need to put vertex buffer data for each slot */
6864 /* Prepare buffer data and set up vao */
6907 /* Update buffer */
6908 buffer.Data(Utils::Buffer::StaticDraw, buffer_size, ptr);
7002 Utils::Buffer& buffer)
7033 buffer.Bind();
7034 buffer.Data(Utils::Buffer::StaticDraw, ssbs_stride, 0);
7042 prepareUniform(program, variable, buffer);
7105 /** Updates buffer data with variable
7109 * @param buffer Buffer
7111 void TextureTestBase::prepareUniform(Utils::Program& program, Utils::Variable& variable, Utils::Buffer& buffer)
7136 buffer.SubData(variable.m_descriptor.m_offset, variable.m_descriptor.m_expected_stride_of_element * count,
7150 Utils::Buffer& buffer)
7181 buffer.Bind();
7182 buffer.Data(Utils::Buffer::StaticDraw, uniforms_stride, 0);
7189 prepareUniform(program, variable, buffer);
8487 GLchar buffer[16];
8489 sprintf(buffer, "%d", max_transform_feedback_buffers);
8490 Utils::replaceToken("MAX_TRANSFORM_FEEDBACK_BUFFERS", position, buffer, verification);
8492 sprintf(buffer, "%d", max_transform_feedback_interleaved_components);
8493 Utils::replaceToken("MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", position, buffer, verification);
8546 GLchar buffer[16];
8548 sprintf(buffer, "%d", gohan_div);
8549 Utils::replaceToken("GOHAN_DIV", position, buffer, globals);
8551 sprintf(buffer, "%d", goten_div);
8552 Utils::replaceToken("GOTEN_DIV", position, buffer, globals);
8603 GLchar buffer[16];
8605 sprintf(buffer, "%d", m_gohan_length);
8606 Utils::replaceToken("EXPECTED_GOHAN_SUM", position, buffer, verification);
8608 sprintf(buffer, "%d", m_goten_length);
8609 Utils::replaceToken("EXPECTED_GOTEN_SUM", position, buffer, verification);
8666 "Test verifies offsets and alignment of uniform buffer members")
8734 GLchar buffer[16];
8736 sprintf(buffer, "%d", basic_size);
8737 Utils::replaceToken("BASIC_SIZE", position, buffer, globals);
8739 sprintf(buffer, "%d", type_align);
8740 Utils::replaceToken("TYPE_ALIGN", position, buffer, globals);
8742 sprintf(buffer, "%d", base_stride);
8743 Utils::replaceToken("TYPE_SIZE", position, buffer, globals);
9394 GLchar buffer[16];
9400 sprintf(buffer, "%d", offset);
9426 Utils::replaceToken("OFFSET", position, buffer, source);
9865 GLchar buffer[16];
9898 sprintf(buffer, "%d", b_offset);
9899 Utils::replaceToken("B_OFFSET", position, buffer, source);
9901 sprintf(buffer, "%d", a_offset);
9902 Utils::replaceToken("A_OFFSET", position, buffer, source);
10354 GLchar buffer[16];
10384 sprintf(buffer, "%d", alignment);
10385 Utils::replaceToken("ALIGN", position, buffer, source);
10541 : TextureTestBase(context, "uniform_block_alignment", "Test verifies offset and alignment of uniform buffer")
10638 "Test verifies offsets and alignment of storage buffer members")
10706 GLchar buffer[16];
10708 sprintf(buffer, "%d", basic_size);
10709 Utils::replaceToken("BASIC_SIZE", position, buffer, globals);
10711 sprintf(buffer, "%d", type_align);
10712 Utils::replaceToken("TYPE_ALIGN", position, buffer, globals);
10714 sprintf(buffer, "%d", base_stride);
10715 Utils::replaceToken("TYPE_SIZE", position, buffer, globals);
10857 "layout (QUALIFIERbinding = BINDING) buffer cs_Block {\n"
10874 "layout (QUALIFIERbinding = BINDING) buffer Block {\n"
10893 "layout (QUALIFIERbinding = BINDING) buffer gs_Block {\n"
10923 "layout (QUALIFIERbinding = BINDING) buffer tcs_Block {\n"
10949 "layout (QUALIFIERbinding = BINDING) buffer tes_Block {\n"
10965 "layout (QUALIFIERbinding = BINDING) buffer vs_Block {\n"
10979 GLchar buffer[16];
10990 sprintf(buffer, "%d", stage);
11025 Utils::replaceToken("BINDING", position, buffer, source);
11221 "layout (std140) buffer Block {\n"
11253 "layout (std140) buffer Block {\n"
11301 "layout (std140) buffer Block {\n"
11355 "layout (std140) buffer Block {\n"
11398 "layout (std140) buffer Block {\n"
11429 "layout (std140) buffer Block {\n"
11452 GLchar buffer[16];
11458 sprintf(buffer, "%d", offset);
11484 Utils::replaceToken("OFFSET", position, buffer, source);
11583 "layout (std140) buffer Block {\n"
11617 "layout (std140) buffer Block {\n"
11667 "layout (std140) buffer Block {\n"
11723 "layout (std140) buffer Block {\n"
11768 "layout (std140) buffer Block {\n"
11801 "layout (std140) buffer Block {\n"
11826 GLchar buffer[16];
11859 sprintf(buffer, "%d", b_offset);
11860 Utils::replaceToken("B_OFFSET", position, buffer, source);
11862 sprintf(buffer, "%d", a_offset);
11863 Utils::replaceToken("A_OFFSET", position, buffer, source);
11962 "layout (std140) buffer Block {\n"
11995 "layout (std140) buffer Block {\n"
12044 "layout (std140) buffer Block {\n"
12099 "layout (std140) buffer Block {\n"
12143 "layout (std140) buffer Block {\n"
12175 "layout (std140) buffer Block {\n"
12199 GLchar buffer[16];
12229 sprintf(buffer, "%d", alignment);
12230 Utils::replaceToken("ALIGN", position, buffer, source);
12308 : TextureTestBase(context, "ssb_alignment", "Test verifies offset and alignment of ssb buffer")
12500 GLchar buffer[16];
12507 sprintf(buffer, "%d", last_in_loc);
12508 Utils::replaceToken("LAST_INPUT", position, buffer, globals);
12510 sprintf(buffer, "%d", last_out_loc);
12511 Utils::replaceToken("LAST_OUTPUT", position, buffer, globals);
12817 /** Prepare attributes, vertex array object and array buffer
12821 * @param buffer Array buffer
12826 Utils::Buffer& buffer, Utils::VertexArray& vao)
12838 So we need to change the buffer type as GL_ELEMENT_ARRAY_BUFFER
12842 buffer.m_buffer = Utils::Buffer::Element;
12845 buffer.Bind();
12862 buffer.Data(Utils::Buffer::StaticDraw, buffer_data.size() * sizeof(GLuint), ptr);
14643 GLchar buffer[16];
14665 sprintf(buffer, "%d", last);
14697 Utils::replaceToken("LAST", position, buffer, source);
15039 GLchar buffer[16];
15047 sprintf(buffer, "%d", location);
15048 Utils::replaceToken("LOCATION", position, buffer, result);
15050 sprintf(buffer, "%d", component);
15051 Utils::replaceToken("COMPONENT", position, buffer, result);
15574 GLchar buffer[16];
15619 sprintf(buffer, "%d", test_case.m_component);
15650 Utils::replaceToken("COMPONENT", position, buffer, source);
16475 GLchar buffer[16];
16496 sprintf(buffer, "%d", test_case.m_component);
16527 Utils::replaceToken("COMPONENT", position, buffer, source);
16921 GLchar buffer[32];
17031 sprintf(buffer, " /* , component = %d */", test_case.m_component);
17033 sprintf(buffer, ", component = %d", test_case.m_component);
17065 Utils::replaceToken("COMPONENT", position, buffer, source);
20836 /** Returns buffer details in human readable form.
21143 /** Returns buffer details in human readable form.
21224 // The test considers gohan overflows the buffer 0, but according to spec, it is valid to declare the variable with qualifier "layout (xfb_offset = 16, xfb_stride = 32) out vec4 gohan;"
21471 stream << "buffer stride: 40, vec4 offset: 32";
21474 stream << "buffer stride: 32, vec4 off 16 stride: 32";
21477 stream << "buffer stride: 32, block 3xvec4 offset 0";
21480 stream << "buffer stride: 32, vec4[4] offset 16";
21701 GLchar buffer[16];
21707 sprintf(buffer, "%d", test_case.m_type.GetSize());
21740 Utils::replaceToken("SIZE", position, buffer, source);
22858 GLchar buffer[16];
22865 sprintf(buffer, "%d", test_case.m_type.GetSize());
22910 Utils::replaceToken("SIZE", position, buffer, source);
22967 /** Inspects program for offset, buffer index, buffer stride and type
23397 GLchar buffer[16];
23401 sprintf(buffer, "%d", type_size);
23403 Utils::replaceToken("SIZE", position, buffer, out_interface);
23936 GLchar buffer[16];
23946 sprintf(buffer, "%d", max_n_xfb);
23983 Utils::replaceToken("MAX_BUFFER", position, buffer, source);
24273 GLchar buffer[16];
24286 sprintf(buffer, "%d", max_n_xfb_bytes);
24323 Utils::replaceToken("MAX_SIZE", position, buffer, source);
24680 GLchar buffer[16];
24684 sprintf(buffer, "%d", type_size);
24686 Utils::replaceToken("SIZE", position, buffer, interface);
24901 Note: If xfb varying output from vertex shader, the variable "goku" will only output once to transform feedback buffer,
24903 the primitive type is line which make the variable "goku" will output twice to transform feedback buffer, so for vertex shader
25174 "Test verifies that compiler reports error when block member has different xfb_buffer qualifier than buffer")
26369 Utils::Buffer* buffer = pair.m_buffer;
26372 /* Get pointer to contents of buffer */
26373 buffer->Bind();
26374 GLubyte* buffer_data = (GLubyte*)buffer->Map(Utils::Buffer::ReadOnly);
26394 /* Release buffer mapping */
26395 buffer->UnMap();
26774 Utils::Buffer* buffer = pair.m_buffer;
26777 /* Get pointer to contents of buffer */
26778 buffer->Bind();
26779 GLubyte* buffer_data = (GLubyte*)buffer->Map(Utils::Buffer::ReadOnly);
26831 /* Release buffer mapping */
26832 buffer->UnMap();
27151 Utils::Buffer* buffer = pair.m_buffer;
27154 /* Get pointer to contents of buffer */
27155 buffer->Bind();
27156 GLubyte* buffer_data = (GLubyte*)buffer->Map(Utils::Buffer::ReadOnly);
27177 /* Release buffer mapping */
27178 buffer->UnMap();
27500 Utils::Buffer* buffer = pair.m_buffer;
27503 /* Get pointer to contents of buffer */
27504 buffer->Bind();
27505 GLubyte* buffer_data = (GLubyte*)buffer->Map(Utils::Buffer::ReadOnly);
27526 /* Release buffer mapping */
27527 buffer->UnMap();
27782 Note: If xfb varying output from vertex shader, the variable "goku" will only output once to transform feedback buffer,
27784 the primitive type is line which make the variable "goku" will output twice to transform feedback buffer, so for vertex shader
27933 char buffer[16];
27934 sprintf(buffer, "[%d]", test_case.m_array_size);
27936 Utils::replaceAllTokens("ARRAY", buffer, out_interface);
28221 Note: If xfb varying output from vertex shader, the variable "goku" will only output once to transform feedback buffer,
28223 the primitive type is line which make the variable "goku" will output twice to transform feedback buffer, so for vertex shader