[Mesa-dev] [PATCH 00/18] Stop using client APIs for sampler objects

Ian Romanick idr at freedesktop.org
Fri Jan 8 18:59:06 PST 2016


From: Ian Romanick <ian.d.romanick at intel.com>

This is the second of several series to stop using client APIs in meta.
The first series removed the use of buffer object client APIs, and it
landed last year.  Most of the work was done last year, but I didn't
start send patches until I had test cases.  The tests are out on the
piglit list, and they should land soon.

This series is actually a little bit of a fib.  I had thought that
user-generated names were valid for sampler objects, but Emil pointed
out that they are not... but that was a few weeks after I wrote this
code.  Either way, I think this makes the code better, and I'm not very
excited about rebasing it out of the larger series.

There are 25 patches after this, and there are still probably 40 more
left to write.

I intend fo all but the last two in this series to end up on at least
the 11.1 branch.  Once everything is done, I plan to put together a
single branch with all the fixes for Emil to pull to stable.

Ian Romanick (18):
  mesa: Add _mesa_set_sampler_wrap method
  mesa: Add _mesa_set_sampler_filters method
  mesa: Add _mesa_set_sampler_srgb_decode method
  mesa: Refator _mesa_BindSampler to make _mesa_bind_sampler
  meta/blit: Group the SamplerParameteri calls with the other sampler
    operations
  meta/blit: Use internal functions for sampler object access
  meta/blit: Save and restore the sampler using gl_sampler_object
    instead of GL API object handle
  meta/blit: Don't pollute the sampler object namespace in
    _mesa_meta_setup_sampler
  meta/generate_mipmap: Use internal functions for sampler object access
  meta/generate_mipmap: Track sampler using gl_sampler_object instead of
    GL API object handle
  meta/generate_mipmap: Save and restore the sampler using
    gl_sampler_object instead of GL API object handle
  meta/generate_mipmap: Don't pollute the sampler object namespace
  meta/decompress: Use internal functions for sampler object access
  meta/decompress: Track sampler using gl_sampler_object instead of GL
    API object handle
  meta/decompress: Save and restore the sampler using gl_sampler_object
    instead of GL API object handle
  meta/decompress: Don't pollute the sampler object namespace
  meta: Only bind the sampler in one place
  meta: Unconditionally set GL_SKIP_DECODE_EXT

 src/mesa/drivers/common/meta.c                    | 46 +++++++++++--------
 src/mesa/drivers/common/meta.h                    | 10 ++--
 src/mesa/drivers/common/meta_blit.c               | 45 +++++++++---------
 src/mesa/drivers/common/meta_generate_mipmap.c    | 53 +++++++++++----------
 src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c |  4 +-
 src/mesa/main/samplerobj.c                        | 56 ++++++++++++++++++++---
 src/mesa/main/samplerobj.h                        | 17 +++++++
 7 files changed, 153 insertions(+), 78 deletions(-)

-- 
2.5.0



More information about the mesa-dev mailing list