[Mesa-dev] [PATCH 16/18] i965: Delete the intel_regions.c code.

Eric Anholt eric at anholt.net
Tue Apr 29 16:34:41 PDT 2014


---
 src/mesa/drivers/dri/i965/Makefile.sources    |   1 -
 src/mesa/drivers/dri/i965/brw_clear.c         |   1 -
 src/mesa/drivers/dri/i965/brw_curbe.c         |   1 -
 src/mesa/drivers/dri/i965/brw_draw.c          |   1 -
 src/mesa/drivers/dri/i965/brw_misc_state.c    |   1 -
 src/mesa/drivers/dri/i965/brw_tex.c           |   1 -
 src/mesa/drivers/dri/i965/gen7_misc_state.c   |   1 -
 src/mesa/drivers/dri/i965/gen8_depth_state.c  |   1 -
 src/mesa/drivers/dri/i965/intel_blit.c        |   1 -
 src/mesa/drivers/dri/i965/intel_debug.c       |   1 -
 src/mesa/drivers/dri/i965/intel_debug.h       |   1 -
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c |   1 -
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h |   4 +-
 src/mesa/drivers/dri/i965/intel_pixel.c       |   1 -
 src/mesa/drivers/dri/i965/intel_pixel_copy.c  |   1 -
 src/mesa/drivers/dri/i965/intel_pixel_draw.c  |   1 -
 src/mesa/drivers/dri/i965/intel_pixel_read.c  |   1 -
 src/mesa/drivers/dri/i965/intel_regions.c     | 198 --------------------------
 src/mesa/drivers/dri/i965/intel_regions.h     |  39 -----
 src/mesa/drivers/dri/i965/intel_tex_copy.c    |   1 -
 src/mesa/drivers/dri/i965/intel_tex_image.c   |   1 +
 src/mesa/drivers/dri/i965/intel_upload.c      |   1 -
 22 files changed, 4 insertions(+), 256 deletions(-)
 delete mode 100644 src/mesa/drivers/dri/i965/intel_regions.c

diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources
index 836c62b..87c73ba 100644
--- a/src/mesa/drivers/dri/i965/Makefile.sources
+++ b/src/mesa/drivers/dri/i965/Makefile.sources
@@ -11,7 +11,6 @@ i965_FILES = \
 	intel_extensions.c \
 	intel_fbo.c \
 	intel_mipmap_tree.c \
-	intel_regions.c \
 	intel_resolve_map.c \
 	intel_screen.c \
 	intel_pixel.c \
diff --git a/src/mesa/drivers/dri/i965/brw_clear.c b/src/mesa/drivers/dri/i965/brw_clear.c
index ee8f54f..a1c1d01 100644
--- a/src/mesa/drivers/dri/i965/brw_clear.c
+++ b/src/mesa/drivers/dri/i965/brw_clear.c
@@ -36,7 +36,6 @@
 #include "intel_blit.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 
 #include "brw_context.h"
 #include "brw_blorp.h"
diff --git a/src/mesa/drivers/dri/i965/brw_curbe.c b/src/mesa/drivers/dri/i965/brw_curbe.c
index e3514ea..e5ca2ce 100644
--- a/src/mesa/drivers/dri/i965/brw_curbe.c
+++ b/src/mesa/drivers/dri/i965/brw_curbe.c
@@ -39,7 +39,6 @@
 #include "program/prog_print.h"
 #include "program/prog_statevars.h"
 #include "intel_batchbuffer.h"
-#include "intel_regions.h"
 #include "brw_context.h"
 #include "brw_defines.h"
 #include "brw_state.h"
diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c
index 9415f91..7a45f33 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -51,7 +51,6 @@
 #include "intel_buffers.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_buffer_objects.h"
 
 #define FILE_DEBUG_FLAG DEBUG_PRIMS
diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c
index 07f1bbb..c75a9f5 100644
--- a/src/mesa/drivers/dri/i965/brw_misc_state.c
+++ b/src/mesa/drivers/dri/i965/brw_misc_state.c
@@ -34,7 +34,6 @@
 #include "intel_batchbuffer.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 
 #include "brw_context.h"
 #include "brw_state.h"
diff --git a/src/mesa/drivers/dri/i965/brw_tex.c b/src/mesa/drivers/dri/i965/brw_tex.c
index 305d83d..2a91cee 100644
--- a/src/mesa/drivers/dri/i965/brw_tex.c
+++ b/src/mesa/drivers/dri/i965/brw_tex.c
@@ -34,7 +34,6 @@
 #include "main/mtypes.h"
 #include "main/teximage.h"
 
-#include "intel_regions.h"
 #include "intel_tex.h"
 #include "brw_context.h"
 
diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c
index 731325e..b6759f1 100644
--- a/src/mesa/drivers/dri/i965/gen7_misc_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_misc_state.c
@@ -24,7 +24,6 @@
 #include "main/mtypes.h"
 #include "intel_batchbuffer.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_fbo.h"
 #include "brw_context.h"
 #include "brw_state.h"
diff --git a/src/mesa/drivers/dri/i965/gen8_depth_state.c b/src/mesa/drivers/dri/i965/gen8_depth_state.c
index 2de30ee..f6031e9 100644
--- a/src/mesa/drivers/dri/i965/gen8_depth_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_depth_state.c
@@ -23,7 +23,6 @@
 
 #include "intel_batchbuffer.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_fbo.h"
 #include "intel_resolve_map.h"
 #include "brw_context.h"
diff --git a/src/mesa/drivers/dri/i965/intel_blit.c b/src/mesa/drivers/dri/i965/intel_blit.c
index 2ebaf73..b5c3408 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.c
+++ b/src/mesa/drivers/dri/i965/intel_blit.c
@@ -38,7 +38,6 @@
 #include "intel_buffers.h"
 #include "intel_fbo.h"
 #include "intel_reg.h"
-#include "intel_regions.h"
 #include "intel_batchbuffer.h"
 #include "intel_mipmap_tree.h"
 
diff --git a/src/mesa/drivers/dri/i965/intel_debug.c b/src/mesa/drivers/dri/i965/intel_debug.c
index dc74202..621a571 100644
--- a/src/mesa/drivers/dri/i965/intel_debug.c
+++ b/src/mesa/drivers/dri/i965/intel_debug.c
@@ -46,7 +46,6 @@ static const struct dri_debug_control debug_control[] = {
    { "bat",   DEBUG_BATCH},
    { "pix",   DEBUG_PIXEL},
    { "buf",   DEBUG_BUFMGR},
-   { "reg",   DEBUG_REGION},
    { "fbo",   DEBUG_FBO},
    { "fs",    DEBUG_WM },
    { "gs",    DEBUG_GS},
diff --git a/src/mesa/drivers/dri/i965/intel_debug.h b/src/mesa/drivers/dri/i965/intel_debug.h
index d4f1666..6402cec 100644
--- a/src/mesa/drivers/dri/i965/intel_debug.h
+++ b/src/mesa/drivers/dri/i965/intel_debug.h
@@ -42,7 +42,6 @@ extern uint64_t INTEL_DEBUG;
 #define DEBUG_BATCH       0x80
 #define DEBUG_PIXEL       0x100
 #define DEBUG_BUFMGR      0x200
-#define DEBUG_REGION      0x400
 #define DEBUG_FBO         0x800
 #define DEBUG_GS          0x1000
 #define DEBUG_SYNC	  0x2000
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 5f241ef..b23fddf 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -31,7 +31,6 @@
 #include "intel_batchbuffer.h"
 #include "intel_chipset.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_resolve_map.h"
 #include "intel_tex.h"
 #include "intel_blit.h"
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
index 502a9bf..8181f82 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
@@ -48,7 +48,8 @@
 
 #include <assert.h>
 
-#include "intel_regions.h"
+#include "main/mtypes.h"
+#include "intel_bufmgr.h"
 #include "intel_resolve_map.h"
 #include <GL/internal/dri_interface.h>
 
@@ -56,6 +57,7 @@
 extern "C" {
 #endif
 
+struct brw_context;
 struct intel_renderbuffer;
 
 struct intel_resolve_map;
diff --git a/src/mesa/drivers/dri/i965/intel_pixel.c b/src/mesa/drivers/dri/i965/intel_pixel.c
index 5f57022..2a49e97 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel.c
@@ -34,7 +34,6 @@
 
 #include "brw_context.h"
 #include "intel_pixel.h"
-#include "intel_regions.h"
 
 #define FILE_DEBUG_FLAG DEBUG_PIXEL
 
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_copy.c b/src/mesa/drivers/dri/i965/intel_pixel_copy.c
index 858be26..3820683 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel_copy.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel_copy.c
@@ -36,7 +36,6 @@
 #include "brw_context.h"
 #include "intel_buffers.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_pixel.h"
 #include "intel_fbo.h"
 #include "intel_blit.h"
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_draw.c b/src/mesa/drivers/dri/i965/intel_pixel_draw.c
index b46bf26..8222f33 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel_draw.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel_draw.c
@@ -44,7 +44,6 @@
 #include "intel_buffers.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_pixel.h"
 #include "intel_buffer_objects.h"
 
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c
index c88f101..f68cdf2 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
@@ -41,7 +41,6 @@
 #include "intel_buffers.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_pixel.h"
 #include "intel_buffer_objects.h"
 
diff --git a/src/mesa/drivers/dri/i965/intel_regions.c b/src/mesa/drivers/dri/i965/intel_regions.c
deleted file mode 100644
index 8e693fd..0000000
--- a/src/mesa/drivers/dri/i965/intel_regions.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2006 VMware, Inc.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- **************************************************************************/
-
-/* Provide additional functionality on top of bufmgr buffers:
- *   - 2d semantics and blit operations
- *   - refcounting of buffers for multiple images in a buffer.
- *   - refcounting of buffer mappings.
- *   - some logic for moving the buffers to the best memory pools for
- *     given operations.
- *
- * Most of this is to make it easier to implement the fixed-layout
- * mipmap tree required by intel hardware in the face of GL's
- * programming interface where each image can be specifed in random
- * order and it isn't clear what layout the tree should have until the
- * last moment.
- */
-
-#include <sys/ioctl.h>
-#include <errno.h>
-
-#include "main/hash.h"
-#include "brw_context.h"
-#include "intel_regions.h"
-#include "intel_blit.h"
-#include "intel_buffer_objects.h"
-#include "intel_bufmgr.h"
-#include "intel_batchbuffer.h"
-
-#define FILE_DEBUG_FLAG DEBUG_REGION
-
-/* This should be set to the maximum backtrace size desired.
- * Set it to 0 to disable backtrace debugging.
- */
-#define DEBUG_BACKTRACE_SIZE 0
-
-#if DEBUG_BACKTRACE_SIZE == 0
-/* Use the standard debug output */
-#define _DBG(...) DBG(__VA_ARGS__)
-#else
-/* Use backtracing debug output */
-#define _DBG(...) {debug_backtrace(); DBG(__VA_ARGS__);}
-
-/* Backtracing debug support */
-#include <execinfo.h>
-
-static void
-debug_backtrace(void)
-{
-   void *trace[DEBUG_BACKTRACE_SIZE];
-   char **strings = NULL;
-   int traceSize;
-   register int i;
-
-   traceSize = backtrace(trace, DEBUG_BACKTRACE_SIZE);
-   strings = backtrace_symbols(trace, traceSize);
-   if (strings == NULL) {
-      DBG("no backtrace:");
-      return;
-   }
-
-   /* Spit out all the strings with a colon separator.  Ignore
-    * the first, since we don't really care about the call
-    * to debug_backtrace() itself.  Skip until the final "/" in
-    * the trace to avoid really long lines.
-    */
-   for (i = 1; i < traceSize; i++) {
-      char *p = strings[i], *slash = strings[i];
-      while (*p) {
-         if (*p++ == '/') {
-            slash = p;
-         }
-      }
-
-      DBG("%s:", slash);
-   }
-
-   /* Free up the memory, and we're done */
-   free(strings);
-}
-
-#endif
-
-static struct intel_region *
-intel_region_alloc_internal(struct intel_screen *screen,
-			    GLuint cpp,
-			    GLuint width, GLuint height, GLuint pitch,
-			    uint32_t tiling, drm_intel_bo *buffer)
-{
-   struct intel_region *region;
-
-   region = calloc(sizeof(*region), 1);
-   if (region == NULL)
-      return region;
-
-   region->cpp = cpp;
-   region->width = width;
-   region->height = height;
-   region->pitch = pitch;
-   region->refcount = 1;
-   region->bo = buffer;
-   region->tiling = tiling;
-
-   _DBG("%s <-- %p\n", __FUNCTION__, region);
-   return region;
-}
-
-struct intel_region *
-intel_region_alloc(struct intel_screen *screen,
-		   uint32_t tiling,
-                   GLuint cpp, GLuint width, GLuint height,
-		   bool expect_accelerated_upload)
-{
-   drm_intel_bo *buffer;
-   unsigned long flags = 0;
-   unsigned long aligned_pitch;
-   struct intel_region *region;
-
-   if (expect_accelerated_upload)
-      flags |= BO_ALLOC_FOR_RENDER;
-
-   buffer = drm_intel_bo_alloc_tiled(screen->bufmgr, "region",
-				     width, height, cpp,
-				     &tiling, &aligned_pitch, flags);
-   if (buffer == NULL)
-      return NULL;
-
-   region = intel_region_alloc_internal(screen, cpp, width, height,
-                                        aligned_pitch, tiling, buffer);
-   if (region == NULL) {
-      drm_intel_bo_unreference(buffer);
-      return NULL;
-   }
-
-   return region;
-}
-
-void
-intel_region_reference(struct intel_region **dst, struct intel_region *src)
-{
-   _DBG("%s: %p(%d) -> %p(%d)\n", __FUNCTION__,
-	*dst, *dst ? (*dst)->refcount : 0, src, src ? src->refcount : 0);
-
-   if (src != *dst) {
-      if (*dst)
-	 intel_region_release(dst);
-
-      if (src)
-         src->refcount++;
-      *dst = src;
-   }
-}
-
-void
-intel_region_release(struct intel_region **region_handle)
-{
-   struct intel_region *region = *region_handle;
-
-   if (region == NULL) {
-      _DBG("%s NULL\n", __FUNCTION__);
-      return;
-   }
-
-   _DBG("%s %p %d\n", __FUNCTION__, region, region->refcount - 1);
-
-   ASSERT(region->refcount > 0);
-   region->refcount--;
-
-   if (region->refcount == 0) {
-      drm_intel_bo_unreference(region->bo);
-
-      free(region);
-   }
-   *region_handle = NULL;
-}
diff --git a/src/mesa/drivers/dri/i965/intel_regions.h b/src/mesa/drivers/dri/i965/intel_regions.h
index 13ed03c..a34f0b0 100644
--- a/src/mesa/drivers/dri/i965/intel_regions.h
+++ b/src/mesa/drivers/dri/i965/intel_regions.h
@@ -46,45 +46,6 @@
 extern "C" {
 #endif
 
-struct brw_context;
-struct intel_screen;
-struct intel_buffer_object;
-
-/**
- * A layer on top of the bufmgr buffers that adds a few useful things:
- *
- * - Refcounting for local buffer references.
- * - Refcounting for buffer maps
- * - Buffer dimensions - pitch and height.
- * - Blitter commands for copying 2D regions between buffers. (really???)
- */
-struct intel_region
-{
-   drm_intel_bo *bo;  /**< buffer manager's buffer */
-   GLuint refcount; /**< Reference count for region */
-   GLuint cpp;      /**< bytes per pixel */
-   GLuint width;    /**< in pixels */
-   GLuint height;   /**< in pixels */
-   GLuint pitch;    /**< in bytes */
-
-   uint32_t tiling; /**< Which tiling mode the region is in */
-};
-
-
-/* Allocate a refcounted region.  Pointers to regions should only be
- * copied by calling intel_reference_region().
- */
-struct intel_region *intel_region_alloc(struct intel_screen *screen,
-                                        uint32_t tiling,
-					GLuint cpp, GLuint width,
-                                        GLuint height,
-					bool expect_accelerated_upload);
-
-void intel_region_reference(struct intel_region **dst,
-                            struct intel_region *src);
-
-void intel_region_release(struct intel_region **ib);
-
 /**
  * Used with images created with image_from_names
  * to help support planar images.
diff --git a/src/mesa/drivers/dri/i965/intel_tex_copy.c b/src/mesa/drivers/dri/i965/intel_tex_copy.c
index c2b6c35..97f1569 100644
--- a/src/mesa/drivers/dri/i965/intel_tex_copy.c
+++ b/src/mesa/drivers/dri/i965/intel_tex_copy.c
@@ -36,7 +36,6 @@
 
 #include "intel_screen.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 #include "intel_fbo.h"
 #include "intel_tex.h"
 #include "intel_blit.h"
diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c
index bbb6602..42fdee3 100644
--- a/src/mesa/drivers/dri/i965/intel_tex_image.c
+++ b/src/mesa/drivers/dri/i965/intel_tex_image.c
@@ -21,6 +21,7 @@
 #include "intel_tex.h"
 #include "intel_blit.h"
 #include "intel_fbo.h"
+#include "intel_regions.h"
 
 #include "brw_context.h"
 
diff --git a/src/mesa/drivers/dri/i965/intel_upload.c b/src/mesa/drivers/dri/i965/intel_upload.c
index bb3f615..870aabc 100644
--- a/src/mesa/drivers/dri/i965/intel_upload.c
+++ b/src/mesa/drivers/dri/i965/intel_upload.c
@@ -39,7 +39,6 @@
 #include "intel_batchbuffer.h"
 #include "intel_fbo.h"
 #include "intel_mipmap_tree.h"
-#include "intel_regions.h"
 
 #include "brw_context.h"
 
-- 
1.9.2



More information about the mesa-dev mailing list