<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Khronos conformance test ES3-CTS.shaders.struct.uniform.sampler_nested_vertex assert fails"
href="https://bugs.freedesktop.org/show_bug.cgi?id=79085#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Khronos conformance test ES3-CTS.shaders.struct.uniform.sampler_nested_vertex assert fails"
href="https://bugs.freedesktop.org/show_bug.cgi?id=79085">bug 79085</a>
from <span class="vcard"><a class="email" href="mailto:neil@linux.intel.com" title="Neil Roberts <neil@linux.intel.com>"> <span class="fn">Neil Roberts</span></a>
</span></b>
<pre>I had a quick look at this with GDB but I don't yet know the code well enough
to diagnose it properly. The shader is creating a uniform with a nested struct.
It looks like the problem is caused in vec4_visitor::pack_uniform_registers. It
allocates some variable-length arrays to store a new location for some uniforms
and the size of the arrays is this->uniforms, which in this case is 3. The
arrays are indexed with src.reg from the instruction but in this case the
src.reg value for one of the instructions is 3 so it reads and writes off the
end of the arrays.
One of the members of the nested struct is a sampler2D. I think this causes
this->uniforms to have the wrong value. this->uniforms is calculated in
vec4_visitor::setup_uniform_values. However it doesn't increment for the
sampler variable because the vector_count is zero as a result of
storage->type->matrix_columns also being zero.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>