[Mesa-dev] Regressions due to commit 1afe3359258
Kenneth Graunke
kenneth at whitecape.org
Fri Apr 18 08:46:00 PDT 2014
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140418/db98b6e1/attachment-0001.sig>
More information about the mesa-dev
mailing list