Oct 2 – 4, 2019
Concordia University Conference Centre
America/New_York timezone

Mediump support in Mesa

Oct 2, 2019, 1:35 PM
Concordia University Conference Centre

Concordia University Conference Centre

1450 Guy St. Montreal, Quebec, Canada H3H 0A1
Talk (full slot) (closed) Main Track


Neil Roberts (Igalia)


GPUs often provide half-float 16-bit registers for floating point calculations. Using these instead of full-precision 32-bit registers can often provide a significant performance benefit, particularly on embedded GPUs. The method used to expose these registers to applications in OpenGLES is that variables can be marked as mediump, meaning that the driver is allowed to use a lower precision for any operations involving these variables. The GLES spec allows for the lower precision to be optional so it is always valid to use a higher precision. Mesa currently implements the spec effectively by just ignoring the precision markers and always using full precision.

This talk will present ongoing work at Igalia to implement a lowering pass to convert mediump operations to 16-bit float operations. The work is targetting the Freedreno driver but the resulting lowering pass may be applicable to other drivers too.

Code of Conduct Yes

Presentation materials

Platinum sponsor

Gold sponsors

Silver sponsors

Bronze sponsors