On 07/08/2015 10:07 AM, Emil Velikov wrote: > Most of the data stored(duplicated) was unused, and for the one that is > follow the approach set by other drivers. > This eliminates the use of legacy (dri1) types. > > XXX: The radeon code is the only user of __DRIscreen::drm_version (the > only __DRIversion outside of dri1 land). Should we move it into radeon > and/or bump the min. required drm module version ? > > Cc: Ian Romanick <ian.d.roman...@intel.com>
Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> I think the cleanups suggested by Michel and Emil sound like a good idea too, FWIW. > Cc: Marek Olšák <marek.ol...@amd.com> > Cc: Michel Dänzer <michel.daen...@amd.com> > Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> > --- > src/mesa/drivers/dri/radeon/radeon_common.c | 18 +++++++++--------- > src/mesa/drivers/dri/radeon/radeon_common_context.c | 7 ++----- > src/mesa/drivers/dri/radeon/radeon_common_context.h | 19 +++---------------- > src/mesa/drivers/dri/radeon/radeon_texture.c | 2 +- > 4 files changed, 15 insertions(+), 31 deletions(-) > > diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c > b/src/mesa/drivers/dri/radeon/radeon_common.c > index 2a8bd6c9..d834d9b 100644 > --- a/src/mesa/drivers/dri/radeon/radeon_common.c > +++ b/src/mesa/drivers/dri/radeon/radeon_common.c > @@ -164,7 +164,7 @@ uint32_t radeonGetAge(radeonContextPtr radeon) > > gp.param = RADEON_PARAM_LAST_CLEAR; > gp.value = (int *)&age; > - ret = drmCommandWriteRead(radeon->dri.fd, DRM_RADEON_GETPARAM, > + ret = drmCommandWriteRead(radeon->radeonScreen->driScreen->fd, > DRM_RADEON_GETPARAM, > &gp, sizeof(gp)); > if (ret) { > fprintf(stderr, "%s: drmRadeonGetParam: %d\n", __func__, > @@ -358,8 +358,8 @@ void radeonDrawBuffer( struct gl_context *ctx, GLenum > mode ) > * that the front-buffer has actually been allocated. > */ > if (!was_front_buffer_rendering && > radeon->is_front_buffer_rendering) { > - radeon_update_renderbuffers(radeon->dri.context, > - radeon->dri.context->driDrawablePriv, GL_FALSE); > + radeon_update_renderbuffers(radeon->driContext, > + radeon->driContext->driDrawablePriv, GL_FALSE); > } > } > > @@ -375,8 +375,8 @@ void radeonReadBuffer( struct gl_context *ctx, GLenum > mode ) > || (mode == GL_FRONT); > > if (!was_front_buffer_reading && > rmesa->is_front_buffer_reading) { > - radeon_update_renderbuffers(rmesa->dri.context, > - > rmesa->dri.context->driReadablePriv, GL_FALSE); > + radeon_update_renderbuffers(rmesa->driContext, > + > rmesa->driContext->driReadablePriv, GL_FALSE); > } > } > /* nothing, until we implement h/w glRead/CopyPixels or CopyTexImage */ > @@ -399,7 +399,7 @@ void radeon_window_moved(radeonContextPtr radeon) > void radeon_viewport(struct gl_context *ctx) > { > radeonContextPtr radeon = RADEON_CONTEXT(ctx); > - __DRIcontext *driContext = radeon->dri.context; > + __DRIcontext *driContext = radeon->driContext; > void (*old_viewport)(struct gl_context *ctx); > > if (_mesa_is_winsys_fbo(ctx->DrawBuffer)) { > @@ -693,6 +693,7 @@ void rcommonInitCmdBuf(radeonContextPtr rmesa) > { > GLuint size; > struct drm_radeon_gem_info mminfo = { 0 }; > + int fd = rmesa->radeonScreen->driScreen->fd; > > /* Initialize command buffer */ > size = 256 * driQueryOptioni(&rmesa->optionCache, > @@ -711,8 +712,7 @@ void rcommonInitCmdBuf(radeonContextPtr rmesa) > "Allocating %d bytes command buffer (max state is %d > bytes)\n", > size * 4, rmesa->hw.max_state_size * 4); > > - rmesa->cmdbuf.csm = > - radeon_cs_manager_gem_ctor(rmesa->radeonScreen->driScreen->fd); > + rmesa->cmdbuf.csm = radeon_cs_manager_gem_ctor(fd); > if (rmesa->cmdbuf.csm == NULL) { > /* FIXME: fatal error */ > return; > @@ -725,7 +725,7 @@ void rcommonInitCmdBuf(radeonContextPtr rmesa) > (void (*)(void *))rmesa->glCtx.Driver.Flush, > &rmesa->glCtx); > > > - if (!drmCommandWriteRead(rmesa->dri.fd, DRM_RADEON_GEM_INFO, > + if (!drmCommandWriteRead(fd, DRM_RADEON_GEM_INFO, > &mminfo, sizeof(mminfo))) { > radeon_cs_set_limit(rmesa->cmdbuf.cs, RADEON_GEM_DOMAIN_VRAM, > mminfo.vram_visible); > diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c > b/src/mesa/drivers/dri/radeon/radeon_common_context.c > index 3d0ceda..4660d98 100644 > --- a/src/mesa/drivers/dri/radeon/radeon_common_context.c > +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c > @@ -162,10 +162,7 @@ GLboolean radeonInitContext(radeonContextPtr radeon, > _mesa_meta_init(ctx); > > /* DRI fields */ > - radeon->dri.context = driContextPriv; > - radeon->dri.screen = sPriv; > - radeon->dri.fd = sPriv->fd; > - radeon->dri.drmMinor = sPriv->drm_version.minor; > + radeon->driContext = driContextPriv; > > /* Setup IRQs */ > fthrottle_mode = driQueryOptioni(&radeon->optionCache, > "fthrottle_mode"); > @@ -325,7 +322,7 @@ radeon_bits_per_pixel(const struct radeon_renderbuffer > *rb) > */ > void radeon_prepare_render(radeonContextPtr radeon) > { > - __DRIcontext *driContext = radeon->dri.context; > + __DRIcontext *driContext = radeon->driContext; > __DRIdrawable *drawable; > __DRIscreen *screen; > > diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.h > b/src/mesa/drivers/dri/radeon/radeon_common_context.h > index dc72592..d142a87 100644 > --- a/src/mesa/drivers/dri/radeon/radeon_common_context.h > +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.h > @@ -342,17 +342,6 @@ struct radeon_store { > int elts_start; > }; > > -struct radeon_dri_mirror { > - __DRIcontext *context; /* DRI context */ > - __DRIscreen *screen; /* DRI screen */ > - > - drm_context_t hwContext; > - drm_hw_lock_t *hwLock; > - int hwLockCount; > - int fd; > - int drmMinor; > -}; > - > typedef void (*radeon_tri_func) (radeonContextPtr, > radeonVertex *, > radeonVertex *, radeonVertex *); > @@ -385,6 +374,7 @@ struct radeon_cmdbuf { > > struct radeon_context { > struct gl_context glCtx; /**< base class, must be first */ > + __DRIcontext *driContext; /* DRI context */ > radeonScreenPtr radeonScreen; /* Screen private DRI data */ > > /* Texture object bookkeeping > @@ -407,9 +397,6 @@ struct radeon_context { > /* Drawable information */ > unsigned int lastStamp; > > - /* Mirrors of some DRI state */ > - struct radeon_dri_mirror dri; > - > /* Busy waiting */ > GLuint do_usleeps; > GLuint do_irqs; > @@ -502,12 +489,12 @@ static inline radeonContextPtr RADEON_CONTEXT(struct > gl_context *ctx) > > static inline __DRIdrawable* radeon_get_drawable(radeonContextPtr radeon) > { > - return radeon->dri.context->driDrawablePriv; > + return radeon->driContext->driDrawablePriv; > } > > static inline __DRIdrawable* radeon_get_readable(radeonContextPtr radeon) > { > - return radeon->dri.context->driReadablePriv; > + return radeon->driContext->driReadablePriv; > } > > extern const char const *radeonVendorString; > diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c > b/src/mesa/drivers/dri/radeon/radeon_texture.c > index edfd48b..1a17898 100644 > --- a/src/mesa/drivers/dri/radeon/radeon_texture.c > +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c > @@ -531,7 +531,7 @@ void radeon_image_target_texture_2d(struct gl_context > *ctx, GLenum target, > __DRIscreen *screen; > __DRIimage *image; > > - screen = radeon->dri.screen; > + screen = radeon->radeonScreen->driScreen; > image = screen->dri2.image->lookupEGLImage(screen, image_handle, > screen->loaderPrivate); > if (image == NULL) > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev