Mesa (master): mesa: only check sample count if we actually wanted multisampling

Chris Forbes chrisf at kemper.freedesktop.org
Tue Mar 26 18:50:26 UTC 2013


Module: Mesa
Branch: master
Commit: 21a2dfa55d7a797022de267efbfebaf630940c13
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21a2dfa55d7a797022de267efbfebaf630940c13

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Mon Mar 25 23:19:07 2013 +1300

mesa: only check sample count if we actually wanted multisampling

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>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/main/fbobject.c |   19 ++++++++++---------
 1 files 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;




More information about the mesa-commit mailing list