summaryrefslogtreecommitdiff
path: root/I915Todo.mdwn
blob: a5419b5bc272c143a0d9247885e30299181c1eec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
### GL_ARB_fragment_program_shadow support (easy).

It looks like the hardware isn't handling DepthMode like it's supposed
to given the texture formats available, which would mean you need to
put swizzling into the fragment shader to do the job.  This bug is
tested by the piglit tests for the extension.

### Enable Y tiling for textures (easy).

It should improve performance in general, just needs a piglit run.

### GL_ARB_fragment_coord_conventions (moderate).

wine likes this extension
since it gives them basically DirectX modes for gl_FragCoord.  Since
gl_FragCoord is generated by our software tnl, it's definitely
supportable.

### Debug failing compressed texture modes (moderate).

piglit fbo-generatemipmap-formats tests for compressed textures have
some bugs, and some of them go away on the second render.  I'm not
sure what's going on here.

### Debug draw-elements-base-vertex failure (hard).

The tnl/ code has bugs in this area, and it would be great if they
were fixed.

### Add GL_ARB_draw_instanced support (moderate).

This is all software code to be written under tnl/

### Add additional vertex formats (easy).

These are all done in software code in tnl/, and there are piglit
tests for them.  The extensions that could be added are:
GL_ARB_half_float_vertex, Add GL_ARB_vertex_type_2_10_10_10_rev
support, and GL_EXT_vertex_array_bgra.

### Add GL_ARB_instanced_arrays support (moderate).

This is all software code to be written under tnl/

### Add GL_NV_primitive_restart support (easy).

There's a helper function in vbo/ that breaks primitive restart calls
into a series of draw calls for you.

### Support HW's early depth test correctly (moderate).

You have to make sure you get an MI_FLUSH with render cache flush in
between enabling/disbling CLASSIC_EARLY_DEPTH, and only enable it when
depth writes are enabled, the depth buffer is tiled and color buffer
format is not COLORBUFFER_8BIT.

### Fix gl_ClipVertex (hard).

See piglit glsl-1.20/execution/clipping.

### Fix smooth/flat interpolation (moderate).

See piglit glsl-1.10/execution/interpolation.

### Avoid no-op updates of non-pipelined state (moderate)

Calling DrawBuffer to the same buffer is painful as it flags us for
updating the draw buffer, which is non-pipelined state.  This brings
the meta clear code from 200mb/s to 6mb/s.  Something like what 965
does would be better for state tracking in this driver.