Random list of problems with i915g: - What does this button do? Figure out LIS7 with regards to depth offset. - Dies with BadDrawable on GLXFBconfig changes/destruction. Makes piglit totally unusable :( Upgrading xserver helped here, it doesn't crash anymore. Still broken, it doesn't update the viewport/get new buffers. - Y-tiling is even more fun. i915c doesn't use it, maybe there's a reason? Texture sampling from Y-tiled buffers seems to work, though (save above problems). RESOLVED: Y-tiling works with the render engine, but not with the blitter. Use u_blitter and hw clears (PRIM3D_CLEAR_RECT). - src/xvmc/i915_structs.h in xf86-video-intel has a few more bits of various commands defined. Scavenge them and see what's useful. - Do smarter remapping. Right now we send everything onto tex coords 0-7. We could also use diffuse/specular and pack two sets of 2D coords in a single 4D. Is it a big problem though? We're more limited by the # of texture indirections and the # of instructions. - Finish front/back face. We need to add face support to lp_build_system_values_array and use it in draw_llvm.c. - More optimizations, like replacing ADD + MUL with MAD or use DP2ADD. - Replace constants and immediates which are 0,1,-1 or a combination of those with a swizzle. - Schedule instructions to minimize the number of phases. One way is to replace R registers responsible for a boundary with U registers to avoid phase boundaries. - Continue a previous primitive when there are no state changes - Fix fragment discard Other bugs can be found here: https://gitlab.freedesktop.org/mesa/mesa/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=i915g