-
Notifications
You must be signed in to change notification settings - Fork 69
Home
freedreno edited this page Sep 14, 2013
·
29 revisions
- Reverse Engineering Tools
- Useful Information
-
Command Stream Format
- The basic packet format (described in this page) is same for a3xx and a2xx although all the registers and some of the packet types differ.
- Adreno Tiling - how tiling works on adreno (a2xx and a3xx)
- A2xx Shader Instruction Set Architecture
- A3xx Shader Instruction Set Architecture
- Frequently Asked Questions
apps/games/features/etc that are known to work or not
Implemented/Supported:
- OpenGL 1.4 - on best-effort basis
- OpenGLES 1 and OpenGLES 2
- textures: 2D, mipmap, cubemap, 3D
- 16b or 24b depth buffer
- 8b stencil buffer
- 8b/16b/32b index buffer
Missing:
- OpenGL 2 - at least some could be supported on a3xx with a bit of work in compiler, but a2xx cannot support all necessary GLSL
- OpenGLES 3 - a3xx can support GLES3 features in hw, but missing support in gallium driver
- non-unwindable loops in shaders - should not be too hard to support in a3xx (we already use branching for if/else), is supported by the hw on a2xx but needs a bit of work to figure out how to use it.
- MSAA
- discard/kill in fragment shaders
- not all TGSI opcode's are implemented, so you might run into a missing one with some weird shaders.. but all the common ones should be implemented
App | Status |
---|---|
gnome-shell | no known issues |
compiz | should work.. not all plugins tested |
xbmc | no known issues, good performance at 1080p, sw decode h264 seems fast enough up to 720p content |
xonotic-glx | no known issues (15-20fps @720p) |
vdrift | no known rendering issues.. but slow |
darkplaces, openarena, etc (others based on q3 engine) |
no known issues (60fps, vsync limited @720p) |
etuxracer | works except msaa (~20-30fps w/ bo-cache) |
supertuxkart | works except msaa (~20-30fps w/ bo-cache) |
TODO
NOTE: please feel free to make updates/additions to the wiki, add pages for your particular device that you have (or are trying to use) freedreno on, etc. A wiki is a community effort. Don't vandalize. If you have a question, ask on #freedreno IRC channel on freenode.