Comment 40 for bug 1174495

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #32)
> Thanks, Knut, for bisecting in #27. Thanks, Stan, for confirming bisection
> in #28.
>
> So the bad changeset is
> http://cgit.freedesktop.org/mesa/mesa/commit/
> ?id=35840ab189595b817fa8b1a1df8cc92474a7c38d
>
> I read that code (out of context: I'm not familiar with Xorg code). It kind
> of looked as if things with obvious allocation potential were followed by
> asserts to check that the allocation worked. So why are we observing SIGBUS
> rather than assertion errors? If allocation failure is possible, even
> assertion failure seems harsh (but at least more diagnostic).

As per comment 29, the MSAA surface is too big to be mapped by the CPU (the CPU's window into VRAM is only 256 MB). The allocation is successful, but the CPU is not able to map the buffer due to the limited window. You get a sigbus because the mapping fails and the CPU tries to access an address beyond the PCI aperture where vram is mapped. The solution is to either disable MSAA or as per comment 29, use the GPU to initialize the CMASK/HTILE buffers rather than using the CPU.