Forums - Lossless framebuffer compression

2 posts / 0 new
Last post
Lossless framebuffer compression
sebastian.aaltonen
Join Date: 22 Apr 22
Posts: 1
Posted: Mon, 2022-08-15 01:02

I couldn't find information about Adreno's lossless framebuffer compression online.

We are building a system that does material blending and decaling in texture space. Material textures thus can't be offline compressed to ASTC. We will be heavily leaning on lossless framebuffer compression to reduce our bandwidth cost for texture sampling. 

Some questions:

1. What is the hardware coverage for lossless framebuffer compression for Adreno? Which generations support it?

2. Do early hardware implementations only support RGBA8 format? Is there some other limitations I should be aware of? Is mipmapping supported?

3. Do you automatically apply lossless framebuffer compression for all uncompressed textures?

4. Is there a penalty of Adreno to use render targets for all textures. Are render targets automatically lossless compressed, or do I need to do something to enable it?

  • Up0
  • Down0
DuBo
Join Date: 9 Dec 13
Posts: 72
Posted: Wed, 2022-11-30 00:16

Dear Customer

Adreno's lossless framebuffer compression technology is called as UBWC (universal bandwidth compression), which is applied in the whole multimedia system for camera, video, gpu, and display/dpu.
The UBWC format is hardware enabled and decoded autumatically for each module of camera, video, gpu, display/dpu.

As for the exact using case, 
video/camera can output UBWC format data, then send to GPU for process, or directly send to DPU for display.
gpu can accept UBWC format texture, and process then output to UBWC format framebuffer, then send to DPU for display.

app/sw code cannot access the UBWC format data directly, there is no public information for the UBWC format.
ofcourse you can still use glReadPixels() to read the UBWC format framework, driver will perform the conversion from  UBWC data to non-UBWC data when reutrn to app.

Thanks
Bob Du

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.