main: Fix an error generated by FramebufferTexture
gl*FramebufferTexture should generate GL_INVALID_VALUE when the texture doesn't exist. [Fredrik: Split this change out from the next commit] Signed-off-by: Fredrik Höglund <fredrik@kde.org> Reviewed-by: Fredrik Höglund <fredrik@kde.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Cc: "10.4 10.5" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
committed by
Fredrik Höglund
parent
8ba7ad8abc
commit
69bdc9dcb8
@@ -2654,10 +2654,19 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* can't render to a non-existant texture */
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glFramebufferTexture%s(non existant texture)",
|
||||
caller);
|
||||
/* Can't render to a non-existent texture object.
|
||||
*
|
||||
* The OpenGL 4.5 core spec (02.02.2015) in Section 9.2 Binding and
|
||||
* Managing Framebuffer Objects specifies a different error
|
||||
* depending upon the calling function (PDF pages 325-328).
|
||||
* *FramebufferTexture (where layered = GL_TRUE) throws invalid
|
||||
* value, while the other commands throw invalid operation (where
|
||||
* layered = GL_FALSE).
|
||||
*/
|
||||
const GLenum error = layered ? GL_INVALID_VALUE :
|
||||
GL_INVALID_OPERATION;
|
||||
_mesa_error(ctx, error,
|
||||
"%s(non-existent texture %u)", caller, texture);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user