diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_regions.c | 24 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_regions.h | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.c | 14 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.h | 1 |
4 files changed, 2 insertions, 39 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c index 7f535d7cdc4..049af43ca9f 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.c +++ b/src/mesa/drivers/dri/intel/intel_regions.c @@ -183,7 +183,6 @@ intel_region_alloc_internal(struct intel_screen *screen, region->refcount = 1; region->bo = buffer; region->tiling = tiling; - region->screen = screen; _DBG("%s <-- %p\n", __FUNCTION__, region); return region; @@ -225,9 +224,6 @@ intel_region_flink(struct intel_region *region, uint32_t *name) if (region->name == 0) { if (drm_intel_bo_flink(region->bo, ®ion->name)) return false; - - _mesa_HashInsert(region->screen->named_regions, - region->name, region); } *name = region->name; @@ -241,25 +237,11 @@ intel_region_alloc_for_handle(struct intel_screen *screen, GLuint width, GLuint height, GLuint pitch, GLuint handle, const char *name) { - struct intel_region *region, *dummy; + struct intel_region *region; drm_intel_bo *buffer; int ret; uint32_t bit_6_swizzle, tiling; - region = _mesa_HashLookup(screen->named_regions, handle); - if (region != NULL) { - dummy = NULL; - if (region->width != width || region->height != height || - region->cpp != cpp || region->pitch != pitch) { - fprintf(stderr, - "Region for name %d already exists but is not compatible\n", - handle); - return NULL; - } - intel_region_reference(&dummy, region); - return dummy; - } - buffer = intel_bo_gem_create_from_name(screen->bufmgr, name, handle); if (buffer == NULL) return NULL; @@ -279,7 +261,6 @@ intel_region_alloc_for_handle(struct intel_screen *screen, } region->name = handle; - _mesa_HashInsert(screen->named_regions, handle, region); return region; } @@ -320,9 +301,6 @@ intel_region_release(struct intel_region **region_handle) drm_intel_bo_unreference(region->bo); - if (region->name > 0) - _mesa_HashRemove(region->screen->named_regions, region->name); - free(region); } *region_handle = NULL; diff --git a/src/mesa/drivers/dri/intel/intel_regions.h b/src/mesa/drivers/dri/intel/intel_regions.h index 93181414c91..750b89ba629 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.h +++ b/src/mesa/drivers/dri/intel/intel_regions.h @@ -46,6 +46,7 @@ extern "C" { #endif struct intel_context; +struct intel_screen; struct intel_buffer_object; /** @@ -70,7 +71,6 @@ struct intel_region uint32_t tiling; /**< Which tiling mode the region is in */ uint32_t name; /**< Global name for the bo */ - struct intel_screen *screen; }; diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 109cba8b719..0d39b9d3b30 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -680,7 +680,6 @@ intel_from_planar(__DRIimage *parent, int plane, void *loaderPrivate) image->region->bo = parent->region->bo; drm_intel_bo_reference(image->region->bo); image->region->tiling = parent->region->tiling; - image->region->screen = parent->region->screen; image->offset = offset; intel_setup_image_from_dimensions(image); @@ -743,11 +742,6 @@ intel_get_boolean(__DRIscreen *psp, int param) } static void -nop_callback(GLuint key, void *data, void *userData) -{ -} - -static void intelDestroyScreen(__DRIscreen * sPriv) { struct intel_screen *intelScreen = sPriv->driverPrivate; @@ -755,12 +749,6 @@ intelDestroyScreen(__DRIscreen * sPriv) dri_bufmgr_destroy(intelScreen->bufmgr); driDestroyOptionInfo(&intelScreen->optionCache); - /* Some regions may still have references to them at this point, so - * flush the hash table to prevent _mesa_DeleteHashTable() from - * complaining about the hash not being empty; */ - _mesa_HashDeleteAll(intelScreen->named_regions, nop_callback, NULL); - _mesa_DeleteHashTable(intelScreen->named_regions); - free(intelScreen); sPriv->driverPrivate = NULL; } @@ -968,8 +956,6 @@ intel_init_bufmgr(struct intel_screen *intelScreen) drm_intel_bufmgr_gem_enable_fenced_relocs(intelScreen->bufmgr); - intelScreen->named_regions = _mesa_NewHashTable(); - intelScreen->relaxed_relocations = 0; intelScreen->relaxed_relocations |= intel_get_boolean(spriv, I915_PARAM_HAS_RELAXED_DELTA) << 0; diff --git a/src/mesa/drivers/dri/intel/intel_screen.h b/src/mesa/drivers/dri/intel/intel_screen.h index b9c96be5b39..7da98950aca 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.h +++ b/src/mesa/drivers/dri/intel/intel_screen.h @@ -67,7 +67,6 @@ struct intel_screen bool no_vbo; dri_bufmgr *bufmgr; - struct _mesa_HashTable *named_regions; /** * A unique ID for shader programs. |