Rob Clark edited this page May 10, 2018 · 23 revisions

For something a bit more current, see the trello page: https://trello.com/b/VC0IXzrq/freedreno

Here is a list of things needed, in no particular order.

gallium:

  • misc:
  • MSAA
  • tiled textures
  • Emulate unsupported texture wrap modes in shader - a3xx does not seem to support mirror-clamp, mirror-clamp-to-border, and mirror-clamp-to-edge seems to only work for power-of-two textures.
    • emulation for GL_CLAMP done, for others we have stopped advertising the extensions for now
  • compiler:
  • add relative addressing support to new-compiler (and remove legacy compiler)
  • integer support
  • loops / switch / subroutines
  • note gallium will unroll loops with constant # of iterations, and inline functions, if the gallium driver does not support.. sufficient for simple shaders and gles2.
  • derivative support (TGSI_OPCODE_DDX, TGSI_OPCODE_DDY)
  • gl2 support:
  • occlusion query
  • additionally sRGB texture support will bring us up to gl2.1
  • gles3
  • GLSL version level 130 (integer support, loops, and ??)
  • note non-unrollable loops (which are less common) still missing, but we advertise glsl 130 all the same
  • packed float (PIPE_FORMAT_R11G11B10_FLOAT)
  • EXT_texture_shared_exponent (PIPE_FORMAT_R9G9B9E5_FLOAT)
  • transform feedback
  • sRGB framebuffer support
  • UBO's
  • MRT
  • gl3 support:
  • GLSL version level 130 (integer support and ??)
  • texture compression (PIPE_FORMAT_RGTC{1,2}_{U,S}NORM)
  • packed float (PIPE_FORMAT_R11G11B10_FLOAT)
  • EXT_texture_shared_exponent (PIPE_FORMAT_R9G9B9E5_FLOAT)
  • transform feedback
  • MSAA >= 4
  • 32b float depth (PIPE_FORMAT_Z32_FLOAT and PIPE_FORMAT_Z32_FLOAT_S8X24_UINT)
  • NV_conditional_render (PIPE_CAP_CONDITIONAL_RENDER)
  • gl3.1 support:
  • GLSL version level 140 (needs ??)
  • UBO's
  • ARB_draw_instanced (PIPE_CAP_TGSI_INSTANCEID)
  • ARB_texture_buffer_object (PIPE_CAP_TEXTURE_BUFFER_OBJECTS)
  • EXT_texture_snorm

mesa/gallium:

  • add support for EGL_ARM_pixmap_multisample_discard and/or GL_EXT_multisampled_render_to_texture.. either or both of these would be a big win for MSAA on tiler gpu's. Also would be possibly worthwhile to implement a GL/GLX version of the same extensions. Extension needs to be implemented in mesa and multisample-discard attribute passed through to gallium driver.

drm/msm (kernel):

  • mdp4 (apq8060, apq8064, etc):
  • DSI support
  • LVDS support
  • YUV plane (overlay)
  • plane scaling
  • mdp5 (apq8074, etc):
  • DSI support
  • displayport support
  • YUV plane (overlay)
  • plane scaling
  • hw cursor
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.