diff options
| -rw-r--r-- | src/mesa/main/image.c | 26 | ||||
| -rw-r--r-- | src/mesa/main/image.h | 3 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_format.c | 23 | 
3 files changed, 30 insertions, 22 deletions
| diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 8aef306fd8..93b01423dc 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -734,6 +734,32 @@ _mesa_is_depthstencil_format(GLenum format)     }  } + +/** + * Test if the given image format is a depth or stencil format. + */ +GLboolean +_mesa_is_depth_or_stencil_format(GLenum format) +{ +   switch (format) { +      case GL_DEPTH_COMPONENT: +      case GL_DEPTH_COMPONENT16: +      case GL_DEPTH_COMPONENT24: +      case GL_DEPTH_COMPONENT32: +      case GL_STENCIL_INDEX: +      case GL_STENCIL_INDEX1_EXT: +      case GL_STENCIL_INDEX4_EXT: +      case GL_STENCIL_INDEX8_EXT: +      case GL_STENCIL_INDEX16_EXT: +      case GL_DEPTH_STENCIL_EXT: +      case GL_DEPTH24_STENCIL8_EXT: +         return GL_TRUE; +      default: +         return GL_FALSE; +   } +} + +  /**   * Test if the given image format is a dudv format.   */ diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h index 3947bbc278..48582eb3bb 100644 --- a/src/mesa/main/image.h +++ b/src/mesa/main/image.h @@ -73,6 +73,9 @@ extern GLboolean  _mesa_is_depthstencil_format(GLenum format);  extern GLboolean +_mesa_is_depth_or_stencil_format(GLenum format); + +extern GLboolean  _mesa_is_dudv_format(GLenum format);  extern GLboolean diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 1e918facda..d7d2be6d45 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -660,27 +660,6 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,  } -static GLboolean -is_depth_or_stencil_format(GLenum internalFormat) -{ -   switch (internalFormat) { -   case GL_DEPTH_COMPONENT: -   case GL_DEPTH_COMPONENT16: -   case GL_DEPTH_COMPONENT24: -   case GL_DEPTH_COMPONENT32: -   case GL_STENCIL_INDEX: -   case GL_STENCIL_INDEX1_EXT: -   case GL_STENCIL_INDEX4_EXT: -   case GL_STENCIL_INDEX8_EXT: -   case GL_STENCIL_INDEX16_EXT: -   case GL_DEPTH_STENCIL_EXT: -   case GL_DEPTH24_STENCIL8_EXT: -      return GL_TRUE; -   default: -      return GL_FALSE; -   } -} -  /**   * Called by FBO code to choose a PIPE_FORMAT_ for drawing surfaces.   */ @@ -689,7 +668,7 @@ st_choose_renderbuffer_format(struct pipe_screen *screen,                                GLenum internalFormat)  {     uint usage; -   if (is_depth_or_stencil_format(internalFormat)) +   if (_mesa_is_depth_or_stencil_format(internalFormat))        usage = PIPE_BIND_DEPTH_STENCIL;     else        usage = PIPE_BIND_RENDER_TARGET; | 
