mirror of
https://github.com/brl/mutter.git
synced 2025-03-03 19:58:10 +00:00
Add a public cogl_framebuffer_get_depth_bits() function
Cogl publicly exposes the depth buffer state so we might as well have a function to query the number of depth bits of a framebuffer. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit 853143eb10387f50f8d32cf09af31b8829dc1e01)
This commit is contained in:
parent
0b01c91fc5
commit
109e576b1f
@ -111,6 +111,7 @@ typedef struct
|
|||||||
int blue;
|
int blue;
|
||||||
int green;
|
int green;
|
||||||
int alpha;
|
int alpha;
|
||||||
|
int depth;
|
||||||
} CoglFramebufferBits;
|
} CoglFramebufferBits;
|
||||||
|
|
||||||
struct _CoglFramebuffer
|
struct _CoglFramebuffer
|
||||||
|
@ -1133,6 +1133,17 @@ cogl_framebuffer_get_alpha_bits (CoglFramebuffer *framebuffer)
|
|||||||
return bits.alpha;
|
return bits.alpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
cogl_framebuffer_get_depth_bits (CoglFramebuffer *framebuffer)
|
||||||
|
{
|
||||||
|
CoglContext *ctx = framebuffer->context;
|
||||||
|
CoglFramebufferBits bits;
|
||||||
|
|
||||||
|
ctx->driver_vtable->framebuffer_query_bits (framebuffer, &bits);
|
||||||
|
|
||||||
|
return bits.depth;
|
||||||
|
}
|
||||||
|
|
||||||
CoglColorMask
|
CoglColorMask
|
||||||
cogl_framebuffer_get_color_mask (CoglFramebuffer *framebuffer)
|
cogl_framebuffer_get_color_mask (CoglFramebuffer *framebuffer)
|
||||||
{
|
{
|
||||||
|
@ -719,6 +719,20 @@ cogl_framebuffer_get_blue_bits (CoglFramebuffer *framebuffer);
|
|||||||
int
|
int
|
||||||
cogl_framebuffer_get_alpha_bits (CoglFramebuffer *framebuffer);
|
cogl_framebuffer_get_alpha_bits (CoglFramebuffer *framebuffer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cogl_framebuffer_get_depth_bits:
|
||||||
|
* @framebuffer: a pointer to a #CoglFramebuffer
|
||||||
|
*
|
||||||
|
* Retrieves the number of depth bits of @framebuffer
|
||||||
|
*
|
||||||
|
* Return value: the number of bits
|
||||||
|
*
|
||||||
|
* Since: 2.0
|
||||||
|
* Stability: unstable
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
cogl_framebuffer_get_depth_bits (CoglFramebuffer *framebuffer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cogl_framebuffer_get_dither_enabled:
|
* cogl_framebuffer_get_dither_enabled:
|
||||||
* @framebuffer: a pointer to a #CoglFramebuffer
|
* @framebuffer: a pointer to a #CoglFramebuffer
|
||||||
|
@ -920,6 +920,8 @@ _cogl_framebuffer_init_bits (CoglFramebuffer *framebuffer)
|
|||||||
offsetof (CoglFramebufferBits, blue) },
|
offsetof (CoglFramebufferBits, blue) },
|
||||||
{ GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
|
{ GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
|
||||||
offsetof (CoglFramebufferBits, alpha) },
|
offsetof (CoglFramebufferBits, alpha) },
|
||||||
|
{ GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
|
||||||
|
offsetof (CoglFramebufferBits, depth) },
|
||||||
};
|
};
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -940,11 +942,12 @@ _cogl_framebuffer_init_bits (CoglFramebuffer *framebuffer)
|
|||||||
GE( ctx, glGetIntegerv (GL_GREEN_BITS, &framebuffer->bits.green) );
|
GE( ctx, glGetIntegerv (GL_GREEN_BITS, &framebuffer->bits.green) );
|
||||||
GE( ctx, glGetIntegerv (GL_BLUE_BITS, &framebuffer->bits.blue) );
|
GE( ctx, glGetIntegerv (GL_BLUE_BITS, &framebuffer->bits.blue) );
|
||||||
GE( ctx, glGetIntegerv (GL_ALPHA_BITS, &framebuffer->bits.alpha) );
|
GE( ctx, glGetIntegerv (GL_ALPHA_BITS, &framebuffer->bits.alpha) );
|
||||||
|
GE( ctx, glGetIntegerv (GL_DEPTH_BITS, &framebuffer->bits.depth) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
COGL_NOTE (OFFSCREEN,
|
COGL_NOTE (OFFSCREEN,
|
||||||
"RGBA Bits for framebuffer[%p, %s]: %d, %d, %d, %d",
|
"RGBA/D Bits for framebuffer[%p, %s]: %d, %d, %d, %d, %d",
|
||||||
framebuffer,
|
framebuffer,
|
||||||
framebuffer->type == COGL_FRAMEBUFFER_TYPE_OFFSCREEN
|
framebuffer->type == COGL_FRAMEBUFFER_TYPE_OFFSCREEN
|
||||||
? "offscreen"
|
? "offscreen"
|
||||||
@ -952,7 +955,8 @@ _cogl_framebuffer_init_bits (CoglFramebuffer *framebuffer)
|
|||||||
framebuffer->bits.red,
|
framebuffer->bits.red,
|
||||||
framebuffer->bits.blue,
|
framebuffer->bits.blue,
|
||||||
framebuffer->bits.green,
|
framebuffer->bits.green,
|
||||||
framebuffer->bits.alpha);
|
framebuffer->bits.alpha,
|
||||||
|
framebuffer->bits.depth);
|
||||||
|
|
||||||
framebuffer->dirty_bitmasks = FALSE;
|
framebuffer->dirty_bitmasks = FALSE;
|
||||||
}
|
}
|
||||||
|
@ -511,6 +511,7 @@ cogl_framebuffer_get_red_bits
|
|||||||
cogl_framebuffer_get_green_bits
|
cogl_framebuffer_get_green_bits
|
||||||
cogl_framebuffer_get_blue_bits
|
cogl_framebuffer_get_blue_bits
|
||||||
cogl_framebuffer_get_alpha_bits
|
cogl_framebuffer_get_alpha_bits
|
||||||
|
cogl_framebuffer_get_depth_bits
|
||||||
cogl_framebuffer_get_color_mask
|
cogl_framebuffer_get_color_mask
|
||||||
cogl_framebuffer_set_color_mask
|
cogl_framebuffer_set_color_mask
|
||||||
cogl_framebuffer_get_samples_per_pixel
|
cogl_framebuffer_get_samples_per_pixel
|
||||||
|
Loading…
x
Reference in New Issue
Block a user