Move pf_is_depth_and_stencil() to u_format auxiliary module.
This commit is contained in:
@@ -141,6 +141,24 @@ util_format_is_depth_or_stencil(enum pipe_format format)
|
||||
return desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
static INLINE boolean
|
||||
util_format_is_depth_and_stencil(enum pipe_format format)
|
||||
{
|
||||
const struct util_format_description *desc = util_format_description(format);
|
||||
|
||||
assert(format);
|
||||
if (!format) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return (desc->swizzle[0] != UTIL_FORMAT_SWIZZLE_NONE &&
|
||||
desc->swizzle[1] != UTIL_FORMAT_SWIZZLE_NONE) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Format access functions.
|
||||
|
@@ -548,13 +548,6 @@ pf_get_2d_size(const struct pipe_format_block *block, size_t stride, unsigned he
|
||||
return pf_get_nblocksy(block, height)*stride;
|
||||
}
|
||||
|
||||
static INLINE boolean
|
||||
pf_is_depth_and_stencil( enum pipe_format format )
|
||||
{
|
||||
return (pf_get_component_bits( format, PIPE_FORMAT_COMP_Z ) != 0 &&
|
||||
pf_get_component_bits( format, PIPE_FORMAT_COMP_S ) != 0);
|
||||
}
|
||||
|
||||
enum pipe_video_chroma_format
|
||||
{
|
||||
PIPE_VIDEO_CHROMA_FORMAT_420,
|
||||
|
@@ -52,6 +52,7 @@
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "pipe/p_state.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_pack_color.h"
|
||||
#include "util/u_simple_shaders.h"
|
||||
#include "util/u_draw_quad.h"
|
||||
@@ -341,7 +342,7 @@ static INLINE GLboolean
|
||||
check_clear_depth_with_quad(GLcontext *ctx, struct gl_renderbuffer *rb)
|
||||
{
|
||||
const struct st_renderbuffer *strb = st_renderbuffer(rb);
|
||||
const GLboolean isDS = pf_is_depth_and_stencil(strb->surface->format);
|
||||
const GLboolean isDS = util_format_is_depth_and_stencil(strb->surface->format);
|
||||
|
||||
if (ctx->Scissor.Enabled &&
|
||||
(ctx->Scissor.X != 0 ||
|
||||
@@ -365,7 +366,7 @@ static INLINE GLboolean
|
||||
check_clear_stencil_with_quad(GLcontext *ctx, struct gl_renderbuffer *rb)
|
||||
{
|
||||
const struct st_renderbuffer *strb = st_renderbuffer(rb);
|
||||
const GLboolean isDS = pf_is_depth_and_stencil(strb->surface->format);
|
||||
const GLboolean isDS = util_format_is_depth_and_stencil(strb->surface->format);
|
||||
const GLuint stencilMax = 0xff;
|
||||
const GLboolean maskStencil
|
||||
= (ctx->Stencil.WriteMask[0] & stencilMax) != stencilMax;
|
||||
|
@@ -63,6 +63,7 @@
|
||||
#include "tgsi/tgsi_ureg.h"
|
||||
#include "util/u_tile.h"
|
||||
#include "util/u_draw_quad.h"
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_rect.h"
|
||||
#include "shader/prog_instruction.h"
|
||||
@@ -1083,7 +1084,7 @@ st_CopyPixels(GLcontext *ctx, GLint srcx, GLint srcy,
|
||||
if (ST_DEBUG & DEBUG_FALLBACK)
|
||||
debug_printf("%s: fallback processing\n", __FUNCTION__);
|
||||
|
||||
if (type == GL_DEPTH && pf_is_depth_and_stencil(pt->format))
|
||||
if (type == GL_DEPTH && util_format_is_depth_and_stencil(pt->format))
|
||||
transfer_usage = PIPE_TRANSFER_READ_WRITE;
|
||||
else
|
||||
transfer_usage = PIPE_TRANSFER_WRITE;
|
||||
|
@@ -635,7 +635,7 @@ st_TexImage(GLcontext * ctx,
|
||||
|
||||
if (stImage->pt) {
|
||||
if (format == GL_DEPTH_COMPONENT &&
|
||||
pf_is_depth_and_stencil(stImage->pt->format))
|
||||
util_format_is_depth_and_stencil(stImage->pt->format))
|
||||
transfer_usage = PIPE_TRANSFER_READ_WRITE;
|
||||
else
|
||||
transfer_usage = PIPE_TRANSFER_WRITE;
|
||||
@@ -1042,7 +1042,7 @@ st_TexSubimage(GLcontext *ctx, GLint dims, GLenum target, GLint level,
|
||||
unsigned face = _mesa_tex_target_to_face(target);
|
||||
|
||||
if (format == GL_DEPTH_COMPONENT &&
|
||||
pf_is_depth_and_stencil(stImage->pt->format))
|
||||
util_format_is_depth_and_stencil(stImage->pt->format))
|
||||
transfer_usage = PIPE_TRANSFER_READ_WRITE;
|
||||
else
|
||||
transfer_usage = PIPE_TRANSFER_WRITE;
|
||||
@@ -1267,7 +1267,7 @@ fallback_copy_texsubimage(GLcontext *ctx, GLenum target, GLint level,
|
||||
|
||||
if ((baseFormat == GL_DEPTH_COMPONENT ||
|
||||
baseFormat == GL_DEPTH_STENCIL) &&
|
||||
pf_is_depth_and_stencil(stImage->pt->format))
|
||||
util_format_is_depth_and_stencil(stImage->pt->format))
|
||||
transfer_usage = PIPE_TRANSFER_READ_WRITE;
|
||||
else
|
||||
transfer_usage = PIPE_TRANSFER_WRITE;
|
||||
|
Reference in New Issue
Block a user