From: Paul Berry Date: Fri, 27 Jul 2012 01:02:20 +0000 (-0700) Subject: i965/msaa: Allow GL_SAMPLES to be set to 1 prior to Gen6. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c18806cebf107d03751b11cc8866062c3822a56f;p=mesa.git 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 --- 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; } }