blob: 8856a7e45ca941a409510c2fd5d80384490e574e (plain
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
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
- Continue a previous primitive when there are no state changes
- Fix fragment discard
Other bugs can be found here: