We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
From looking at the documentation for our Mali-G78AE, it's still unclear to me how we enable the use of AFBC compression. I see a read only register that indicated whether or not it is disabled, but I'm not able to tell how it is enabled. Any help on this is appreciated.
Thanks,
Andy
NVM. I found the answer in the DDK manual. Looks like you have to turn it off when building the DDK. I think my real question is why I'm not seeing compressed data in the frame buffer output of my GPU when I believe that it is turned on.
FYI I have moved your query to the Graphics specific forum
Thanks!
Hi Andy,
There are two ways that AFBC gets managed, depending on the type of framebuffer.
The main application window surface framebuffer, and any other surfaces that are shared by multiple hardware blocks such video imports, are allocated and managed by a system component, for example using Gralloc on Android. The color format and memory layout is determined by this external component rather than the driver because all of the hardware blocks need to agree on the supported format, so there is normally some integration by the SoC provider to make sure that the GPU/Display/Video surfaces are optimally configured.
The internal framebuffers used for render-to-texture within a single application are managed by the driver, as it has full visibility of how that image gets used. AFBC is not compatible with all image usage, so some application usage can cause a fall-back to non-compressed data. More details can be found in our best practices guide:
Kind regards, Pete
thank you Peter! As of right now I am just trying to understand how the Mali is indicated that it needs to compress frame buffer output data, but I think I understand that now.