mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 18:20:10 +01:00
mesa/copyimage: make sure number of samples match.
This fixes GL43-CTS.copy_image.samples_missmatch which otherwise asserts in the radeonsi driver. Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
5989a2937f
commit
c4a0cd4662
1 changed files with 14 additions and 0 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue