Mesa (master): i915g: Reorg texture code a bit

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Mon Aug 31 15:52:47 UTC 2009


Module: Mesa
Branch: master
Commit: 5374aff56f1ebd161f11b5469f7427ea73c09a41
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5374aff56f1ebd161f11b5469f7427ea73c09a41

Author: Jakob Bornecrantz <wallbraker at gmail.com>
Date:   Sun Aug 30 19:20:45 2009 +0100

i915g: Reorg texture code a bit

---

 src/gallium/drivers/i915simple/i915_texture.c |   89 +++++++++++++++----------
 1 files changed, 53 insertions(+), 36 deletions(-)

diff --git a/src/gallium/drivers/i915simple/i915_texture.c b/src/gallium/drivers/i915simple/i915_texture.c
index d363962..1ed3856 100644
--- a/src/gallium/drivers/i915simple/i915_texture.c
+++ b/src/gallium/drivers/i915simple/i915_texture.c
@@ -44,10 +44,12 @@
 #include "i915_screen.h"
 #include "i915_winsys.h"
 
+
 /*
  * Helper function and arrays
  */
 
+
 /**
  * Initial offset for Cube map.
  */
@@ -487,7 +489,6 @@ i915_miptree_layout(struct i915_texture * tex)
    return TRUE;
 }
 
-
 static boolean
 i945_miptree_layout(struct i915_texture * tex)
 {
@@ -575,6 +576,11 @@ i945_miptree_layout(struct i915_texture * tex)
 }
 
 
+/*
+ * Screen texture functions
+ */
+
+
 static struct pipe_texture *
 i915_texture_create(struct pipe_screen *screen,
                     const struct pipe_texture *templat)
@@ -629,6 +635,39 @@ fail:
    return NULL;
 }
 
+static struct pipe_texture *
+i915_texture_blanket(struct pipe_screen * screen,
+                     const struct pipe_texture *base,
+                     const unsigned *stride,
+                     struct pipe_buffer *buffer)
+{
+   struct i915_texture *tex;
+   assert(screen);
+
+   /* Only supports one type */
+   if (base->target != PIPE_TEXTURE_2D ||
+       base->last_level != 0 ||
+       base->depth[0] != 1) {
+      return NULL;
+   }
+
+   tex = CALLOC_STRUCT(i915_texture);
+   if (!tex)
+      return NULL;
+
+   tex->base = *base;
+   pipe_reference_init(&tex->base.reference, 1);
+   tex->base.screen = screen;
+
+   tex->stride = stride[0];
+
+   i915_miptree_set_level_info(tex, 0, 1, base->width[0], base->height[0], 1);
+   i915_miptree_set_image_offset(tex, 0, 0, 0, 0);
+
+   pipe_buffer_reference(&tex->buffer, buffer);
+
+   return &tex->base;
+}
 
 static void
 i915_texture_destroy(struct pipe_texture *pt)
@@ -649,6 +688,12 @@ i915_texture_destroy(struct pipe_texture *pt)
    FREE(tex);
 }
 
+
+/*
+ * Screen surface functions
+ */
+
+
 static struct pipe_surface *
 i915_get_tex_surface(struct pipe_screen *screen,
                      struct pipe_texture *pt,
@@ -684,40 +729,6 @@ i915_get_tex_surface(struct pipe_screen *screen,
    return ps;
 }
 
-static struct pipe_texture *
-i915_texture_blanket(struct pipe_screen * screen,
-                     const struct pipe_texture *base,
-                     const unsigned *stride,
-                     struct pipe_buffer *buffer)
-{
-   struct i915_texture *tex;
-   assert(screen);
-
-   /* Only supports one type */
-   if (base->target != PIPE_TEXTURE_2D ||
-       base->last_level != 0 ||
-       base->depth[0] != 1) {
-      return NULL;
-   }
-
-   tex = CALLOC_STRUCT(i915_texture);
-   if (!tex)
-      return NULL;
-
-   tex->base = *base;
-   pipe_reference_init(&tex->base.reference, 1);
-   tex->base.screen = screen;
-
-   tex->stride = stride[0];
-
-   i915_miptree_set_level_info(tex, 0, 1, base->width[0], base->height[0], 1);
-   i915_miptree_set_image_offset(tex, 0, 0, 0, 0);
-
-   pipe_buffer_reference(&tex->buffer, buffer);
-
-   return &tex->base;
-}
-
 static void
 i915_tex_surface_destroy(struct pipe_surface *surf)
 {
@@ -725,13 +736,19 @@ i915_tex_surface_destroy(struct pipe_surface *surf)
    FREE(surf);
 }
 
+
+/*
+ * Other texture functions
+ */
+
+
 void
 i915_init_screen_texture_functions(struct i915_screen *is)
 {
    is->base.texture_create = i915_texture_create;
+   is->base.texture_blanket = i915_texture_blanket;
    is->base.texture_destroy = i915_texture_destroy;
    is->base.get_tex_surface = i915_get_tex_surface;
-   is->base.texture_blanket = i915_texture_blanket;
    is->base.tex_surface_destroy = i915_tex_surface_destroy;
 }
 




More information about the mesa-commit mailing list