4 ms·
It might be an outdated note, but when I tried the same approach in 2015, I was limited not only by the GPU but also by the OpenGL version on the Linux I used.
by yonixw 4y ago
It might be an outdated note, but when I tried the same approach in 2015, I was limited not only by the GPU but also by the OpenGL version on the Linux I used. You had to enable some "extensions" in order to read back raw pixel data/buffers back from the GPU. Hope people have it easier these days.
- kevingadd 4y agoPart of the reason for this is that the "raw" buffers you're reading back are not actually raw buffers. If you have raw access to the hardware (for example, using the graphics APIs on a game console) it turns out that they are typically using custom compressed representations and if you just want a buffer with pixels in it, the real buffer has to be decompressed, either in-place or into a temporary buffer. So when you are using that extension to read back raw data, what you're actually doing is kicking off a conversion operation on the GPU, then waiting and reading the contents of the buffer via DMA.