Calling glGenerateMipmap could overwrite vertex buffer state, leading to
incorrect rendering or crashes depending on the Gallium driver.
This was happening on WebGL Conformance test texture-size.
Before 784dd51198433e5c299da4a7742c68d21d68d1c1 this was covered up by
redundant vertex buffer vali
I was just looking at this. The release notes say the "ARM backend
has basic support for integer code", but even that appears to be
broken, at least for vector types. For the first case of
lp_test_conv, with this IR:
define void @test(<8 x i16>*, <4 x i32>*) {
entry:
%2 = getelementptr <8 x i1
Previously a zero writemask would result in dst_chan == -1, meaning an
unnecessary MOV with the destination register dictated by undefined memory
contents would be emitted before returning. This caused intermittent GPU
hangs, e.g. with glean/texCombine.
---
src/mesa/drivers/dri/i965/brw_wm_emi