On Mon, Jan 28, 2013 at 4:54 PM, Brian Paul <bri...@vmware.com> wrote: > [cross-posting this reply to the mesa-dev list] > > > On 01/27/2013 09:07 AM, Brian Paul wrote: >> >> On Sun, Jan 27, 2013 at 2:51 AM, Eric Anholt<e...@anholt.net> wrote: >>> >>> Brian Paul<bri...@vmware.com> writes: >>> >>>> Even if GL_ARB_multisample is advertised, it's OK for the max number of >>>> samples to be zero. >>> >>> >>> Huh? The EXT_framebuffer_multisample spec says minmax of MAX_SAMPLES is >>> 1. >> >> >> And GL_ARB_framebuffer_object says it's zero. >> >> It looks like the piglit test is checking the wrong extension. At >> line 364 we're calling >> piglit_require_extension("GL_ARB_framebuffer_object"). I don't see >> any checks for GL_EXT_framebuffer_multisample. I was looking at >> GL_MAX_SAMPLES in the former, not the later. >> >> I guess the proper fix is to just check for the proper extension. > > > > There's several things going on here. > > First, the piglit test needs a > piglit_require_extension("GL_EXT_framebuffer_multisample") check. > > Second, I think we need to disable advertising this extension for swrast, > softpipe and llvmpipe. > > Third, I think we need to decide what GL_MAX_SAMPLES=1 really means. > > I've been reading the various multisample-related extensions and none of > them really says anything special about GL_MAX_SAMPLES=1. But in some > places (like the GLSL spec) you'll see the phrase "single-sampling" but it > seems to mean the non-multisample / conventional rasterization case. > > My thinking is that it would be theoretically possible to have single-sample > multisampling (perhaps with a different sample position per pixel). > > In any case, regardless of the number of samples per pixel, we still must > obey centroid sampling mode (must interpolate at a point that lies in both > the pixel and in the primitive being > rendered). swrast, softpipe and llvmpipe don't support that so we really > shouldn't advertise GL_MAX_SAMPLES=1 (it should be zero) so > GL_EXT_framebuffer_multisample shouldn't be advertised for those drivers. > > Most likely, the user's going to be disappointed if they want multisampling > in their app and the driver only gives him GL_MAX_SAMPLES=1. > > Does this sound reasonable?
I think that not advertising ARB_framebufer_object (which adds GL_MAX_SAMPLES) is a much worse solution than returning GL_MAX_SAMPLES <= 1. EXT_framebuffer_multisample is only a subset of ARB_framebuffer_object... Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev