Mesa (master): i965: Add an env var for forcing window system MSAA.

Eric Anholt anholt at kemper.freedesktop.org
Mon Mar 24 18:31:05 UTC 2014


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

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Mar 21 16:36:22 2014 -0700

i965: Add an env var for forcing window system MSAA.

Sometimes it would be nice to benchmark some app with MSAA versus not, but
it doesn't offer the controls you want.  Just provide a handy knob to
force the issue.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/intel_screen.c |   15 +++++++++++++++
 src/mesa/drivers/dri/i965/intel_screen.h |    2 ++
 2 files changed, 17 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index 4e9a775..0788a1b 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -975,6 +975,11 @@ intelCreateBuffer(__DRIscreen * driScrnPriv,
 
    _mesa_initialize_window_framebuffer(fb, mesaVis);
 
+   if (screen->winsys_msaa_samples_override != -1) {
+      num_samples = screen->winsys_msaa_samples_override;
+      fb->Visual.samples = num_samples;
+   }
+
    if (mesaVis->redBits == 5)
       rgbFormat = MESA_FORMAT_B5G6R5_UNORM;
    else if (mesaVis->sRGBCapable)
@@ -1335,6 +1340,16 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
 
    intelScreen->hw_has_swizzling = intel_detect_swizzling(intelScreen);
 
+   const char *force_msaa = getenv("INTEL_FORCE_MSAA");
+   if (force_msaa) {
+      intelScreen->winsys_msaa_samples_override =
+         intel_quantize_num_samples(intelScreen, atoi(force_msaa));
+      printf("Forcing winsys sample count to %d\n",
+             intelScreen->winsys_msaa_samples_override);
+   } else {
+      intelScreen->winsys_msaa_samples_override = -1;
+   }
+
    set_max_gl_versions(intelScreen);
 
    /* Notification of GPU resets requires hardware contexts and a kernel new
diff --git a/src/mesa/drivers/dri/i965/intel_screen.h b/src/mesa/drivers/dri/i965/intel_screen.h
index 0969021..945f6f5 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.h
+++ b/src/mesa/drivers/dri/i965/intel_screen.h
@@ -62,6 +62,8 @@ struct intel_screen
     */
    unsigned program_id;
 
+   int winsys_msaa_samples_override;
+
    struct {
       struct ra_regs *regs;
 




More information about the mesa-commit mailing list