Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • F freedreno
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • freedreno
  • freedreno
  • Wiki
  • Home

Home · Changes

Page history
Updated Home (markdown) authored Nov 24, 2013 by Rob Clark's avatar Rob Clark
Hide whitespace changes
Inline Side-by-side
Home.md
View page @ c6079c2b
......@@ -14,68 +14,7 @@
* [[Frequently Asked Questions|FAQ]]
### Status:
apps/games/features/etc that are known to work or not
#### Features
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
#### Adreno 3xx
<table>
<tr><th>App</th><th>Status</th></tr>
<tr>
<th>gnome-shell</th>
<td>no known issues</td>
</tr>
<tr>
<th>compiz</th>
<td>should work.. not all plugins tested</td>
</tr>
<tr>
<th>xbmc</th>
<td>no known issues, good performance at 1080p, sw decode h264 seems fast enough up to 720p content</td>
</tr>
<tr>
<th>xonotic-glx</th>
<td>no known issues (15-20fps @720p)</td>
</tr>
<tr>
<th>vdrift</th>
<td>no known rendering issues.. but slow</td>
</tr>
<tr>
<th>darkplaces, openarena, etc<br>(others based on q3 engine)</td>
<td>no known issues (60fps, vsync limited @720p)</th>
<tr>
<th>etuxracer</th>
<td>works except msaa (~20-30fps w/ bo-cache)</td>
</tr>
<tr>
<th>supertuxkart</th>
<td>works except msaa (~20-30fps w/ bo-cache)</td>
</tr>
</table>
NOTES:
* fps figures are with msm drm/kms driver (otherwise we can't pageflip and have gpu stall on presentation blit)
* etuxracer and supertuxkart, in particular, trigger creation of 150-200 transient buffer objects (bo's) per frame, and heavily benefit (ie. double framerate) from caching and re-using bo's. There is a work-in-progress patch for this in libdrm_freedreno, but will need to add an MADVISE type kernel API to do this properly.
* etuxracer and supertuxkart use an old trick using alpha-test for transparency (rather than enabling GL_BLEND). In some cases, they use an alpha-to-coverage trick, which requires at least MSAA 2x, which is not implemented yet. These textures will appear opaque. (In some ways, it is an application bug, since it should handle the non-MSAA case.)
* the games with lower framerates tend to suffer due to heavy vertex shader workload because binning-pass is not implemented yet. So vertex shaders are executed for each (approx) 256x256 tile. This matters less for apps like window managers or xbmc, which would benefit more from compiler optimizations.
#### Adreno 2xx
TODO
See [[Status|Status]].
### Devices:
* Phones/Tablets:
......
Clone repository
  • A2XX Shader Instruction Set Architecture
  • A3xx shader instruction set architecture
  • A4xx Geometry Shaders
  • A4xx Tessellation Shaders
  • A5xx Queries
  • A6xx SP
  • Adreno tiling
  • Arch
  • Architecture
  • Command Stream Format
  • DSI Panel Driver Porting
  • FAQ
  • Fedora Games
  • Fedora
  • FireTV
View All Pages