In the description the "fbo:" should just be "mesa:".

On 12/29/2012 05:35 AM, Chris Forbes wrote:
ARB_texture_multisample allows STENCIL_INDEX and sized variants with the
multisample texture targets; similar to renderbuffers.

Signed-off-by: Chris Forbes<[email protected]>
---
  src/mesa/main/fbobject.c | 29 ++++++-----------------------
  1 file changed, 6 insertions(+), 23 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index b1d2eb4..122d689 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -503,22 +503,6 @@ _mesa_is_legal_color_format(const struct gl_context *ctx, 
GLenum baseFormat)


  /**
- * Is the given base format a legal format for a depth/stencil renderbuffer?
- */
-static GLboolean
-is_legal_depth_format(const struct gl_context *ctx, GLenum baseFormat)
-{
-   switch (baseFormat) {
-   case GL_DEPTH_COMPONENT:
-   case GL_DEPTH_STENCIL_EXT:
-      return GL_TRUE;
-   default:
-      return GL_FALSE;
-   }
-}
-
-
-/**
   * Test if an attachment point is complete and update its Complete field.
   * \param format if GL_COLOR, this is a color attachment point,
   *               if GL_DEPTH, this is a depth component attachment point,
@@ -600,8 +584,13 @@ test_attachment_completeness(const struct gl_context *ctx, 
GLenum format,
               baseFormat == GL_DEPTH_STENCIL_EXT) {
              /* OK */
           }
+         else if (ctx->Extensions.ARB_texture_multisample&&
+               baseFormat == GL_STENCIL_INDEX) {
+            /* OK */
+         }
           else {
-            /* no such thing as stencil-only textures */
+            /* no such thing as stencil-only textures before
+             * multisample textures */
              att_incomplete("illegal stencil texture");
              att->Complete = GL_FALSE;
              return;
@@ -751,12 +740,6 @@ _mesa_test_framebuffer_completeness(struct gl_context *ctx,
           f = texImg->_BaseFormat;
           attFormat = texImg->TexFormat;
           numImages++;
-         if (!_mesa_is_legal_color_format(ctx, f)&&
-             !is_legal_depth_format(ctx, f)) {
-            fb->_Status = GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT;
-            fbo_incomplete("texture attachment incomplete", -1);
-            return;
-         }

           if (numSamples<  0)
              numSamples = att->Texture->NumSamples;

Rather than remove this code, how about predicating it on ctx->Extensions.ARB_texture_multisample? The check should still be done if that extension isn't supported.

-Brian
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to