[Mesa-dev] Regressions due to commit 1afe3359258

Marek Olšák maraeo at gmail.com
Fri Apr 18 08:52:37 PDT 2014


This has nothing to do with geometry shaders. AFAIK, rendering without
vertex data is allowed no matter what shaders you have. One can fetch
or generate vertex data using gl_VertexID only.

Marek

On Fri, Apr 18, 2014 at 5:46 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On 04/18/2014 12:09 AM, Ilia Mirkin wrote:
>> Hi Ken,
>>
>> I just did a bisect looking for the failure that's causing a few
>> gs-related piglits to fail on nv50, and it came up with the below. Any
>> ideas? Here are the tests that are failing:
>>
>> tests/spec/glsl-1.50/execution/geometry/clip-distance-out-values.shader_test
>> tests/spec/glsl-1.50/execution/geometry/max-input-components.shader_test
>> tests/spec/glsl-1.50/execution/geometry/point-size-out.shader_test
>> tests/spec/glsl-1.50/execution/geometry/primitive-id-out.shader_test
>> tests/spec/glsl-1.50/execution/gs-redeclares-both-pervertex-blocks.shader_test
>> tests/spec/glsl-1.50/execution/interface-vs-named-to-gs-array.shader_test
>> tests/spec/glsl-1.50/execution/redeclare-pervertex-out-subset-gs.shader_test
>> tests/spec/glsl-1.50/execution/redeclare-pervertex-subset-vs-to-gs.shader_test
>>
>> 1afe3359258a9e89b62c8638761f52d78f6d1cbc is the first bad commit
>> commit 1afe3359258a9e89b62c8638761f52d78f6d1cbc
>> Author: Kenneth Graunke <kenneth at whitecape.org>
>> Date:   Thu Mar 20 11:53:16 2014 -0700
>>
>>     mesa: In core profile, refuse to draw unless a VAO is bound.
>>
>>     Core profile requires a non-default VAO to be bound.  Currently, calls
>>     to glVertexAttribPointer raise INVALID_OPERATION unless a VAO is bound,
>>     and we never actually get any vertex data set.  Trying to draw without
>>     any vertex data can only cause problems.  In i965, it causes a crash.
>>
>>     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76400
>>     Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
>>     Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
>>     Cc: mesa-stable at lists.freedesktop.org
>>
>> Reverting this commit on top of master makes it work again. I have no
>> idea whether it's the tests/piglit infra that are wrong, or if it's
>> the commit that's wrong, but wanted to raise the issue. This still
>> happens with the (almost-)latest piglit (latest doesn't compile due to
>> EGL stuff...)
>>
>> Let me know if you'd like any additional info.
>>
>> Thanks,
>>
>>   -ilia
>
> Yeah, we're seeing those too.  I believe the commit is wrong: with
> geometry shaders, you can just generate vertices using a GS program and
> not actually ever upload any vertex data.  At which point, you probably
> don't need a VAO.  I haven't double checked the rules, though.
>
> Feel free to revert it.
>
> I also wonder whether we should drop the non-default-VAO requirement.
> ES 3.0 doesn't require it, so I wonder if ARB_ES3_compatibility implies
> we should drop it from API_OPENGL_CORE as well.  If not, it still might
> be worth creating an always-on GL extension that provides the default
> VAO again.  We get quite a few bug reports about people's apps not
> working because they were trying to use the default VAO (which
> apparently nVidia allows).
>
> --Ken
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>


More information about the mesa-dev mailing list