[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