Radeonsi To Do list
And here is the radeonsi to do list; if you feel something is missing please add it. If you have done something and it no longer needs to be investigated, happily erase it from here :).
LLVM
- Turn on basic block vectorizer pass
- Difficulty: Medium
- Who's working on it:
- Status: N/A
- Description:
- We might be able to use this pass to merge single dwords loads from constant memory into multiple dword loads.
Compute
- Use asynchronous compute rings for compute
- Difficulty: Medium
- Who's working on it: N/A
- Date Started: N/A
- Status: N/A
- Description:
- SI supports two asynchronous compute rings. Use them for compute to avoid contention with gfx on the main gfx ring.
3D Features
- TGSI opcodes DDX/DDY
- Difficulty: Medium
- Who's working on it: Michel Dänzer
- Status: WIP
- Note:
- MSAA support on SI
- Difficulty: Medium
- Who's working on it:
- Status: N/A
- Note: Works very similarly to cayman. Code from r600g can be ported over.
- MSAA with colorbuffer compression on SI
- Difficulty: Medium
- Who's working on it:
- Status: N/A
- Note: Works very similarly to cayman. Code from r600g can be ported over.
- Fast color clear for MSAA buffers on SI
- Difficulty: Medium
- Who's working on it: N/A
- Note: Works very similarly to cayman. Code from r600g can be ported over.
- MSAA on the window system framebuffer
- Difficulty: Medium
- Who's working on it: N/A
- Note: AFAIK, nothing has been done for it in st/dri. I think we should allocate private MSAA color/depth/stencil surfaces in Gallium and ask the DDX to only allocate the single-sampled front where we will resolve the MSAA colorbuffer on ?SwapBuffers.
- transform feedback support
- Difficulty: Medium
- Who's working on it: N/A
- Note: Works very similarly to cayman. Code from r600g can be ported over.
- timer query support
- Difficulty: Easy
- Who's working on it: N/A
- Note: Works very similarly to r6xx-cayman. Code from r600g can be ported over.
- Polygon stippling
- Difficulty: Easy
- Who's working on it: N/A
- Note: Take advantage of util/u_pstipple. It contains the shader transformation code and can create a stipple texture.
- Polygon/line/point smoothing
- Difficulty: Medium
- Who's working on it: N/A
- Texture buffer objects (read-only buffer resources in shaders)
- Difficulty: Medium
- Who's working on it: N/A
- Note:: Core Mesa/Gallium support might need some work too.
- Uniform buffer objects (constant buffers)
- Difficulty: Medium
- Who's working on it: N/A
- Note:: Core Mesa/Gallium support might need some work too.
- HyperZ support
- Difficulty: Hard
- Who's working on it: N/A
- Note:: Works very similarly to cayman. Code for r600g can be ported over.
- Geometry shaders
- Difficulty: Medium
- Who's working on it: N/A
- Note:: Core Mesa/Gallium support might need some work too.
Bugs
- All open bugs assigned to Drivers/Gallium/radeonsi
