[Mesa-dev] Removing ARB_imaging subset extensions

Eric Anholt eric at anholt.net
Sun Sep 19 17:59:46 PDT 2010


On our way to OpenGL 3.0, it would be nice to clean out some of the
optional deprecated features that Mesa supports.  The ARB_imaging subset
is the highest on my list -- it significantly clutters up the pixel
path, and has always been optional even though the specification text
got rolled into OpenGL 1.2.  ATI's proprietary driver never supported
the imaging subset, and what I've read of NVIDIA's implementation
online, its presence is a user trap.  Keeping an implementation of it is
not helping our users from a performance or portability perspective.

I've pushed a branch to my repo removing most of SGI_color_matrix,
SGI_color_table, EXT_histogram, and EXT_convolution.  Here's the
diffstat:

 drivers/common/driverfuncs.c          |    2 
 drivers/common/meta.c                 |   82 --
 drivers/dri/i965/brw_state_upload.c   |    1 
 drivers/dri/intel/intel_extensions.c  |    2 
 drivers/dri/intel/intel_tex_image.c   |   20 
 drivers/dri/radeon/radeon_texture.c   |   16 
 drivers/dri/savage/savagetex.c        |    3 
 drivers/dri/unichrome/via_tex.c       |   22 
 main/attrib.c                         |   29 
 main/blend.c                          |    6 
 main/colortab.c                       |  204 -----
 main/colortab.h                       |    7 
 main/context.c                        |    8 
 main/convolve.c                       | 1307 ----------------------------------
 main/convolve.h                       |   70 -
 main/dd.h                             |    9 
 main/debug.c                          |    3 
 main/dlist.c                          |    2 
 main/enable.c                         |   89 --
 main/extensions.c                     |   17 
 main/get.c                            |   76 -
 main/histogram.c                      |  971 -------------------------
 main/histogram.h                      |    2 
 main/image.c                          |  141 ---
 main/image.h                          |    5 
 main/matrix.c                         |    6 
 main/mfeatures.h                      |    1 
 main/mtypes.h                         |  125 ---
 main/pixel.c                          |  170 ----
 main/querymatrix.c                    |    4 
 main/texcompress_fxt1.c               |    3 
 main/texcompress_s3tc.c               |    5 
 main/teximage.c                       |   62 -
 main/texstore.c                       |  210 -----
 program/prog_statevars.c              |   29 
 program/prog_statevars.h              |    3 
 state_tracker/st_atom_pixeltransfer.c |  130 ---
 state_tracker/st_cb_readpixels.c      |    3 
 state_tracker/st_cb_texture.c         |    6 
 state_tracker/st_extensions.c         |    1 
 swrast/s_copypix.c                    |  107 --
 swrast/s_drawpix.c                    |   92 --
 swrast/s_readpix.c                    |   59 -
 43 files changed, 96 insertions(+), 4014 deletions(-)

That's 2.7% of mesa/main/, and driver size dropped correspondingly.
Note that we don't get to completely drop histogram.c and convolve.c, as
we're supposed to have the entrypoints and just emit INVALID_OPERATION
for the missing extensions even if the ARB_imaging subset isn't present.

If we don't have any strong justification for keeping this code, I'd
like to merge this to master.
-------------- 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/20100919/4133cab0/attachment.pgp>


More information about the mesa-dev mailing list