mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
mesa: Refactor _mesa_framebuffer_renderbuffer
This function previously was only used in fbobject.c and contained a bunch of API validation. Split the function into framebuffer_renderbuffer that is static and contains the validation, and _mesa_framebuffer_renderbuffer that is suitable for calling from elsewhere in Mesa (e.g., meta). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
parent
7aedbbacae
commit
9ae42ab1ec
2 changed files with 27 additions and 18 deletions
|
|
@ -3413,8 +3413,27 @@ void
|
|||
_mesa_framebuffer_renderbuffer(struct gl_context *ctx,
|
||||
struct gl_framebuffer *fb,
|
||||
GLenum attachment,
|
||||
struct gl_renderbuffer *rb,
|
||||
const char *func)
|
||||
struct gl_renderbuffer *rb)
|
||||
{
|
||||
assert(!_mesa_is_winsys_fbo(fb));
|
||||
|
||||
FLUSH_VERTICES(ctx, _NEW_BUFFERS);
|
||||
|
||||
assert(ctx->Driver.FramebufferRenderbuffer);
|
||||
ctx->Driver.FramebufferRenderbuffer(ctx, fb, attachment, rb);
|
||||
|
||||
/* Some subsequent GL commands may depend on the framebuffer's visual
|
||||
* after the binding is updated. Update visual info now.
|
||||
*/
|
||||
_mesa_update_framebuffer_visual(ctx, fb);
|
||||
}
|
||||
|
||||
static void
|
||||
framebuffer_renderbuffer(struct gl_context *ctx,
|
||||
struct gl_framebuffer *fb,
|
||||
GLenum attachment,
|
||||
struct gl_renderbuffer *rb,
|
||||
const char *func)
|
||||
{
|
||||
struct gl_renderbuffer_attachment *att;
|
||||
|
||||
|
|
@ -3444,18 +3463,9 @@ _mesa_framebuffer_renderbuffer(struct gl_context *ctx,
|
|||
}
|
||||
}
|
||||
|
||||
FLUSH_VERTICES(ctx, _NEW_BUFFERS);
|
||||
|
||||
assert(ctx->Driver.FramebufferRenderbuffer);
|
||||
ctx->Driver.FramebufferRenderbuffer(ctx, fb, attachment, rb);
|
||||
|
||||
/* Some subsequent GL commands may depend on the framebuffer's visual
|
||||
* after the binding is updated. Update visual info now.
|
||||
*/
|
||||
_mesa_update_framebuffer_visual(ctx, fb);
|
||||
_mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
|
||||
GLenum renderbuffertarget,
|
||||
|
|
@ -3491,8 +3501,8 @@ _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
|
|||
rb = NULL;
|
||||
}
|
||||
|
||||
_mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb,
|
||||
"glFramebufferRenderbuffer");
|
||||
framebuffer_renderbuffer(ctx, fb, attachment, rb,
|
||||
"glFramebufferRenderbuffer");
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -3528,8 +3538,8 @@ _mesa_NamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment,
|
|||
rb = NULL;
|
||||
}
|
||||
|
||||
_mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb,
|
||||
"glNamedFramebufferRenderbuffer");
|
||||
framebuffer_renderbuffer(ctx, fb, attachment, rb,
|
||||
"glNamedFramebufferRenderbuffer");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -91,8 +91,7 @@ extern void
|
|||
_mesa_framebuffer_renderbuffer(struct gl_context *ctx,
|
||||
struct gl_framebuffer *fb,
|
||||
GLenum attachment,
|
||||
struct gl_renderbuffer *rb,
|
||||
const char *func);
|
||||
struct gl_renderbuffer *rb);
|
||||
|
||||
extern void
|
||||
_mesa_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue