gallium/auxiliary: Add util_format_get_depth_only() helper.

This will be used by u_transfer_helper.c shortly, in order to split
packed depth-stencil into separate resources.

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke
2018-07-30 15:20:47 -07:00
parent 1c0f92d8a8
commit 5849e0612c

View File

@@ -557,6 +557,27 @@ util_format_is_depth_and_stencil(enum pipe_format format)
util_format_has_stencil(desc);
}
/**
* For depth-stencil formats, return the equivalent depth-only format.
*/
static inline boolean
util_format_get_depth_only(enum pipe_format format)
{
switch (format) {
case PIPE_FORMAT_Z24_UNORM_S8_UINT:
return PIPE_FORMAT_Z24X8_UNORM;
case PIPE_FORMAT_S8_UINT_Z24_UNORM:
return PIPE_FORMAT_X8Z24_UNORM;
case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
return PIPE_FORMAT_Z32_FLOAT;
default:
return format;
}
}
static inline boolean
util_format_is_yuv(enum pipe_format format)
{