mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
sync with texmem branch
This commit is contained in:
parent
eccb6a0698
commit
59e0faaa5c
3 changed files with 15 additions and 3 deletions
|
|
@ -801,6 +801,8 @@ struct dd_function_table {
|
|||
/*@{*/
|
||||
struct gl_framebuffer * (*NewFramebuffer)(GLcontext *ctx, GLuint name);
|
||||
struct gl_renderbuffer * (*NewRenderbuffer)(GLcontext *ctx, GLuint name);
|
||||
void (*BindFramebuffer)(GLcontext *ctx, GLenum target,
|
||||
struct gl_framebuffer *fb);
|
||||
void (*FramebufferRenderbuffer)(GLcontext *ctx,
|
||||
struct gl_framebuffer *fb,
|
||||
GLenum attachment,
|
||||
|
|
|
|||
|
|
@ -653,11 +653,14 @@ _mesa_GenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers)
|
|||
/**
|
||||
* Given an internal format token for a render buffer, return the
|
||||
* corresponding base format.
|
||||
* This is very similar to _mesa_base_tex_format() but the set of valid
|
||||
* internal formats is somewhat different.
|
||||
*
|
||||
* \return one of GL_RGB, GL_RGBA, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT
|
||||
* GL_DEPTH_STENCIL_EXT or zero if error.
|
||||
*/
|
||||
static GLenum
|
||||
base_internal_format(GLcontext *ctx, GLenum internalFormat)
|
||||
GLenum
|
||||
_mesa_base_fbo_format(GLcontext *ctx, GLenum internalFormat)
|
||||
{
|
||||
switch (internalFormat) {
|
||||
case GL_RGB:
|
||||
|
|
@ -717,7 +720,7 @@ _mesa_RenderbufferStorageEXT(GLenum target, GLenum internalFormat,
|
|||
return;
|
||||
}
|
||||
|
||||
baseFormat = base_internal_format(ctx, internalFormat);
|
||||
baseFormat = _mesa_base_fbo_format(ctx, internalFormat);
|
||||
if (baseFormat == 0) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM,
|
||||
"glRenderbufferStorageEXT(internalFormat)");
|
||||
|
|
@ -973,6 +976,10 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer)
|
|||
}
|
||||
ctx->DrawBuffer = newFb;
|
||||
}
|
||||
|
||||
if (ctx->Driver.BindFramebuffer) {
|
||||
ctx->Driver.BindFramebuffer(ctx, target, newFb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -54,6 +54,9 @@ _mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
|
|||
extern void
|
||||
_mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb);
|
||||
|
||||
extern GLenum
|
||||
_mesa_base_fbo_format(GLcontext *ctx, GLenum internalFormat);
|
||||
|
||||
extern GLboolean GLAPIENTRY
|
||||
_mesa_IsRenderbufferEXT(GLuint renderbuffer);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue