[Mesa-dev] [PATCH] mesa: only check sample count if we actually wanted multisampling

Chris Forbes chrisf at ijw.co.nz
Mon Mar 25 03:48:02 PDT 2013


Fixes various test fallout from 90b5a2425a on Pineview, which claims to
support ARB_internalformat_query but doesn't actually provide the
driverfunc.

That driver is still broken [GetInternalformativ will still segfault!]
but it was silly to be going through the sample count logic in the
nonmultisampling case at all.

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
---
 src/mesa/main/fbobject.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 3fdf626..c1f5299 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1537,15 +1537,16 @@ renderbuffer_storage(GLenum target, GLenum internalFormat,
       /* NumSamples == 0 indicates non-multisampling */
       samples = 0;
    }
-
-   /* check the sample count;
-    * note: driver may choose to use more samples than what's requested
-    */
-   sample_count_error = _mesa_check_sample_count(ctx, target,
-         internalFormat, samples);
-   if (sample_count_error != GL_NO_ERROR) {
-      _mesa_error(ctx, sample_count_error, "%s(samples)", func);
-      return;
+   else {
+      /* check the sample count;
+       * note: driver may choose to use more samples than what's requested
+       */
+      sample_count_error = _mesa_check_sample_count(ctx, target,
+            internalFormat, samples);
+      if (sample_count_error != GL_NO_ERROR) {
+         _mesa_error(ctx, sample_count_error, "%s(samples)", func);
+         return;
+      }
    }
 
    rb = ctx->CurrentRenderbuffer;
-- 
1.8.2



More information about the mesa-dev mailing list