Lines Matching refs:attachment
257 * If \p attachment is GL_DEPTH_STENCIL_ATTACHMENT, return a pointer to
258 * the depth buffer attachment point.
259 * Returns if the attachment is a GL_COLOR_ATTACHMENTm_EXT on
261 * if they don't find the attachment.
265 GLenum attachment, bool *is_color_attachment)
274 switch (attachment) {
297 i = attachment - GL_COLOR_ATTACHMENT0_EXT;
324 GLenum attachment)
328 attachment = _mesa_back_to_front_if_single_buffered(fb, attachment);
331 switch (attachment) {
345 unreachable("invalid attachment");
349 switch (attachment) {
375 * attachment, BACK is equivalent to BACK_LEFT."
385 * "If the default framebuffer is bound to target, then attachment must
394 * "If the default framebuffer is bound to <target>, then <attachment>
477 * Remove any texture or renderbuffer attached to the given attachment
595 * Bind a texture object to an attachment point.
616 /* new attachment */
637 * Bind a renderbuffer to an attachment point.
645 /* XXX check if re-doing same attachment, exit early */
662 GLenum attachment,
669 att = get_attachment(ctx, fb, attachment, NULL);
673 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
674 /* do stencil attachment here (depth already done above) */
683 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
729 _mesa_debug(NULL, "attachment incomplete: %s\n", msg);
925 * Test if an attachment point is complete and update its Complete field.
926 * \param format if GL_COLOR, this is a color attachment point,
927 * if GL_DEPTH, this is a depth component attachment point,
928 * if GL_STENCIL, this is a stencil component attachment point.
939 /* Look for reasons why the attachment might be incomplete */
958 /* Mutable non base level texture as framebuffer attachment
966 att_incomplete("texture attachment not mipmap complete");
1119 * Validate a renderbuffer attachment for a particular set of bindings.
1213 fbo_invalid("Invalid depth attachment");
1218 fbo_invalid("Invalid stencil attachment");
1228 fbo_invalid("Invalid color attachment");
1296 /* Start at -2 to more easily loop over all attachment points.
1313 /* check for attachment completeness
1320 fbo_incomplete(ctx, "depth attachment incomplete", -1);
1331 fbo_incomplete(ctx, "stencil attachment incomplete", -1);
1341 /* With EXT_color_buffer_half_float, check if attachment was incomplete
1352 fbo_incomplete(ctx, "color attachment incomplete", i);
1378 fbo_incomplete(ctx, "texture attachment incomplete", -1);
1511 fbo_incomplete(ctx, "attachment not cube complete", i);
1522 * "If any framebuffer attachment is layered, all populated
1530 * Setup the checked layer target with first color attachment here
1552 "framebuffer attachment layer mode is inconsistent",
1561 * requirement on each attachment. Those additional requirements are
1571 * array texture and the attachment is layered, the depth or layer count
2130 * Remove the specified renderbuffer or texture from any attachment point in
2134 * \c true if the renderbuffer was detached from an attachment point. \c
2202 * attached to one or more attachment points in the currently
2205 * attachment point to which this image was attached in the
2207 * renderbuffer image is first detached from all attachment
2663 * Invalidate a renderbuffer attachment. Called from _mesa_HashWalk().
3591 * Replicate the src attachment point. Used by framebuffer_texture() when
3670 * and decide whether or not the attachment should truly be considered
3673 * \param layered true if attachment should be considered layered, false if
3917 GLenum attachment, const char *caller)
3926 /* Not a hash lookup, so we can afford to get the attachment here. */
3929 get_attachment(ctx, fb, attachment, &is_color_attachment);
3933 "%s(invalid color attachment %s)", caller,
3934 _mesa_enum_to_string(attachment));
3937 "%s(invalid attachment %s)", caller,
3938 _mesa_enum_to_string(attachment));
3949 GLenum attachment,
3959 if (attachment == GL_DEPTH_ATTACHMENT &&
3966 /* The texture object is already attached to the stencil attachment
3968 * attachment's. This is required to prevent a GL error in
3973 } else if (attachment == GL_STENCIL_ATTACHMENT &&
3987 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
3989 * depth attachment point. Now attach it to the stencil attachment
4010 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
4023 framebuffer_texture_with_dims_no_error(GLenum target, GLenum attachment,
4037 get_attachment(ctx, fb, attachment, NULL);
4039 _mesa_framebuffer_texture(ctx, fb, attachment, att, texObj, textarget,
4046 GLenum attachment, GLenum textarget,
4082 _mesa_get_and_validate_attachment(ctx, fb, attachment, caller);
4086 _mesa_framebuffer_texture(ctx, fb, attachment, att, texObj, textarget,
4092 _mesa_FramebufferTexture1D_no_error(GLenum target, GLenum attachment,
4096 framebuffer_texture_with_dims_no_error(target, attachment, textarget,
4102 _mesa_FramebufferTexture1D(GLenum target, GLenum attachment,
4105 framebuffer_texture_with_dims(1, target, 0, attachment, textarget, texture,
4111 _mesa_FramebufferTexture2D_no_error(GLenum target, GLenum attachment,
4115 framebuffer_texture_with_dims_no_error(target, attachment, textarget,
4121 _mesa_FramebufferTexture2D(GLenum target, GLenum attachment,
4124 framebuffer_texture_with_dims(2, target, 0, attachment, textarget, texture,
4130 _mesa_FramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment,
4134 framebuffer_texture_with_dims(2, target, 0, attachment, textarget, texture,
4142 _mesa_FramebufferTexture3D_no_error(GLenum target, GLenum attachment,
4146 framebuffer_texture_with_dims_no_error(target, attachment, textarget,
4152 _mesa_FramebufferTexture3D(GLenum target, GLenum attachment,
4156 framebuffer_texture_with_dims(3, target, 0, attachment, textarget, texture,
4163 GLenum attachment, GLuint texture,
4201 /* Get the texture object and framebuffer attachment*/
4206 att = get_attachment(ctx, fb, attachment, NULL);
4212 att = _mesa_get_and_validate_attachment(ctx, fb, attachment, func);
4246 _mesa_framebuffer_texture(ctx, fb, attachment, att, texObj, textarget,
4251 _mesa_FramebufferTextureLayer_no_error(GLenum target, GLenum attachment,
4255 frame_buffer_texture(0, target, attachment, texture, level, layer,
4261 _mesa_FramebufferTextureLayer(GLenum target, GLenum attachment,
4264 frame_buffer_texture(0, target, attachment, texture, level, layer,
4271 GLenum attachment,
4275 frame_buffer_texture(framebuffer, 0, attachment, texture, level, layer,
4281 _mesa_NamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment,
4284 frame_buffer_texture(framebuffer, 0, attachment, texture, level, layer,
4290 _mesa_FramebufferTexture_no_error(GLenum target, GLenum attachment,
4293 frame_buffer_texture(0, target, attachment, texture, level, 0,
4299 _mesa_FramebufferTexture(GLenum target, GLenum attachment,
4302 frame_buffer_texture(0, target, attachment, texture, level, 0,
4307 _mesa_NamedFramebufferTexture_no_error(GLuint framebuffer, GLenum attachment,
4310 frame_buffer_texture(framebuffer, 0, attachment, texture, level, 0,
4316 _mesa_NamedFramebufferTexture(GLuint framebuffer, GLenum attachment,
4319 frame_buffer_texture(framebuffer, 0, attachment, texture, level, 0,
4325 _mesa_NamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment,
4328 framebuffer_texture_with_dims(1, GL_FRAMEBUFFER, framebuffer, attachment,
4335 _mesa_NamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment,
4338 framebuffer_texture_with_dims(2, GL_FRAMEBUFFER, framebuffer, attachment,
4345 _mesa_NamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment,
4349 framebuffer_texture_with_dims(3, GL_FRAMEBUFFER, framebuffer, attachment,
4358 GLenum attachment,
4365 _mesa_FramebufferRenderbuffer_sw(ctx, fb, attachment, rb);
4375 GLenum attachment, GLenum renderbuffertarget,
4397 /* remove renderbuffer attachment */
4409 att = get_attachment(ctx, fb, attachment, &is_color_attachment);
4415 * "An INVALID_OPERATION error is generated if attachment is
4419 * If we are at this point, is because the attachment is not valid, so
4424 "%s(invalid color attachment %s)", func,
4425 _mesa_enum_to_string(attachment));
4428 "%s(invalid attachment %s)", func,
4429 _mesa_enum_to_string(attachment));
4435 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT &&
4447 _mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb);
4452 struct gl_framebuffer *fb, GLenum attachment,
4456 framebuffer_renderbuffer(ctx, fb, attachment, renderbuffertarget,
4462 struct gl_framebuffer *fb, GLenum attachment,
4466 framebuffer_renderbuffer(ctx, fb, attachment, renderbuffertarget,
4471 _mesa_FramebufferRenderbuffer_no_error(GLenum target, GLenum attachment,
4478 framebuffer_renderbuffer_no_error(ctx, fb, attachment, renderbuffertarget,
4483 _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
4498 framebuffer_renderbuffer_error(ctx, fb, attachment, renderbuffertarget,
4504 GLenum attachment,
4511 framebuffer_renderbuffer_no_error(ctx, fb, attachment, renderbuffertarget,
4517 _mesa_NamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment,
4529 framebuffer_renderbuffer_error(ctx, fb, attachment, renderbuffertarget,
4536 _mesa_NamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment,
4548 framebuffer_renderbuffer_error(ctx, fb, attachment, renderbuffertarget,
4557 GLenum attachment, GLenum pname,
4564 /* The error code for an attachment type of GL_NONE differs between APIs.
4600 if (_mesa_is_gles3(ctx) && attachment != GL_BACK &&
4601 attachment != GL_DEPTH && attachment != GL_STENCIL) {
4603 "%s(invalid attachment %s)", caller,
4604 _mesa_enum_to_string(attachment));
4625 att = get_fb0_attachment(ctx, buffer, attachment);
4629 att = get_attachment(ctx, buffer, attachment, &is_color_attachment);
4637 * is bound to target and attachment is COLOR_ATTACHMENTm where m is
4640 * If we are at this point, is because the attachment is not valid, so
4644 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid color attachment %s)",
4645 caller, _mesa_enum_to_string(attachment));
4647 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid attachment %s)", caller,
4648 _mesa_enum_to_string(attachment));
4653 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
4660 * attachment, since it does not have a single format."
4664 " is invalid for depth+stencil attachment)", caller);
4685 * is bound, attachment is DEPTH or STENCIL, and the number of depth or
4767 (attachment == GL_DEPTH || attachment == GL_STENCIL)) {
4804 * attachment is DEPTH_STENCIL_ATTACHMENT the query will fail and
4808 attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
4821 /* depends on the attachment parameter */
4822 if (attachment == GL_STENCIL_ATTACHMENT) {
4905 _mesa_GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment,
4919 get_framebuffer_attachment_parameter(ctx, buffer, attachment, pname,
4927 GLenum attachment,
4949 get_framebuffer_attachment_parameter(ctx, buffer, attachment, pname,
4957 GLenum attachment,
4979 get_framebuffer_attachment_parameter(ctx, buffer, attachment, pname,
5192 * "If an attachment is specified that does not exist in the
5239 /* GL_DEPTH_STENCIL_ATTACHMENT is a valid attachment point only
5241 * extension does not make this attachment point valid on ES 2.0.
5265 "%s(attachment >= max. color attachments)", name);
5282 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid attachment %s)", name,
5289 const GLenum attachment)
5291 switch (attachment) {
5310 const unsigned i = attachment - GL_COLOR_ATTACHMENT0;
5369 * attachment is packed depth/stencil, then we can only use
5596 "glDiscardFramebufferEXT(attachment %s)",