[Mesa-dev] [PATCH] mesa/copyimage: make sure number of samples match.

Anuj Phogat anuj.phogat at gmail.com
Tue May 3 10:11:59 UTC 2016


On Mon, May 2, 2016 at 11:11 PM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This fixes
> GL43-CTS.copy_image.samples_missmatch
> which otherwise asserts in the radeonsi driver.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/mesa/main/copyimage.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/src/mesa/main/copyimage.c b/src/mesa/main/copyimage.c
> index a0f1c69..63ce13a 100644
> --- a/src/mesa/main/copyimage.c
> +++ b/src/mesa/main/copyimage.c
> @@ -552,12 +552,26 @@ _mesa_CopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel,
>                              "dst"))
>        return;
>
> +   /* Section 18.3.2 (Copying Between Images) of the OpenGL 4.5 Core Profile
> +    * spec says:
> +    *
> +    *    An INVALID_OPERATION error is generated if either object is a texture
> +    *    and the texture is not complete, if the source and destination internal
> +    *    formats are not compatible, or if the number of samples do not match.
> +    */
>     if (!copy_format_compatible(ctx, srcIntFormat, dstIntFormat)) {
>        _mesa_error(ctx, GL_INVALID_OPERATION,
>                    "glCopyImageSubData(internalFormat mismatch)");
>        return;
>     }
>
> +   if (srcTexImage && dstTexImage &&
> +       srcTexImage->NumSamples != dstTexImage->NumSamples) {
> +      _mesa_error(ctx, GL_INVALID_OPERATION,
> +                  "glCopyImageSubData(number of samples mismatch)");
> +      return;
> +   }
> +
>     /* loop over 2D slices/faces/layers */
>     for (i = 0; i < srcDepth; ++i) {
>        int newSrcZ = srcZ + i;
> --
> 2.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list