[Mesa-dev] [PATCH 0/4] Add support for NV_depth_buffer_float v3.

Mathias.Froehlich at gmx.net Mathias.Froehlich at gmx.net
Sun Sep 14 07:07:35 PDT 2014


From: Mathias Fröhlich <Mathias.Froehlich at gmx.net>

This adds support for NV_depth_buffer_float.

Mostly the unclamped depth buffer handling which can be exploited
to get logarithmic depth buffer like behavior in a simple way.

v2
  Readd clamping to the traditional gl entry points.

v3
  Split the patch into preparational changes and an extension implementation.
  Fix 'make check'.
  Add handling for the introduced enums which are not overlapping with core gl.
  Make NV_depth_buffer_float a seperate extension not enabled by default.
  Minor changes in the implementation like requested.

Please review.

Mathias Fröhlich (4):
  mesa: Rework depth range setting in preparation for NV_depth_buffer_float.
  mesa: Add helper function to see if we have a float depth format.
  gallium: introduce PIPE_CAP_UNCLAMPED_DEPTH_VALUES.
  mesa: Add support for NV_depth_buffer_float.

 docs/relnotes/10.3.html                          |  1 +
 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/llvmpipe/lp_screen.c         |  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_screen.c   |  1 +
 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         |  2 +
 src/gallium/drivers/svga/svga_screen.c           |  1 +
 src/gallium/drivers/vc4/vc4_screen.c             |  1 +
 src/gallium/include/pipe/p_defines.h             |  1 +
 src/mapi/glapi/gen/NV_depth_buffer_float.xml     | 32 ++++++++++
 src/mapi/glapi/gen/gl_API.xml                    |  2 +
 src/mesa/drivers/common/meta.c                   |  3 +-
 src/mesa/main/attrib.c                           |  6 +-
 src/mesa/main/depth.c                            | 80 +++++++++++++++++-------
 src/mesa/main/depth.h                            |  6 ++
 src/mesa/main/dlist.c                            | 67 ++++++++++++++++++++
 src/mesa/main/extensions.c                       |  1 +
 src/mesa/main/fbobject.c                         |  5 ++
 src/mesa/main/get.c                              | 15 +++++
 src/mesa/main/get_hash_params.py                 |  3 +
 src/mesa/main/glformats.c                        | 27 +++++++-
 src/mesa/main/glformats.h                        |  3 +
 src/mesa/main/mtypes.h                           |  1 +
 src/mesa/main/tests/dispatch_sanity.cpp          |  5 ++
 src/mesa/main/texformat.c                        |  2 +
 src/mesa/main/teximage.c                         |  2 +
 src/mesa/main/viewport.c                         | 77 +++++++++++++++--------
 src/mesa/main/viewport.h                         |  5 +-
 src/mesa/state_tracker/st_extensions.c           |  1 +
 src/mesa/state_tracker/st_format.c               |  8 +++
 37 files changed, 316 insertions(+), 55 deletions(-)
 create mode 100644 src/mapi/glapi/gen/NV_depth_buffer_float.xml

-- 
1.9.3



More information about the mesa-dev mailing list