Created attachment 69227 [details] full backtrace firefox: brw_fs_reg_allocate.cpp:415: bool fs_visitor::assign_regs(): Předpoklad „this->virtual_grf_sizes[i] >= 1 && this->virtual_grf_sizes[i] <= 4 && "Register allocation relies on split_virtual_grfs()"“ nesplněn. https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/samplers/glsl-function-texture2d-bias.html Full backtrace attached. Firefox: 16.0.1 OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset OpenGL version string: 2.1 Mesa 9.1-devel (git-96ed6c9) Kernel: 3.6.2-4.fc17.x86_64 xf86-veideo-intel: f4c32af48b0c92a48131090886a6a6b6c45dbe34 (sna enabled)
Almost three dozens of piglit tests are also affected by this (for example glsl-fs-texture2d-bias, glsl-fs-texturelod-01, tex_grad-04.frag, glsl-fs-shadow2DGradARB-01 and much more). 9.0 works fine, so I did try git bisect and this is what showed up: commit 5d90b988791e51cfb6413109271ad102fd7a304c Author: Eric Anholt <eric@anholt.net> Date: Mon Oct 1 16:39:54 2012 -0700 i965/fs: Make the register allocation class_sizes[] choice static. Based on split_virtual_grfs(), we choose the same set every time, so set it stone. This will help us avoid regenerating the somewhat expensive class/register set setup every compile.
This may be a dup of bug #56520. This one has a bisect, so I'd prefer to close the other.
I see it, the problem is the "if (simd16)" case in brw_fs_visitor.cpp, so we have a size of 8 we need to handle. Should be easy, just waiting on tests.
*** Bug 56520 has been marked as a duplicate of this bug. ***
commit 244db0855c3c604211d7a868240ec927610881dd Author: Eric Anholt <eric@anholt.net> Date: Tue Nov 13 15:54:41 2012 -0800 i965/gen4: Fix LOD bias texturing since my fixed reg classes change.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.