[Mesa-dev] [PATCH v2 00/11] Add core and gallium ARB_query_buffer_object support

Ilia Mirkin imirkin at alum.mit.edu
Sun Jan 31 12:31:53 PST 2016


I believe I've addressed all the feedback from last time (except
Marek's suggestion to use clear_buffer instead of an inline write for
QUERY_TARGET support as I don't think that's an improvement), as well
as adding an nvc0 implementation. It passes the test that Glenn wrote
a while back:

http://patchwork.freedesktop.org/patch/63921/

I haven't heard at all from the Intel folk to see if this interface
will be sufficient for them, but since it works for Gallium, I guess
it ought to be.

Ilia Mirkin (7):
  mesa: add driver interface for writing query results to buffers
  mesa: add core implementation of ARB_query_buffer_object
  gallium: add a way to store query result into buffer
  gallium: add PIPE_CAP_QUERY_BUFFER_OBJECT
  st/mesa: use the occlusion predicate query for GL_ANY_SAMPLES
  st/mesa: add query buffer support
  nvc0: add support for ARB_query_buffer_object

Rafal Mielniczuk (4):
  glapi: Add xml infrastructure for ARB_query_buffer_object
  mesa: Add ARB_query_buffer_object extension flag
  mesa: Add QueryBuffer to context
  mesa: Handle QUERY_BUFFER_BINDING in GetIntegerv

 docs/GL3.txt                                       |   2 +-
 docs/relnotes/11.2.0.html                          |   1 +
 src/gallium/docs/source/context.rst                |   5 +
 src/gallium/docs/source/screen.rst                 |   2 +
 src/gallium/drivers/freedreno/freedreno_screen.c   |   1 +
 src/gallium/drivers/ilo/ilo_screen.c               |   1 +
 src/gallium/drivers/llvmpipe/lp_screen.c           |   1 +
 src/gallium/drivers/nouveau/nv30/nv30_screen.c     |   1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c     |   1 +
 src/gallium/drivers/nouveau/nvc0/mme/com9097.mme   |  50 ++++
 src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h |  34 +++
 src/gallium/drivers/nouveau/nvc0/nvc0_macros.h     |   2 +
 src/gallium/drivers/nouveau/nvc0/nvc0_query.c      |  19 ++
 src/gallium/drivers/nouveau/nvc0/nvc0_query.h      |   7 +
 src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c   | 106 ++++++++
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |   2 +
 src/gallium/drivers/r300/r300_screen.c             |   1 +
 src/gallium/drivers/r600/r600_pipe.c               |   1 +
 src/gallium/drivers/radeonsi/si_pipe.c             |   1 +
 src/gallium/drivers/softpipe/sp_screen.c           |   1 +
 src/gallium/drivers/svga/svga_screen.c             |   1 +
 src/gallium/drivers/vc4/vc4_screen.c               |   1 +
 src/gallium/drivers/virgl/virgl_screen.c           |   1 +
 src/gallium/include/pipe/p_context.h               |  22 ++
 src/gallium/include/pipe/p_defines.h               |  11 +
 src/mapi/glapi/gen/gl_API.xml                      |   9 +-
 src/mesa/main/bufferobj.c                          |  14 ++
 src/mesa/main/dd.h                                 |   9 +
 src/mesa/main/extensions_table.h                   |   1 +
 src/mesa/main/get.c                                |   5 +
 src/mesa/main/get_hash_params.py                   |   3 +
 src/mesa/main/mtypes.h                             |   3 +
 src/mesa/main/queryobj.c                           | 280 ++++++++++-----------
 src/mesa/state_tracker/st_cb_bufferobjects.c       |   3 +
 src/mesa/state_tracker/st_cb_queryobj.c            | 100 +++++++-
 src/mesa/state_tracker/st_cb_texturebarrier.c      |   3 +
 src/mesa/state_tracker/st_extensions.c             |   1 +
 37 files changed, 555 insertions(+), 151 deletions(-)

-- 
2.4.10



More information about the mesa-dev mailing list