[Mesa-dev] [PATCH v3 0/5] Implement ARB_sample_locations for nvc0

Rhys Perry pendingchaos02 at gmail.com
Fri Jun 1 15:08:17 UTC 2018


This patch set adds support for GL_ARB_sample_locations in mesa core, gallium,
the mesa OpenGL state tracker and the nvc0 driver.

Changes in v3:
- Fix non-althabetical order of new extensions in extensions_table.h
- Implement glEvaluateDepthValuesARB()/glResolveDepthValuesNV()
- Stylistic changes and addition of comments in the nvc0 code
- Renamed patch 5 and added GL_*_sample_locations to the release notes
Changes in v2:
- various minor changes/cleanups (mostly formatting and style changes)
- improve error handling
- don't expose the ARB_* variant on ES
- expose NV_sample_locations so the feature is available on ES
- decouple framebuffer and sample location state in the state tracker and nvc0
- rebase to upstream master

Rhys Perry (5):
  mesa: add support for ARB_sample_locations
  gallium: add support for programmable sample locations
  st/mesa: add support for ARB_sample_locations
  nvc0: add support for programmable sample locations
  docs: document addition of GL_ARB_sample_locations for nvc0

 docs/features.txt                                  |   2 +-
 docs/relnotes/18.2.0.html                          |   2 +-
 src/gallium/auxiliary/util/u_framebuffer.c         |  30 +++
 src/gallium/auxiliary/util/u_framebuffer.h         |   5 +
 src/gallium/docs/source/context.rst                |  14 ++
 src/gallium/docs/source/screen.rst                 |   3 +
 src/gallium/drivers/etnaviv/etnaviv_screen.c       |   1 +
 src/gallium/drivers/freedreno/freedreno_screen.c   |   1 +
 src/gallium/drivers/i915/i915_screen.c             |   1 +
 src/gallium/drivers/llvmpipe/lp_screen.c           |   1 +
 .../drivers/nouveau/codegen/nv50_ir_driver.h       |   2 +
 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp  |   7 +
 .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp      | 102 +++++++-
 .../nouveau/codegen/nv50_ir_lowering_nvc0.h        |   2 +
 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    |  15 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_program.c    |   3 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |  32 +++
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c      |  17 +-
 .../drivers/nouveau/nvc0/nvc0_state_validate.c     | 152 +++++++++---
 src/gallium/drivers/nouveau/nvc0/nvc0_surface.c    |  12 +
 src/gallium/drivers/r300/r300_screen.c             |   1 +
 src/gallium/drivers/r600/r600_pipe.c               |   1 +
 src/gallium/drivers/radeonsi/si_get.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/v3d/v3d_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               |  41 +++-
 src/gallium/include/pipe/p_defines.h               |   1 +
 src/gallium/include/pipe/p_screen.h                |  11 +
 src/gallium/include/pipe/p_state.h                 |   1 +
 src/mapi/glapi/gen/gl_API.xml                      | 104 +++++++++
 src/mesa/main/config.h                             |   9 +
 src/mesa/main/dd.h                                 |   8 +
 src/mesa/main/extensions_table.h                   |   2 +
 src/mesa/main/fbobject.c                           | 256 ++++++++++++++++++---
 src/mesa/main/fbobject.h                           |  20 ++
 src/mesa/main/framebuffer.c                        |  10 +
 src/mesa/main/get.c                                |  31 +++
 src/mesa/main/get_hash_params.py                   |   6 +
 src/mesa/main/mtypes.h                             |   9 +
 src/mesa/main/multisample.c                        |  18 ++
 src/mesa/main/tests/dispatch_sanity.cpp            |  10 +
 src/mesa/state_tracker/st_atom.h                   |   2 +-
 src/mesa/state_tracker/st_atom_list.h              |   2 +-
 src/mesa/state_tracker/st_atom_msaa.c              |  77 ++++++-
 src/mesa/state_tracker/st_cb_fbo.c                 |  14 ++
 src/mesa/state_tracker/st_cb_msaa.c                |  27 +++
 src/mesa/state_tracker/st_context.c                |   7 +-
 src/mesa/state_tracker/st_context.h                |   6 +
 src/mesa/state_tracker/st_extensions.c             |   1 +
 55 files changed, 1004 insertions(+), 84 deletions(-)

-- 
2.14.3



More information about the mesa-dev mailing list