On Wed, Jun 3, 2015 at 5:29 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > On Wednesday, June 03, 2015 11:35:43 PM Bish, Jim wrote: >> For BDW and newer hardware, vertex shaders can be dispatched >> using simd8 scalars, but when spills occur performance will >> be impacted. >> >> Fixes spec@glsl-1.10@execution@varying-packing@simple by falling back >> to vec4x2 dispatch. There is another issue with simd8 dispatch which >> will be addressed later. >> >> Bugzill : https://bugs.freedesktop.org/show_bug.cgi?id=89055 > > Hi Jim, > > That link appears to be a Skylake display bug - presumably you meant > this one? > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89786 > > Based on Neil's comments, it sounds like there's a bug in the SIMD8 > backend's register spilling code, which is worth fixing. This seems > to paper over that by not using SIMD8 mode. I'd rather not do that. > > I'm happy to consider falling back to SIMD4x2 when spilling, for better > performance - it certainly seems reasonable - but we should obtain some > performance data showing that an application benefits from that change.
Indeed, this is something we've talked about before, but it's never been clear that it would be a win. There are also some unsolved problems with that approach, like Ken mentioned. I ran the patch through our Jenkins CI system and while it does fix 26 tests on BDW, it causes an assertion failure in tests/spec/glsl-1.30/execution/varying-packing-mixed-types.shader_test: shader_runner: ../../../../../../mesa/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp:1071: virtual void brw::vec4_visitor::visit(ir_variable*): Assertion `this->uniforms < uniform_array_size' failed. I ran the patch through shader-db, and there were no changes, but that's because we have no vertex shaders that spill. Until we have vertex shaders that spill, I don't think figuring out how to fall back to vec4 and generate reasonable code is particularly compelling. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev