Home | History | Annotate | Download | only in i915
      1 Random list of problems with i915g:
      2 
      3 - Add support for PIPE_CAP_POINT_SPRITE either via the draw module or directly
      4   via the hardware, look at the classic driver, more advanced.
      5 
      6 - What does this button do? Figure out LIS7 with regards to depth offset.
      7 
      8 - Dies with BadDrawable on GLXFBconfig changes/destruction. Makes piglit totally
      9   unusable :( Upgrading xserver helped here, it doesn't crash anymore. Still
     10   broken, it doesn't update the viewport/get new buffers.
     11 
     12 - Kills the chip in 3D_PRIMITIVE LINELIST with mesa-demos/fbotexture in
     13   wireframe mode. Changing the cullmode to cw from none mitigates the crash. As
     14   does emitting only one line segment (2 indices) per 3D_PRIMITIVE command in
     15   the batch.
     16 
     17 - Y-tiling is even more fun. i915c doesn't use it, maybe there's a reason?
     18   Texture sampling from Y-tiled buffers seems to work, though (save above
     19   problems).
     20   RESOLVED: Y-tiling works with the render engine, but not with the blitter.
     21   Use u_blitter and hw clears (PRIM3D_CLEAR_RECT).
     22 
     23 - src/xvmc/i915_structs.h in xf86-video-intel has a few more bits of various
     24   commands defined. Scavenge them and see what's useful.
     25 
     26 - Do smarter remapping. Right now we send everything onto tex coords 0-7.
     27   We could also use diffuse/specular and pack two sets of 2D coords in a single
     28   4D. Is it a big problem though? We're more limited by the # of texture
     29   indirections and the # of instructions.
     30 
     31 - Finish front/back face. We need to add face support to lp_build_system_values_array and use it in draw_llvm.c.
     32 
     33 - More optimizations, like replacing ADD + MUL with MAD or use DP2ADD.
     34 
     35 - Replace constants and immediates which are 0,1,-1 or a combination of those with a swizzle.
     36 
     37 - i915_delete_fs_state doesn't call draw_delete_fragment_shader. Why?
     38 
     39 - Schedule instructions to minimize the number of phases. One way is to replace
     40   R registers responsible for a boundary with U registers to avoid phase
     41   boundaries.
     42 
     43 - Continue a previous primitive when there are no state changes
     44 
     45 - Switch to the blitter for those buggy blit copies
     46 - Or state save/restore has a bug with u_blitter, fix it.
     47 
     48 Other bugs can be found here:
     49 https://bugs.freedesktop.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Drivers/Gallium/i915g
     50