[Mesa-dev] [PATCH v3 0/6] Add GL_EXT_window_rectangles support

Ilia Mirkin imirkin at alum.mit.edu
Sun Jun 12 06:36:55 UTC 2016


I've sent some of these patches earlier, but here I combine them into
a series which finishes by implementing support in nvc0.

There are partial tests that I've sent to piglit, but they don't
exactly test everything (esp around blit/copypixels). I think this is
a good start though.

Ilia Mirkin (6):
  glapi: add GL_EXT_window_rectangles entrypoints
  mesa: add GL_EXT_window_rectangles state storage/retrieval
    functionality
  gallium: add API for setting window rectangles
  gallium: add PIPE_CAP_MAX_WINDOW_RECTANGLES to all drivers
  st/mesa: add support for GL_EXT_window_rectangles
  nvc0: add support for GL_EXT_window_rectangles

 docs/relnotes/12.1.0.html                          |  1 +
 src/gallium/docs/source/context.rst                | 15 ++++--
 src/gallium/docs/source/screen.rst                 |  3 +-
 src/gallium/drivers/freedreno/freedreno_screen.c   |  1 +
 src/gallium/drivers/i915/i915_screen.c             |  1 +
 src/gallium/drivers/ilo/ilo_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/nvc0_context.h    |  2 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |  2 +
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c      | 17 +++++++
 .../drivers/nouveau/nvc0/nvc0_state_validate.c     | 25 ++++++++++
 src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h   |  6 +++
 src/gallium/drivers/nouveau/nvc0/nvc0_surface.c    | 22 +++++++--
 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/swr/swr_screen.cpp             |  1 +
 src/gallium/drivers/vc4/vc4_screen.c               |  1 +
 src/gallium/drivers/virgl/virgl_screen.c           |  1 +
 src/gallium/include/pipe/p_context.h               |  5 ++
 src/gallium/include/pipe/p_defines.h               |  1 +
 src/gallium/include/pipe/p_state.h                 |  6 +++
 src/mapi/glapi/gen/EXT_window_rectangles.xml       | 29 ++++++++++++
 src/mapi/glapi/gen/Makefile.am                     |  1 +
 src/mapi/glapi/gen/gl_API.xml                      |  2 +
 src/mesa/Makefile.sources                          |  2 +
 src/mesa/main/attrib.c                             |  7 +++
 src/mesa/main/config.h                             |  7 ++-
 src/mesa/main/dlist.c                              | 38 ++++++++++++++-
 src/mesa/main/extensions_table.h                   |  1 +
 src/mesa/main/get.c                                | 12 +++++
 src/mesa/main/get_hash_params.py                   |  5 ++
 src/mesa/main/mtypes.h                             |  5 ++
 src/mesa/main/scissor.c                            | 55 ++++++++++++++++++++++
 src/mesa/main/scissor.h                            |  3 ++
 src/mesa/main/tests/dispatch_sanity.cpp            |  6 +++
 src/mesa/state_tracker/st_atom.c                   |  1 +
 src/mesa/state_tracker/st_atom.h                   |  1 +
 src/mesa/state_tracker/st_atom_scissor.c           | 49 +++++++++++++++++++
 src/mesa/state_tracker/st_cb_blit.c                |  5 ++
 src/mesa/state_tracker/st_cb_clear.c               | 17 ++++++-
 src/mesa/state_tracker/st_cb_drawpixels.c          |  4 ++
 src/mesa/state_tracker/st_context.h                |  5 ++
 src/mesa/state_tracker/st_extensions.c             |  4 ++
 src/mesa/state_tracker/st_scissor.c                | 51 ++++++++++++++++++++
 src/mesa/state_tracker/st_scissor.h                | 38 +++++++++++++++
 49 files changed, 453 insertions(+), 13 deletions(-)
 create mode 100644 src/mapi/glapi/gen/EXT_window_rectangles.xml
 create mode 100644 src/mesa/state_tracker/st_scissor.c
 create mode 100644 src/mesa/state_tracker/st_scissor.h

-- 
2.7.3



More information about the mesa-dev mailing list