diff options
author | Robert Bragg <robert@linux.intel.com> | 2013-06-30 17:16:58 +0100 |
---|---|---|
committer | Robert Bragg <robert@linux.intel.com> | 2014-01-01 17:43:05 +0000 |
commit | 4868582812dbcd5125495b312d858f751fc31e9d (patch) | |
tree | 1143fc1f0e9e1b11ef1352c3d5d5878a5f0279f5 | |
parent | 59f6fefc37524f492512a71b831760a218d9bb95 (diff) | |
download | cogl-4868582812dbcd5125495b312d858f751fc31e9d.tar.gz |
texture: allocate on slicing/hw repeat queries
The plan is to defer a lot more work in creating a texture until
allocation time. This means that for some texture backends we might not
know until after allocation whether the texture is sliced or can support
hardware repeating. This makes sure we trigger an allocation if either
of these are queried.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
-rw-r--r-- | cogl/cogl-texture.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cogl/cogl-texture.c b/cogl/cogl-texture.c index ec6b7100..515fb43a 100644 --- a/cogl/cogl-texture.c +++ b/cogl/cogl-texture.c @@ -185,6 +185,8 @@ cogl_texture_get_height (CoglTexture *texture) CoglPixelFormat cogl_texture_get_format (CoglTexture *texture) { + if (!texture->allocated) + cogl_texture_allocate (texture, NULL); return texture->vtable->get_format (texture); } @@ -246,6 +248,8 @@ _cogl_texture_get_level_size (CoglTexture *texture, CoglBool cogl_texture_is_sliced (CoglTexture *texture) { + if (!texture->allocated) + cogl_texture_allocate (texture, NULL); return texture->vtable->is_sliced (texture); } @@ -256,6 +260,8 @@ cogl_texture_is_sliced (CoglTexture *texture) CoglBool _cogl_texture_can_hardware_repeat (CoglTexture *texture) { + if (!texture->allocated) + cogl_texture_allocate (texture, NULL); return texture->vtable->can_hardware_repeat (texture); } |