<div dir="ltr">On 18 February 2013 07:53, Michel Dänzer <span dir="ltr"><<a href="mailto:michel@daenzer.net" target="_blank">michel@daenzer.net</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>On Don, 2013-02-14 at 08:50 -0800, Paul Berry wrote:<br>
> Previously, both shader_runner and glslparsertest contained switch<br>
> statements that attempted to choose a GL version for testing based on<br>
> a GLSL version requirement, and those switch statements didn't choose<br>
> a GL version very accurately (for example, they converted GLSL version<br>
> 1.50 to GL version 3.1, which doesn't work).<br>
><br>
> This patch replaces the switch statements with a single common<br>
> function (in piglit-util-gl-common) that does the right thing.<br>
<br>
</div>This change caused quick-driver.tests to skip more than 2000 tests on<br>
radeonsi (GL 2.1, GLSL 1.2). Almost all of the skipped tests were<br>
previously passing.<br>
<br>
Was this intended?<br></blockquote><div><br></div><div>No, this wasn't expected, and probably indicates a bug in the driver.<br><br>The specific behavioural change in Piglit is that previously, when running a test that required GLSL 1.20, Piglit would request (via Waffle) a GL 1.0 context.  Then it would query the context to see if it supported GLSL 1.20.  After this patch, when running a test that requires GLSL 1.20, Piglit requests a GL 2.1 context, and then skips if a GL 2.1 context can't be created.  On an implementation that supports GL 2.1 and GLSL 1.20, both methods should yield the same results.<br>
<br></div><div>Note that there is code in core Mesa to determine, after context creation, which versions of GL and GLSL are supported.  But at the time of context creation, it is the responsibility of driver-specific code to determine whether the requested context version is supported (see, for instance, validate_context_version() in src/mesa/drivers/dri/intel/intel_context.c).  This patch caused piglit to base its decision for whether to skip on the driver-specific code rather than the core Mesa code, so if there was a lurking bug in the driver-specific code, this patch would have exposed it.<br>
<br></div><div>So my suspicion is that there's a bug in the driver-specific context creation code causing it to incorrectly reject requests for GL 2.1 contexts.  Can you check if that's what's happening?  I don't know my way around the radeon context creation code well enough to check it myself.</div>
</div></div></div>