<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Samplers referring to the same texture unit with different types should raise GL_INVALID_OPERATION"
href="https://bugs.freedesktop.org/show_bug.cgi?id=97524#c15">Comment # 15</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Samplers referring to the same texture unit with different types should raise GL_INVALID_OPERATION"
href="https://bugs.freedesktop.org/show_bug.cgi?id=97524">bug 97524</a>
from <span class="vcard"><a class="email" href="mailto:t_arceri@yahoo.com.au" title="Timothy Arceri <t_arceri@yahoo.com.au>"> <span class="fn">Timothy Arceri</span></a>
</span></b>
<pre>(In reply to Nicolai Hähnle from <a href="show_bug.cgi?id=97524#c10">comment #10</a>)
<span class="quote">> I can reproduce this now. It really seems like this should be fixed in Mesa
> main, though: there is already code that checks for this condition when it
> affects a single program stage (in _mesa_update_shader_textures_used) and
> when it affects a SSO pipeline (in
> _mesa_sampler_uniforms_pipeline_are_valid). This code needs to be hooked
> into the non-SSO case as well.</span >
It looks like its hooked up ok the _mesa_update_shader_textures_used() function
just doesn't do what it should.
It needs to be looping over the other stages attached to the gl_shader_program
each time it is called and setting SamplersValidated accordingly.
In its current form we could fail to throw an error when two shaders have a
different types at the same texture unit as in the attached program and I
believe also when the Vertex shader has two conflicting types but the fragment
shader is ok, since the SamplersValidated flag will be overwritten before we
check it.
We obviously need some more piglit tests for this. Looking at the history this
may have regressed somewhat with 953a0af8e3f73</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>