i965: Implement ARB_stencil_texturing on Gen8+.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 24 Feb 2014 05:59:25 +0000 (21:59 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 5 Mar 2014 01:23:03 +0000 (17:23 -0800)
commitdfa1ab0e52dde185c80f83b8e354a821f46c2949
treeb33e73d8593b511a3652d935a0e1042dcd1faee3
parent23e81b93bbe3966a842de507988eeaa7342e12ca
i965: Implement ARB_stencil_texturing on Gen8+.

On earlier hardware, we had to implement math in the shader to translate
Y-tiled or untiled coordinates to W-tiled coordinates (which is what
BLORP does today in order to texture from stencil buffers).

On Broadwell, we can simply state that it's W-tiled in SURFACE_STATE,
and adjust the pitch.  This is much easier.

In the surface state code, I chose to handle the "should we sample depth
or stencil?" question separately from the setup for sampling from
stencil.  This should make it work with the BindRenderbufferTexImage
hook as well, and hopefully be reusable for GL_ARB_texture_stencil8
someday.

v2: Update docs/GL3.txt (caught by Matt).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
docs/GL3.txt
src/mesa/drivers/dri/i965/brw_defines.h
src/mesa/drivers/dri/i965/brw_surface_formats.c
src/mesa/drivers/dri/i965/gen8_surface_state.c
src/mesa/drivers/dri/i965/intel_extensions.c