What steps will reproduce the problem?
1. Create the following vertex shader:
attribute vec4 vPosition;
attribute vec4 vDisabled;
void main() {
gl_Position = vPosition + vDisabled;
}
2. Configure as:
glBindAttribLocation(program, 0, "vPosition");
glBindAttribLocation(program, 1, "vDisabled");
// Leave vDisabled disabled
glVertexAttrib4f(1, 0.0, 0.0, 0.0, 0.0);
3. Issue two or more calls to glDrawArrays / glDrawElements between calls to
swapBuffers.
What is the expected output? What do you see instead?
This code should draw without issue, and works fine on Linux/mesa.
Instead, the first draw call succeeds, the drawn figure stays onscreen for a
few seconds, and then all subsequent drawing operations except glClear appear
to have no effect.
What version of the product are you using? On what operating system?
SVN r1243, Windows 7 x86.
Please provide any additional information below.
The same behavior occurs when access to the disabled attribute is prevented by
a uniform set to false [though not when guarded by if (false)]), and regardless
of whether glVertexAttrib4f is invoked. Switching the attribute location
bindings around prevents the issue. No GL error is generated.
Attached is a modified version of the Hello_Triangle example that triggers the
bug.
Original issue reported on code.google.com by chao...@gmail.com on 31 Jul 2012 at 9:51
Original issue reported on code.google.com by
chao...@gmail.com
on 31 Jul 2012 at 9:51Attachments: