mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 13:40:11 +01:00
mesa: Add an error condition in glGetFramebufferAttachmentParameteriv()
From the OpenGL 4.4 spec page 275: "If pname is FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, param will contain the format of components of the specified attachment, one of FLOAT, INT, UNSIGNED_INT, SIGNED_NORMALIZED, or UNSIGNED_NORMALIZED for floating-point, signed integer, unsigned integer, signed normalized fixedpoint, or unsigned normalized fixed-point components respectively. If no data storage or texture image has been specified for the attachment, param will contain NONE. This query cannot be performed for a combined depth+stencil attachment, since it does not have a single format." Fixes Khronos CTS test: packed_depth_stencil_parameters.test Khronos Bug# 9170 Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
7cb3bbf2cd
commit
bd1880dfe8
1 changed files with 13 additions and 0 deletions
|
|
@ -2770,6 +2770,19 @@ _mesa_GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment,
|
|||
}
|
||||
|
||||
if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
|
||||
if (pname == GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE) {
|
||||
/* This behavior is first specified in OpenGL 4.4 specification.
|
||||
*
|
||||
* From the OpenGL 4.4 spec page 275:
|
||||
* "This query cannot be performed for a combined depth+stencil
|
||||
* attachment, since it does not have a single format."
|
||||
*/
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGetFramebufferAttachmentParameteriv("
|
||||
"GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"
|
||||
" is invalid for depth+stencil attachment)");
|
||||
return;
|
||||
}
|
||||
/* the depth and stencil attachments must point to the same buffer */
|
||||
const struct gl_renderbuffer_attachment *depthAtt, *stencilAtt;
|
||||
depthAtt = get_attachment(ctx, buffer, GL_DEPTH_ATTACHMENT);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue