[cogl/wip/lazy-texture-allocate: 4/11] texture: allocate on slicing/hw repeat queries



commit daf209899fa0ce04ed06c63c60da56a966e7b0ff
Author: Robert Bragg <robert linux intel com>
Date:   Sun Jun 30 17:16:58 2013 +0100

    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.

 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 ec6b710..515fb43 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);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]