1. 13 May, 2020 1 commit
  2. 15 Oct, 2018 1 commit
    • Kenneth Graunke's avatar
      gallium/u_transfer_helper: Add support for separate Z24/S8 as well. · 38a23517
      Kenneth Graunke authored
      u_transfer_helper already had code to handle treating packed Z32_S8
      as separate Z32_FLOAT and S8_UINT resources, since some drivers can't
      handle that interleaved format natively.
      Other hardware needs depth and stencil as separate resources for all
      formats.  For example, V3D3 needs this for 24-bit depth as well.
      This patch adds a new flag to lower all depth/stencils formats, and
      implements support for Z24_UNORM_S8_UINT.  (S8_UINT_Z24_UNORM is left
      as an exercise to the reader, preferably someone who has access to a
      machine that uses that format.)
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
  3. 15 Dec, 2017 1 commit
    • 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: Rob Clark's avatarRob Clark <robdclark@gmail.com>