texture: make cogl_texture_get_format api private

CoglPixelFormat is not a good way of describing the internal
format of a texture because it's too specific given that we don't
actually have exact knowledge of the internal format used by the driver.

This makes cogl_texture_get_format private and in the future we'll
provide a better way of querying the channels and their precision.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
This commit is contained in:
Robert Bragg 2013-06-27 18:33:04 +01:00
parent 83b05cbe39
commit ffde82981f
18 changed files with 23 additions and 33 deletions

View File

@ -185,7 +185,7 @@ _cogl_pango_pipeline_cache_get (CoglPangoPipelineCache *cache,
entry->texture = cogl_object_ref (texture);
if (cogl_texture_get_format (entry->texture) == COGL_PIXEL_FORMAT_A_8)
if (_cogl_texture_get_format (entry->texture) == COGL_PIXEL_FORMAT_A_8)
base = get_base_texture_alpha_pipeline (cache);
else
base = get_base_texture_rgba_pipeline (cache);

View File

@ -530,7 +530,7 @@ cogl_pango_renderer_set_dirty_glyph (PangoFont *font,
here */
_COGL_RETURN_IF_FAIL (value->texture != NULL);
if (cogl_texture_get_format (value->texture) == COGL_PIXEL_FORMAT_A_8)
if (_cogl_texture_get_format (value->texture) == COGL_PIXEL_FORMAT_A_8)
{
format_cairo = CAIRO_FORMAT_A8;
format_cogl = COGL_PIXEL_FORMAT_A_8;

View File

@ -502,7 +502,7 @@ libcogl2_la_LDFLAGS = \
-no-undefined \
-version-info @COGL_LT_CURRENT@:@COGL_LT_REVISION@:@COGL_LT_AGE@ \
-export-dynamic \
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_foreach_sub_texture_in_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_primitive_draw|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|test_|unit_test_).*"
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_get_format|_cogl_texture_foreach_sub_texture_in_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_primitive_draw|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|test_|unit_test_).*"
libcogl2_la_SOURCES = $(cogl_sources_c)
nodist_libcogl2_la_SOURCES = $(BUILT_SOURCES)

View File

@ -520,7 +520,7 @@ _cogl_atlas_texture_convert_bitmap_for_upload (CoglAtlasTexture *atlas_tex,
/* We'll prepare to upload using the format of the actual texture of
the atlas texture instead of the format reported by
cogl_texture_get_format which would be the original internal
_cogl_texture_get_format which would be the original internal
format specified when the texture was created. However we'll
preserve the premult status of the internal format because the
images are all stored in the original premult format of the

View File

@ -150,8 +150,8 @@ _cogl_blit_framebuffer_begin (CoglBlitData *data)
/* We can only blit between FBOs if both textures are the same
format and the blit framebuffer extension is supported */
if ((cogl_texture_get_format (data->src_tex) & ~COGL_A_BIT) !=
(cogl_texture_get_format (data->dst_tex) & ~COGL_A_BIT) ||
if ((_cogl_texture_get_format (data->src_tex) & ~COGL_A_BIT) !=
(_cogl_texture_get_format (data->dst_tex) & ~COGL_A_BIT) ||
!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_OFFSCREEN_BLIT))
return FALSE;
@ -268,7 +268,7 @@ _cogl_blit_copy_tex_sub_image_end (CoglBlitData *data)
static CoglBool
_cogl_blit_get_tex_data_begin (CoglBlitData *data)
{
data->format = cogl_texture_get_format (data->src_tex);
data->format = _cogl_texture_get_format (data->src_tex);
data->bpp = _cogl_pixel_format_get_bytes_per_pixel (data->format);
data->image_data = g_malloc (data->bpp * data->src_width *

View File

@ -727,7 +727,7 @@ cogl_framebuffer_allocate (CoglFramebuffer *framebuffer,
/* Forward the texture format as the internal format of the
* framebuffer */
framebuffer->internal_format =
cogl_texture_get_format (offscreen->texture);
_cogl_texture_get_format (offscreen->texture);
if (!ctx->driver_vtable->offscreen_allocate (offscreen, error))
return FALSE;

View File

@ -110,7 +110,7 @@ _cogl_pipeline_layer_has_alpha (CoglPipelineLayer *layer)
_cogl_pipeline_layer_get_authority (layer,
COGL_PIPELINE_LAYER_STATE_TEXTURE_DATA);
if (tex_authority->texture &&
cogl_texture_get_format (tex_authority->texture) & COGL_A_BIT)
_cogl_texture_get_format (tex_authority->texture) & COGL_A_BIT)
{
return TRUE;
}

View File

@ -411,7 +411,7 @@ _cogl_sub_texture_get_format (CoglTexture *tex)
{
CoglSubTexture *sub_tex = COGL_SUB_TEXTURE (tex);
return cogl_texture_get_format (sub_tex->full_texture);
return _cogl_texture_get_format (sub_tex->full_texture);
}
static GLenum

View File

@ -1304,7 +1304,7 @@ _cogl_texture_2d_sliced_set_region (CoglTexture *tex,
CoglBool status;
upload_bmp = _cogl_bitmap_convert_for_upload (bmp,
cogl_texture_get_format (tex),
_cogl_texture_get_format (tex),
FALSE, /* can't convert in
place */
error);

View File

@ -282,4 +282,7 @@ void
_cogl_texture_set_allocated (CoglTexture *texture,
CoglBool allocated);
CoglPixelFormat
_cogl_texture_get_format (CoglTexture *texture);
#endif /* __COGL_TEXTURE_PRIVATE_H */

View File

@ -581,7 +581,7 @@ _cogl_texture_rectangle_set_region (CoglTexture *tex,
upload_bmp =
_cogl_bitmap_convert_for_upload (bmp,
cogl_texture_get_format (tex),
_cogl_texture_get_format (tex),
FALSE, /* can't convert in place */
error);
if (upload_bmp == NULL)

View File

@ -183,7 +183,7 @@ cogl_texture_get_height (CoglTexture *texture)
}
CoglPixelFormat
cogl_texture_get_format (CoglTexture *texture)
_cogl_texture_get_format (CoglTexture *texture)
{
if (!texture->allocated)
cogl_texture_allocate (texture, NULL);
@ -353,7 +353,7 @@ cogl_texture_set_region_from_bitmap (CoglTexture *texture,
/* Note that we don't prepare the bitmap for upload here because
some backends may be internally using a different format for the
actual GL texture than that reported by
cogl_texture_get_format. For example the atlas textures are
_cogl_texture_get_format. For example the atlas textures are
always stored in an RGBA texture even if the texture format is
advertised as RGB. */
@ -614,7 +614,7 @@ cogl_texture_draw_and_read_to_bitmap (CoglTexture *texture,
*
* TODO: verify if this is still an issue
*/
if ((cogl_texture_get_format (texture) & COGL_A_BIT)/* && a_bits == 0*/)
if ((_cogl_texture_get_format (texture) & COGL_A_BIT)/* && a_bits == 0*/)
{
uint8_t *srcdata;
uint8_t *dstdata;
@ -904,7 +904,7 @@ cogl_texture_get_data (CoglTexture *texture,
CoglTextureGetData tg_data;
texture_format = cogl_texture_get_format (texture);
texture_format = _cogl_texture_get_format (texture);
/* Default to internal format if none specified */
if (format == COGL_PIXEL_FORMAT_ANY)

View File

@ -146,17 +146,6 @@ cogl_texture_get_width (CoglTexture *texture);
unsigned int
cogl_texture_get_height (CoglTexture *texture);
/**
* cogl_texture_get_format:
* @texture: a #CoglTexture pointer.
*
* Queries the #CoglPixelFormat of a cogl texture.
*
* Return value: the #CoglPixelFormat of the GPU side texture
*/
CoglPixelFormat
cogl_texture_get_format (CoglTexture *texture);
/**
* cogl_texture_is_sliced:
* @texture: a #CoglTexture pointer.

View File

@ -543,7 +543,6 @@ cogl_sub_texture_new
cogl_texture_error_domain
cogl_texture_flags_get_type
cogl_texture_get_data
cogl_texture_get_format
cogl_texture_get_gl_texture
cogl_texture_get_height
cogl_texture_get_width

View File

@ -416,7 +416,7 @@ attach_depth_texture (CoglContext *ctx,
{
/* attach a GL_DEPTH_STENCIL texture to the GL_DEPTH_ATTACHMENT and
* GL_STENCIL_ATTACHMENT attachement points */
g_assert (cogl_texture_get_format (depth_texture) ==
g_assert (_cogl_texture_get_format (depth_texture) ==
COGL_PIXEL_FORMAT_DEPTH_24_STENCIL_8);
cogl_texture_get_gl_texture (depth_texture,
@ -435,7 +435,7 @@ attach_depth_texture (CoglContext *ctx,
{
/* attach a newly created GL_DEPTH_COMPONENT16 texture to the
* GL_DEPTH_ATTACHMENT attachement point */
g_assert (cogl_texture_get_format (depth_texture) ==
g_assert (_cogl_texture_get_format (depth_texture) ==
COGL_PIXEL_FORMAT_DEPTH_16);
cogl_texture_get_gl_texture (COGL_TEXTURE (depth_texture),

View File

@ -571,7 +571,7 @@ _cogl_texture_2d_gl_copy_from_bitmap (CoglTexture2D *tex_2d,
upload_bmp =
_cogl_bitmap_convert_for_upload (bmp,
cogl_texture_get_format (tex),
_cogl_texture_get_format (tex),
FALSE, /* can't convert in place */
error);
if (upload_bmp == NULL)

View File

@ -986,7 +986,7 @@ _cogl_texture_pixmap_x11_get_format (CoglTexture *tex)
CoglTexture *child_tex = _cogl_texture_pixmap_x11_get_texture (tex_pixmap);
/* Forward on to the child texture */
return cogl_texture_get_format (child_tex);
return _cogl_texture_get_format (child_tex);
}
static GLenum

View File

@ -338,7 +338,6 @@ cogl_is_texture
<SUBSECTION>
cogl_texture_get_width
cogl_texture_get_height
cogl_texture_get_format
cogl_texture_is_sliced
cogl_texture_get_data
cogl_texture_set_data