OpenGL ES driver details

Hi experts,

As a new guy in graphics, I want to know to how the OpenGL ES driver (the low level driver provided by the GPU vendors) interpret the direct OpenGL commands/functions and then pass to the GPU. Does the driver re-organize the commands into some data structures and put into memory while the GPU continuously gets this data from memory whenever it is available?


That’s a matter for each individual implementation. OpenGLES is just a specification for how programs talk to the driver…it says nothing about how it’s implemented under the hood.

– Steve

Thank you, Steve.
Yes, I understand the OpenGL ES is only an API standard. But I am also interested in how the API is implemented in the GPU driver when the hardware interaction is involved. Any information on that? Thanks.

It varies.

On a PC with an nVidia or ATI card, commands and data are probably built up into a command buffer that is DMA’ed over to the GPU when it’s free.

But on an Intel chip (which doesn’t have a hardware vertex processor) - the commands are probably executed locally on the CPU, as the user calls them - and because there is typically no separate GPU memory, the graphics chip is probably told to read data directly out of main memory to do rasterization and pixel shading.

Cellphones may be different yet again…the Sony PlayStation has a separate layer of processors that do vertex calculations and build up a command stream for the GPU. Different machines work different ways - there is no one specific mechanism.

Yep, chip architectures vary greatly vendor to vendor, even chips from the same vendor. Generally drivers have to work with that particular chip. :stuck_out_tongue:


Great help. Thanks.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.