Skip to content
  • Rob Clark's avatar
    gallium/util: add u_transfer_helper · e94eb5e6
    Rob Clark authored
    
    
    Add a new helper that drivers can use to emulate various things that
    need special handling in particular in transfer_map:
    
     1) z32_s8x24.. gl/gallium treats this as a single buffer with depth
        and stencil interleaved but hardware frequently treats this as
        separate z32 and s8 buffers.  Special pack/unpack handling is
        needed in transfer_map/unmap to pack/unpack the exposed buffer
    
     2) fake RGTC.. GPUs designed with GLES in mind, but which can other-
        wise do GL3, if native RGTC is not supported it can be emulated
        by converting to uncompressed internally, but needs pack/unpack
        in transfer_map/unmap
    
     3) MSAA resolves in the transfer_map() case
    
    v2: add MSAA resolve based on Eric's "gallium: Add helpers for MSAA
        resolves in pipe_transfer_map()/unmap()." patch; avoid wrapping
        pipe_resource, to make it possible for drivers to use both this
        and threaded_context.
    
    Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
    e94eb5e6