[Mesa-dev] Radeon DRI1 removal

Eric Anholt eric at anholt.net
Wed Oct 19 17:50:29 PDT 2011


For the MapRenderbuffer() code (See
http://cgit.freedesktop.org/~anholt/mesa/log/?h=rbmap for the current
work, which has glReadPixels() converted so far and tested on gen6 with
only one regression in the tip commit), I need to be able to provide a
linear mapping of arbitrary renderbuffers.  Radeon's legacy DRI1 support
gets in the way of that -- I need to use the blitter to a temporary to
do untiling (which means holding the hw lock across map/unmap cycles,
and thus refcounting the lock), and I need to do clipping on read and
write.

I think it would be much better to just ditch DRI1 at this point, since
KMS and DRI2 are quite well established, and are relied on by shipping
desktop environments.

Code to do so is at
http://cgit.freedesktop.org/~anholt/mesa/log/?h=radeon-kill-dri1 which
is tested on r300 only currently.  No piglit regressions there, though I
do note that copyteximage is unreliable both before and after (rendering
always looks good to my eyes, but readback apparently gets junk).

So, Radeon maintainers, what do you think?  And, does anyone else want
to test it on the other drivers?  I caught two bugs in my r300 testing
(one too many lines cut in one r300 commit, and I had also removed the
texsubimage code in an unrelated-to-the-series commit, but it regressed
s3tc-texsubimage so I backed it out).

 b/configs/autoconf.in                                 |    2 
 b/configure.ac                                        |   18 
 b/src/mesa/drivers/dri/common/texmem.c                |    3 
 b/src/mesa/drivers/dri/common/texmem.h                |    4 
 b/src/mesa/drivers/dri/intel/intel_buffers.h          |    5 
 b/src/mesa/drivers/dri/intel/intel_tex.c              |   23 
 b/src/mesa/drivers/dri/nouveau/nouveau_texture.c      |   12 
 b/src/mesa/drivers/dri/r200/Makefile                  |   12 
 b/src/mesa/drivers/dri/r200/r200_cmdbuf.c             |   79 -
 b/src/mesa/drivers/dri/r200/r200_context.c            |    8 
 b/src/mesa/drivers/dri/r200/r200_context.h            |    2 
 b/src/mesa/drivers/dri/r200/r200_ioctl.c              |  139 --
 b/src/mesa/drivers/dri/r200/r200_ioctl.h              |   18 
 b/src/mesa/drivers/dri/r200/r200_state.c              |    3 
 b/src/mesa/drivers/dri/r200/r200_state_init.c         |  376 +------
 b/src/mesa/drivers/dri/r200/r200_swtcl.c              |    2 
 b/src/mesa/drivers/dri/r200/r200_tex.h                |    3 
 b/src/mesa/drivers/dri/r200/r200_texstate.c           |   37 
 b/src/mesa/drivers/dri/r300/Makefile                  |   12 
 b/src/mesa/drivers/dri/r300/r300_cmdbuf.c             |  169 ---
 b/src/mesa/drivers/dri/r300/r300_context.c            |    8 
 b/src/mesa/drivers/dri/r300/r300_emit.h               |   94 -
 b/src/mesa/drivers/dri/r300/r300_render.c             |   84 -
 b/src/mesa/drivers/dri/r300/r300_state.c              |   19 
 b/src/mesa/drivers/dri/r300/r300_tex.h                |    4 
 b/src/mesa/drivers/dri/r300/r300_texstate.c           |   42 
 b/src/mesa/drivers/dri/r300/r300_vertprog.c           |    3 
 b/src/mesa/drivers/dri/r600/Makefile                  |   12 
 b/src/mesa/drivers/dri/r600/evergreen_chip.c          |   18 
 b/src/mesa/drivers/dri/r600/evergreen_context.c       |    2 
 b/src/mesa/drivers/dri/r600/evergreen_state.c         |   29 
 b/src/mesa/drivers/dri/r600/evergreen_tex.c           |   92 -
 b/src/mesa/drivers/dri/r600/evergreen_tex.h           |    2 
 b/src/mesa/drivers/dri/r600/r600_cmdbuf.c             |  445 --------
 b/src/mesa/drivers/dri/r600/r600_cmdbuf.h             |    2 
 b/src/mesa/drivers/dri/r600/r600_context.c            |   12 
 b/src/mesa/drivers/dri/r600/r600_tex.h                |    4 
 b/src/mesa/drivers/dri/r600/r600_texstate.c           |   93 -
 b/src/mesa/drivers/dri/r600/r700_chip.c               |   18 
 b/src/mesa/drivers/dri/r600/r700_clear.c              |    7 
 b/src/mesa/drivers/dri/r600/r700_state.c              |   24 
 b/src/mesa/drivers/dri/radeon/Makefile                |   12 
 b/src/mesa/drivers/dri/radeon/radeon_bocs_wrapper.h   |   98 -
 b/src/mesa/drivers/dri/radeon/radeon_cmdbuf.h         |    2 
 b/src/mesa/drivers/dri/radeon/radeon_common.c         |  552 ----------
 b/src/mesa/drivers/dri/radeon/radeon_common.h         |   12 
 b/src/mesa/drivers/dri/radeon/radeon_common_context.c |   79 -
 b/src/mesa/drivers/dri/radeon/radeon_common_context.h |   20 
 b/src/mesa/drivers/dri/radeon/radeon_context.c        |   14 
 b/src/mesa/drivers/dri/radeon/radeon_context.h        |    2 
 b/src/mesa/drivers/dri/radeon/radeon_dma.c            |    5 
 b/src/mesa/drivers/dri/radeon/radeon_fbo.c            |   56 -
 b/src/mesa/drivers/dri/radeon/radeon_ioctl.c          |  216 ----
 b/src/mesa/drivers/dri/radeon/radeon_ioctl.h          |   19 
 b/src/mesa/drivers/dri/radeon/radeon_queryobj.c       |   24 
 b/src/mesa/drivers/dri/radeon/radeon_screen.c         |  570 ----------
 b/src/mesa/drivers/dri/radeon/radeon_screen.h         |    1 
 b/src/mesa/drivers/dri/radeon/radeon_span.c           |  180 +--
 b/src/mesa/drivers/dri/radeon/radeon_state.c          |   35 
 b/src/mesa/drivers/dri/radeon/radeon_state.h          |    2 
 b/src/mesa/drivers/dri/radeon/radeon_state_init.c     |  322 +-----
 b/src/mesa/drivers/dri/radeon/radeon_tex.h            |    4 
 b/src/mesa/drivers/dri/radeon/radeon_texstate.c       |   37 
 b/src/mesa/drivers/dri/radeon/radeon_texture.c        |   41 
 b/src/mesa/drivers/dri/radeon/radeon_texture.h        |    1 
 src/mesa/drivers/dri/r200/radeon_bo.c                 |    1 
 src/mesa/drivers/dri/r200/radeon_bo_legacy.c          |    1 
 src/mesa/drivers/dri/r200/radeon_bo_legacy.h          |    1 
 src/mesa/drivers/dri/r200/radeon_cs.c                 |    1 
 src/mesa/drivers/dri/r200/radeon_cs_legacy.h          |    1 
 src/mesa/drivers/dri/r200/radeon_cs_space_drm.c       |    1 
 src/mesa/drivers/dri/r200/radeon_lock.c               |    1 
 src/mesa/drivers/dri/r200/radeon_lock.h               |    1 
 src/mesa/drivers/dri/r300/radeon_bo.c                 |    1 
 src/mesa/drivers/dri/r300/radeon_bo_legacy.c          |    1 
 src/mesa/drivers/dri/r300/radeon_bo_legacy.h          |    1 
 src/mesa/drivers/dri/r300/radeon_cs.c                 |    1 
 src/mesa/drivers/dri/r300/radeon_cs_legacy.h          |    1 
 src/mesa/drivers/dri/r300/radeon_cs_space_drm.c       |    1 
 src/mesa/drivers/dri/r300/radeon_lock.c               |    1 
 src/mesa/drivers/dri/r300/radeon_lock.h               |    1 
 src/mesa/drivers/dri/r600/radeon_bo.c                 |    1 
 src/mesa/drivers/dri/r600/radeon_bo_legacy.h          |    1 
 src/mesa/drivers/dri/r600/radeon_cs.c                 |    1 
 src/mesa/drivers/dri/r600/radeon_cs_legacy.h          |    1 
 src/mesa/drivers/dri/r600/radeon_cs_space_drm.c       |    1 
 src/mesa/drivers/dri/r600/radeon_lock.c               |    1 
 src/mesa/drivers/dri/r600/radeon_lock.h               |    1 
 src/mesa/drivers/dri/radeon/radeon_bo.c               |  110 --
 src/mesa/drivers/dri/radeon/radeon_bo_legacy.c        |  938 ------------------
 src/mesa/drivers/dri/radeon/radeon_bo_legacy.h        |   50 
 src/mesa/drivers/dri/radeon/radeon_cs.c               |   95 -
 src/mesa/drivers/dri/radeon/radeon_cs_legacy.c        |  414 -------
 src/mesa/drivers/dri/radeon/radeon_cs_legacy.h        |   40 
 src/mesa/drivers/dri/radeon/radeon_cs_space_drm.c     |  244 ----
 src/mesa/drivers/dri/radeon/radeon_lock.c             |  156 --
 src/mesa/drivers/dri/radeon/radeon_lock.h             |   69 -
 97 files changed, 449 insertions(+), 5935 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20111019/d5693bc9/attachment.pgp>


More information about the mesa-dev mailing list