Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-07-11 Thread Marek Olšák
It should be fixed by now. There is a bug in our beloved build system
such that the assert macro is disabled if some completely-unrelated
configure options are enabled. I will send a fix for that soon as
well.

Marek

On Mon, Jul 11, 2011 at 5:00 AM, Eric Anholt e...@anholt.net wrote:
 On Fri,  1 Jul 2011 02:29:32 +0200, Marek Olšák mar...@gmail.com wrote:
 Hi,

 this patch series implements ARB_depth_buffer_float in Mesa and Gallium. 
 There is complete r600g/r600-r700 support in my private branch, which passes 
 the same tests that pass for Z24S8. Softpipe has only sampler support. This 
 has turned out to be not so trivial, so it's possible I missed something.

 I did not implement NV_depth_buffer_float, because it's not compatible with 
 the ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV etc.) 
 The NV extension can operate on unclamped depth values, whereas the ARB one 
 always clamps them.

 My mesa is now crashing on startup with:

 glxgears: main/formats.c:1488: _mesa_test_formats: Assertion
 `info-DataType == 0x8C17 || info-DataType == 0x8F9C || info-DataType
 == 0x1405 || info-DataType == 0x1404 || info-DataType == 0x1406'
 failed.

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-07-10 Thread Eric Anholt
On Fri,  1 Jul 2011 02:29:32 +0200, Marek Olšák mar...@gmail.com wrote:
 Hi,
 
 this patch series implements ARB_depth_buffer_float in Mesa and Gallium. 
 There is complete r600g/r600-r700 support in my private branch, which passes 
 the same tests that pass for Z24S8. Softpipe has only sampler support. This 
 has turned out to be not so trivial, so it's possible I missed something.
 
 I did not implement NV_depth_buffer_float, because it's not compatible with 
 the ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV etc.) The 
 NV extension can operate on unclamped depth values, whereas the ARB one 
 always clamps them.

My mesa is now crashing on startup with:

glxgears: main/formats.c:1488: _mesa_test_formats: Assertion
`info-DataType == 0x8C17 || info-DataType == 0x8F9C || info-DataType
== 0x1405 || info-DataType == 0x1404 || info-DataType == 0x1406'
failed.


pgpjlkyiDRQil.pgp
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-07-07 Thread Brian Paul
On Wed, Jul 6, 2011 at 10:43 PM, Marek Olšák mar...@gmail.com wrote:
 On Wed, Jul 6, 2011 at 5:49 PM, Brian Paul bri...@vmware.com wrote:
 On 06/30/2011 06:29 PM, Marek Olšák wrote:

 Hi,

 this patch series implements ARB_depth_buffer_float in Mesa and Gallium.
 There is complete r600g/r600-r700 support in my private branch, which passes
 the same tests that pass for Z24S8. Softpipe has only sampler support. This
 has turned out to be not so trivial, so it's possible I missed something.

 I did not implement NV_depth_buffer_float, because it's not compatible
 with the ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV
 etc.) The NV extension can operate on unclamped depth values, whereas the
 ARB one always clamps them.

 Please review.

 I took a quick look at the patches and they look good to me.

 I saw some piglit updates for these formats.  Do we have pretty good
 coverage or is more needed?

 There is much more needed. Especially these could use some more testing:

 mesa: implement texfetch functions for depth_buffer_float
 mesa: implement stencil unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
 mesa: implement depth unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
 mesa: implement texstore for DEPTH32F_STENCIL8 (the slow path)
 mesa: implement depth/stencil renderbuffer wrapper accessors for
 Z32F_X24S8 (no sure how to test this on Gallium)
 gallium/util: implement software Z32F_S8X24 depth-stencil clear

 Moreover, all the stencil drawpixels and copypixels tests were failing
 with any format on softpipe and r600g when I tried it.

I committed some fixes to fbo-stencil yesterday that help with
softpipe.  Might help with r600g too.

-Brian
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-07-06 Thread Brian Paul

On 06/30/2011 06:29 PM, Marek Olšák wrote:

Hi,

this patch series implements ARB_depth_buffer_float in Mesa and Gallium. There 
is complete r600g/r600-r700 support in my private branch, which passes the same 
tests that pass for Z24S8. Softpipe has only sampler support. This has turned 
out to be not so trivial, so it's possible I missed something.

I did not implement NV_depth_buffer_float, because it's not compatible with the 
ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV etc.) The NV 
extension can operate on unclamped depth values, whereas the ARB one always 
clamps them.

Please review.


I took a quick look at the patches and they look good to me.

I saw some piglit updates for these formats.  Do we have pretty good 
coverage or is more needed?


-Brian
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-07-06 Thread Marek Olšák
On Wed, Jul 6, 2011 at 5:49 PM, Brian Paul bri...@vmware.com wrote:
 On 06/30/2011 06:29 PM, Marek Olšák wrote:

 Hi,

 this patch series implements ARB_depth_buffer_float in Mesa and Gallium.
 There is complete r600g/r600-r700 support in my private branch, which passes
 the same tests that pass for Z24S8. Softpipe has only sampler support. This
 has turned out to be not so trivial, so it's possible I missed something.

 I did not implement NV_depth_buffer_float, because it's not compatible
 with the ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV
 etc.) The NV extension can operate on unclamped depth values, whereas the
 ARB one always clamps them.

 Please review.

 I took a quick look at the patches and they look good to me.

 I saw some piglit updates for these formats.  Do we have pretty good
 coverage or is more needed?

There is much more needed. Especially these could use some more testing:

mesa: implement texfetch functions for depth_buffer_float
mesa: implement stencil unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
mesa: implement depth unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
mesa: implement texstore for DEPTH32F_STENCIL8 (the slow path)
mesa: implement depth/stencil renderbuffer wrapper accessors for
Z32F_X24S8 (no sure how to test this on Gallium)
gallium/util: implement software Z32F_S8X24 depth-stencil clear

Moreover, all the stencil drawpixels and copypixels tests were failing
with any format on softpipe and r600g when I tried it.

Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-06-30 Thread Marek Olšák
Hi,

this patch series implements ARB_depth_buffer_float in Mesa and Gallium. There 
is complete r600g/r600-r700 support in my private branch, which passes the same 
tests that pass for Z24S8. Softpipe has only sampler support. This has turned 
out to be not so trivial, so it's possible I missed something.

I did not implement NV_depth_buffer_float, because it's not compatible with the 
ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV etc.) The NV 
extension can operate on unclamped depth values, whereas the ARB one always 
clamps them.

Please review.

Marek Olšák (13):
  mesa: initial ARB_depth_buffer_float support
  mesa: implement texfetch functions for depth_buffer_float
  mesa: implement stencil unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
  mesa: implement depth unpacking for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
  mesa: implement texstore for DEPTH_COMPONENT32F
  mesa: implement texstore for DEPTH32F_STENCIL8
  mesa: implement generatemipmap for GL_FLOAT_32_UNSIGNED_INT_24_8_REV
  mesa: implement depth/stencil renderbuffer wrapper accessors for 
Z32F_X24S8
  st/mesa: initial ARB_depth_buffer_float support
  st/mesa: implement read/draw/copypixels for Z32F and Z32F_S8X24
  gallium/util: implement pack functions for Z32F and Z32F_S8X24
  gallium/util: implement software Z32F_S8X24 depth-stencil clear
  gallium/util: handle Z32F_FLOAT_S8X24_USCALED in pipe_tile_raw_to_rgba

 src/gallium/auxiliary/util/u_pack_color.h |   64 ++
 src/gallium/auxiliary/util/u_surface.c|   35 +++-
 src/gallium/auxiliary/util/u_tile.c   |   35 +++
 src/mesa/main/depthstencil.c  |  322 +++--
 src/mesa/main/depthstencil.h  |5 +
 src/mesa/main/fbobject.c  |   19 ++
 src/mesa/main/formats.c   |   29 +++
 src/mesa/main/formats.h   |3 +
 src/mesa/main/framebuffer.c   |   10 +-
 src/mesa/main/image.c |   18 ++-
 src/mesa/main/mipmap.c|   20 ++
 src/mesa/main/pack.c  |   62 +-
 src/mesa/main/readpix.c   |   29 +++-
 src/mesa/main/renderbuffer.c  |3 +
 src/mesa/main/texfetch.c  |   14 ++
 src/mesa/main/texfetch_tmp.h  |   23 ++
 src/mesa/main/texformat.c |   13 ++
 src/mesa/main/texstore.c  |   79 +++-
 src/mesa/state_tracker/st_cb_clear.c  |6 +-
 src/mesa/state_tracker/st_cb_drawpixels.c |   64 +-
 src/mesa/state_tracker/st_cb_readpixels.c |   43 
 src/mesa/state_tracker/st_extensions.c|   11 +
 src/mesa/state_tracker/st_format.c|   19 ++
 23 files changed, 875 insertions(+), 51 deletions(-)

 Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 00/13] Floating-point depth buffers

2011-06-30 Thread Kenneth Graunke
On 06/30/2011 05:29 PM, Marek Olšák wrote:
 Hi,
 
 this patch series implements ARB_depth_buffer_float in Mesa and Gallium. 
 There is complete r600g/r600-r700 support in my private branch, which passes 
 the same tests that pass for Z24S8. Softpipe has only sampler support. This 
 has turned out to be not so trivial, so it's possible I missed something.
 
 I did not implement NV_depth_buffer_float, because it's not compatible with 
 the ARB variant. (GL_DEPTH_COMPONENT32F != GL_DEPTH_COMPONENT32F_NV etc.) The 
 NV extension can operate on unclamped depth values, whereas the ARB one 
 always clamps them.
 
 Please review.

Marek,

You are awesome!  Thanks so much for implementing this!

Patches 1-7 look great:
Reviewed-by: Kenneth Graunke kenn...@whitecape.org

I replied with a comment on patch 8, and am not planning on reviewing
patches 9-13 as I'm not familiar with Gallium.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev