diff options
22 files changed, 4 insertions, 256 deletions
diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources index 836c62b7e75..87c73baeca0 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 ee8f54fec54..a1c1d0131b2 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 e3514ea0905..e5ca2ce6b66 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 d16106c4049..fef1c063e15 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 ebe77882c5c..dcf40d036e7 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 13578b83e30..2cb9aa6503a 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 731325e2f35..b6759f15ffe 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 2de30eea637..f6031e97231 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 2ebaf73768f..b5c3408b935 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 dc74202f491..621a571c3d8 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 d4f1666261b..6402cec80d8 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 5f241eff034..b23fddf7b0f 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 502a9bf4218..8181f82f3b3 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 a6db7fa36d0..34543334cde 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 5687c2837e9..d928e1dfd70 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 b46bf261682..8222f33f4ae 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 24d2800670c..beb31522c13 100644 --- a/src/mesa/drivers/dri/i965/intel_pixel_read.c +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c @@ -42,7 +42,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 8e693fdb944..00000000000 --- 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 13ed03ce584..a34f0b0e3f8 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 c2b6c350c1b..97f1569330d 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 bbb66026f23..42fdee32a32 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 bb3f615d987..870aabc8863 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" |