From c18806cebf107d03751b11cc8866062c3822a56f Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Thu, 26 Jul 2012 18:02:20 -0700 Subject: [PATCH] i965/msaa: Allow GL_SAMPLES to be set to 1 prior to Gen6. This patch allows GL_SAMPLES to be set to either 0 or 1 on i965 platforms that don't support MSAA (those prior to Gen6). Setting GL_SAMPLES=1 has the same effect as setting it to 0 on these platforms (because MSAA is unsupported), but is distinguishable via the GL API. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50165 Reviewed-by: Jordan Justen Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/intel/intel_fbo.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index a53985b1893..613287f6d3d 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -202,7 +202,15 @@ quantize_num_samples(struct intel_context *intel, unsigned num_samples) return 0; return 0; default: - /* MSAA unsupported */ + /* MSAA unsupported. However, a careful reading of + * EXT_framebuffer_multisample reveals that we need to permit + * num_samples to be 1 (since num_samples is permitted to be as high as + * GL_MAX_SAMPLES, and GL_MAX_SAMPLES must be at least 1). Since + * platforms before Gen6 don't support MSAA, this is safe, because + * multisampling won't happen anyhow. + */ + if (num_samples > 0) + return 1; return 0; } } -- 2.30.2