On Fri, Aug 14, 2015 at 3:21 PM, Timothy Arceri <t_arc...@yahoo.com.au> wrote: > On Fri, 2015-08-14 at 10:43 -0700, Anuj Phogat wrote: >> On Fri, Aug 14, 2015 at 10:30 AM, Anuj Phogat <anuj.pho...@gmail.com> wrote: >> > On Mon, Aug 10, 2015 at 1:06 AM, Tapani Pälli <tapani.pa...@intel.com> >> > wrote: >> > > Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> >> > > --- >> > > src/mesa/main/teximage.c | 28 ++++++++++++++++++++++++++++ >> > > 1 file changed, 28 insertions(+) >> > > >> > > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c >> > > index fc69387..3ea7b2a 100644 >> > > --- a/src/mesa/main/teximage.c >> > > +++ b/src/mesa/main/teximage.c >> > > @@ -5782,6 +5782,18 @@ _mesa_TexImage3DMultisample(GLenum target, >> > > GLsizei samples, >> > > "glTexImage3DMultisample"); >> > > } >> > > >> > > +static bool >> > > +valid_texstorage_ms_parameters(GLsizei width, GLsizei height, GLsizei >> > > depth, >> > > + GLsizei samples, const char *func) >> > > +{ >> > > + GET_CURRENT_CONTEXT(ctx); >> > > + >> > > + if (_mesa_tex_storage_invalid_dim(width, height, depth) || samples < >> > > 1) { >> > > + _mesa_error(ctx, GL_INVALID_VALUE, "%s()", func); >> > > + return false; >> > > + } >> > > + return true; >> > > +} >> > > >> > I think samples = 0 is acceptable by the spec. samples < 0 or samples >> > > max_samples is what generate GL_INVALID_VALUE error. samples >> > count check is anyway taken care of by _mesa_check_sample_count() >> > in _mesa_texture_image_multisample(). So, no need of a helper function >> > here. Just do _mesa_valid_tex_storage_dim() checks. >> > >> Now I noticed that samples = 0 is not acceptable in GLES 3.1 but don't see >> it in GL. Add an ES 3.1 check here. > > You seem to have reviewed v1 of the series. Tapani has sent a v2. > Right :(. Thanks for the update.
> The GL 4.5 spec says that samples = 0 is not acceptable for either > *Storage*Multisample or *Image*Multisample. See my comenets on v2 of the > patch. I found the spec reference. > > >> >> > > void GLAPIENTRY >> > > _mesa_TexStorage2DMultisample(GLenum target, GLsizei samples, >> > > @@ -5795,6 +5807,10 @@ _mesa_TexStorage2DMultisample(GLenum target, >> > > GLsizei samples, >> > > if (!texObj) >> > > return; >> > > >> > > + if (!valid_texstorage_ms_parameters(width, height, 1, samples, >> > > + "glTexStorage2DMultisample")) >> > > + return; >> > > + >> > > _mesa_texture_image_multisample(ctx, 2, texObj, target, samples, >> > > internalformat, width, height, 1, >> > > fixedsamplelocations, GL_TRUE, >> > > @@ -5814,6 +5830,10 @@ _mesa_TexStorage3DMultisample(GLenum target, >> > > GLsizei samples, >> > > if (!texObj) >> > > return; >> > > >> > > + if (!valid_texstorage_ms_parameters(width, height, depth, samples, >> > > + "glTexStorage3DMultisample")) >> > > + return; >> > > + >> > > _mesa_texture_image_multisample(ctx, 3, texObj, target, samples, >> > > internalformat, width, height, >> > > depth, >> > > fixedsamplelocations, GL_TRUE, >> > > @@ -5834,6 +5854,10 @@ _mesa_TextureStorage2DMultisample(GLuint texture, >> > > GLsizei samples, >> > > if (!texObj) >> > > return; >> > > >> > > + if (!valid_texstorage_ms_parameters(width, height, 1, samples, >> > > + >> > > "glTextureStorage2DMultisample")) >> > > + return; >> > > + >> > > _mesa_texture_image_multisample(ctx, 2, texObj, texObj->Target, >> > > samples, >> > > internalformat, width, height, 1, >> > > fixedsamplelocations, GL_TRUE, >> > > @@ -5855,6 +5879,10 @@ _mesa_TextureStorage3DMultisample(GLuint texture, >> > > GLsizei samples, >> > > if (!texObj) >> > > return; >> > > >> > > + if (!valid_texstorage_ms_parameters(width, height, depth, samples, >> > > + >> > > "glTextureStorage3DMultisample")) >> > > + return; >> > > + >> > > _mesa_texture_image_multisample(ctx, 3, texObj, texObj->Target, >> > > samples, >> > > internalformat, width, height, >> > > depth, >> > > fixedsamplelocations, GL_TRUE, >> > > -- >> > > 2.1.0 >> > > >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev