[Mesa-dev] [PATCH 2/4] i965: Change intel_region interface to not depend on intelScreen
Ander Conselvan de Oliveira
conselvan2 at gmail.com
Wed Nov 27 07:52:06 PST 2013
From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
The only field from intelScreen used by the intel_region code is the
drm_intel_bufmgr, so take that as a parameter instead of the whole
screen.
---
src/mesa/drivers/dri/i965/brw_context.c | 2 +-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 ++--
src/mesa/drivers/dri/i965/intel_regions.c | 20 ++++++++++----------
src/mesa/drivers/dri/i965/intel_regions.h | 7 +++----
src/mesa/drivers/dri/i965/intel_screen.c | 9 +++++----
5 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index ffbfb43..4c8b61d 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -1291,7 +1291,7 @@ intel_process_dri2_buffer(struct brw_context *brw,
}
intel_miptree_release(&rb->mt);
- region = intel_region_alloc_for_handle(brw->intelScreen,
+ region = intel_region_alloc_for_handle(brw->intelScreen->bufmgr,
buffer->cpp,
drawable->w,
drawable->h,
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 884ddef..7eaaa59 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -563,7 +563,7 @@ intel_miptree_create(struct brw_context *brw,
bool y_or_x = tiling == (I915_TILING_Y | I915_TILING_X);
mt->etc_format = etc_format;
- mt->region = intel_region_alloc(brw->intelScreen,
+ mt->region = intel_region_alloc(brw->intelScreen->bufmgr,
y_or_x ? I915_TILING_Y : tiling,
mt->cpp,
total_width,
@@ -579,7 +579,7 @@ intel_miptree_create(struct brw_context *brw,
mt->total_width, mt->total_height);
intel_region_release(&mt->region);
- mt->region = intel_region_alloc(brw->intelScreen,
+ mt->region = intel_region_alloc(brw->intelScreen->bufmgr,
I915_TILING_X,
mt->cpp,
total_width,
diff --git a/src/mesa/drivers/dri/i965/intel_regions.c b/src/mesa/drivers/dri/i965/intel_regions.c
index 8ad6129..65213d0 100644
--- a/src/mesa/drivers/dri/i965/intel_regions.c
+++ b/src/mesa/drivers/dri/i965/intel_regions.c
@@ -105,7 +105,7 @@ debug_backtrace(void)
#endif
static struct intel_region *
-intel_region_alloc_internal(struct intel_screen *screen,
+intel_region_alloc_internal(drm_intel_bufmgr *bufmgr,
GLuint cpp,
GLuint width, GLuint height, GLuint pitch,
uint32_t tiling, drm_intel_bo *buffer)
@@ -129,7 +129,7 @@ intel_region_alloc_internal(struct intel_screen *screen,
}
struct intel_region *
-intel_region_alloc(struct intel_screen *screen,
+intel_region_alloc(drm_intel_bufmgr *bufmgr,
uint32_t tiling,
GLuint cpp, GLuint width, GLuint height,
bool expect_accelerated_upload)
@@ -142,13 +142,13 @@ intel_region_alloc(struct intel_screen *screen,
if (expect_accelerated_upload)
flags |= BO_ALLOC_FOR_RENDER;
- buffer = drm_intel_bo_alloc_tiled(screen->bufmgr, "region",
+ buffer = drm_intel_bo_alloc_tiled(bufmgr, "region",
width, height, cpp,
&tiling, &aligned_pitch, flags);
if (buffer == NULL)
return NULL;
- region = intel_region_alloc_internal(screen, cpp, width, height,
+ region = intel_region_alloc_internal(bufmgr, cpp, width, height,
aligned_pitch, tiling, buffer);
if (region == NULL) {
drm_intel_bo_unreference(buffer);
@@ -172,7 +172,7 @@ intel_region_flink(struct intel_region *region, uint32_t *name)
}
struct intel_region *
-intel_region_alloc_for_handle(struct intel_screen *screen,
+intel_region_alloc_for_handle(drm_intel_bufmgr *bufmgr,
GLuint cpp,
GLuint width, GLuint height, GLuint pitch,
GLuint handle, const char *name)
@@ -182,7 +182,7 @@ intel_region_alloc_for_handle(struct intel_screen *screen,
int ret;
uint32_t bit_6_swizzle, tiling;
- buffer = intel_bo_gem_create_from_name(screen->bufmgr, name, handle);
+ buffer = intel_bo_gem_create_from_name(bufmgr, name, handle);
if (buffer == NULL)
return NULL;
ret = drm_intel_bo_get_tiling(buffer, &tiling, &bit_6_swizzle);
@@ -193,7 +193,7 @@ intel_region_alloc_for_handle(struct intel_screen *screen,
return NULL;
}
- region = intel_region_alloc_internal(screen, cpp,
+ region = intel_region_alloc_internal(bufmgr, cpp,
width, height, pitch, tiling, buffer);
if (region == NULL) {
drm_intel_bo_unreference(buffer);
@@ -206,7 +206,7 @@ intel_region_alloc_for_handle(struct intel_screen *screen,
}
struct intel_region *
-intel_region_alloc_for_fd(struct intel_screen *screen,
+intel_region_alloc_for_fd(drm_intel_bufmgr *bufmgr,
GLuint cpp,
GLuint width, GLuint height, GLuint pitch,
GLuint size,
@@ -217,7 +217,7 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
int ret;
uint32_t bit_6_swizzle, tiling;
- buffer = drm_intel_bo_gem_create_from_prime(screen->bufmgr, fd, size);
+ buffer = drm_intel_bo_gem_create_from_prime(bufmgr, fd, size);
if (buffer == NULL)
return NULL;
ret = drm_intel_bo_get_tiling(buffer, &tiling, &bit_6_swizzle);
@@ -228,7 +228,7 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
return NULL;
}
- region = intel_region_alloc_internal(screen, cpp,
+ region = intel_region_alloc_internal(bufmgr, cpp,
width, height, pitch, tiling, buffer);
if (region == NULL) {
drm_intel_bo_unreference(buffer);
diff --git a/src/mesa/drivers/dri/i965/intel_regions.h b/src/mesa/drivers/dri/i965/intel_regions.h
index 58a6dd1..9ab5ce8 100644
--- a/src/mesa/drivers/dri/i965/intel_regions.h
+++ b/src/mesa/drivers/dri/i965/intel_regions.h
@@ -47,7 +47,6 @@ extern "C" {
#endif
struct brw_context;
-struct intel_screen;
struct intel_buffer_object;
/**
@@ -81,20 +80,20 @@ struct intel_region
/* 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,
+struct intel_region *intel_region_alloc(drm_intel_bufmgr *bufmgr,
uint32_t tiling,
GLuint cpp, GLuint width,
GLuint height,
bool expect_accelerated_upload);
struct intel_region *
-intel_region_alloc_for_handle(struct intel_screen *screen,
+intel_region_alloc_for_handle(drm_intel_bufmgr *bufmgr,
GLuint cpp,
GLuint width, GLuint height, GLuint pitch,
unsigned int handle, const char *name);
struct intel_region *
-intel_region_alloc_for_fd(struct intel_screen *screen,
+intel_region_alloc_for_fd(drm_intel_bufmgr *bufmgr,
GLuint cpp,
GLuint width, GLuint height, GLuint pitch,
GLuint size,
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index cb37c58..00339f9 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -371,7 +371,7 @@ intel_create_image_from_name(__DRIscreen *screen,
cpp = 1;
else
cpp = _mesa_get_format_bytes(image->format);
- image->region = intel_region_alloc_for_handle(intelScreen,
+ image->region = intel_region_alloc_for_handle(intelScreen->bufmgr,
cpp, width, height,
pitch * cpp, name, "image");
if (image->region == NULL) {
@@ -512,7 +512,8 @@ intel_create_image(__DRIscreen *screen,
cpp = _mesa_get_format_bytes(image->format);
image->region =
- intel_region_alloc(intelScreen, tiling, cpp, width, height, true);
+ intel_region_alloc(intelScreen->bufmgr, tiling, cpp,
+ width, height, true);
if (image->region == NULL) {
free(image);
return NULL;
@@ -659,7 +660,7 @@ intel_create_image_from_fds(__DRIscreen *screen,
if (image == NULL)
return NULL;
- image->region = intel_region_alloc_for_fd(intelScreen,
+ image->region = intel_region_alloc_for_fd(intelScreen->bufmgr,
f->planes[0].cpp, width, height, strides[0],
height * strides[0], fds[0], "image");
if (image->region == NULL) {
@@ -1312,7 +1313,7 @@ intelAllocateBuffer(__DRIscreen *screen,
return NULL;
/* The front and back buffers are color buffers, which are X tiled. */
- intelBuffer->region = intel_region_alloc(intelScreen,
+ intelBuffer->region = intel_region_alloc(intelScreen->bufmgr,
I915_TILING_X,
format / 8,
width,
--
1.7.9.5
More information about the mesa-dev
mailing list