[Mesa-dev] [PATCH] intel/gen6: Some framebuffers having separate depthstencil should be unsupported
Ian Romanick
idr at freedesktop.org
Thu Jan 19 18:33:02 PST 2012
On 01/19/2012 03:09 PM, Chad Versace wrote:
> When the framebuffer has separate depth and stencil buffers, and HiZ is
> not enabled on the depth buffer, mark the framebuffer as unsupported. This
> happens when trying to create a framebuffer with Z16/S8 because we haven't
> enabled HiZ on Z16 yet.
>
> Fixes gles2conform test stencil8.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44948
> Reported-by: Ian Romanick<ian.d.romanick at intel.com>
> Note: This is a candiate for the 8.0 branch.
> Signed-off-by: Chad Versace<chad.versace at linux.intel.com>
Reviewed-and-tested-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> src/mesa/drivers/dri/intel/intel_fbo.c | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
> index c37075c..45a6827 100644
> --- a/src/mesa/drivers/dri/intel/intel_fbo.c
> +++ b/src/mesa/drivers/dri/intel/intel_fbo.c
> @@ -804,6 +804,15 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
> fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
> if (stencil_mt->format != MESA_FORMAT_S8)
> fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
> + if (intel->gen< 7&& depth_mt->hiz_mt == NULL) {
> + /* Before Gen7, separate depth and stencil buffers can be used
> + * only if HiZ is enabled. From the Sandybridge PRM, Volume 2,
> + * Part 1, Bit 3DSTATE_DEPTH_BUFFER.SeparateStencilBufferEnable:
> + * [DevSNB]: This field must be set to the same value (enabled
> + * or disabled) as Hierarchical Depth Buffer Enable.
> + */
> + fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED;
> + }
> }
> }
>
More information about the mesa-dev
mailing list