<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - UBO matrix in std140 struct does not work"
href="https://bugs.freedesktop.org/show_bug.cgi?id=82586">82586</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>UBO matrix in std140 struct does not work
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Reporter</th>
<td>pavol@klacansky.com
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/Gallium/r600
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr></table>
<p>
<div>
<pre>I am not sure if the problem is actually in my code, but I tested it on nVidia
driver and it worked (but their compiler might have a fix for it internally).
Here is vertex shader:
#version 330
layout(location = 0) in vec4 position;
layout(std140) uniform Matrices {
mat4 model;
mat4 view;
mat4 projection;
} matrices;
out gl_PerVertex {
vec4 gl_Position;
};
/* interpolate to compute normal in fragment shader */
out vec3 v_position;
void main(void)
{
v_position = vec3(matrices.view * matrices.model * position);
gl_Position = matrices.projection * matrices.view * matrices.model *
position;
}
If I use only one matrix from the uniform it works. I have printed UBOs values
and they are just identity matrices.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>