On 04/24/2012 12:23 PM, Paul Berry wrote: > When the user attaches a texture to one of the depth/stencil > attachment points (GL_STENCIL_ATTACHMENT or GL_DEPTH_ATTACHMENT), we > check to see if the same texture is also attached to the other > attachment point, and if so, we re-use the existing texture > attachment. This is necessary to ensure that if the user later > queries what is attached to GL_DEPTH_STENCIL_ATTACHMENT, they will not > receive an error. > > If, however, the user attaches buffers to the two different attachment > points using different parameters (e.g. a different miplevel), then we > can't re-use the existing texture attachment, because it is pointing > to the wrong part of the texture. This might occur as a transitory > condition if, for example, if the user attached miplevel zero of a > texture to GL_STENCIL_ATTACHMENT and GL_DEPTH_ATTACHMENT, rendered to > it, and then later attempted to attach miplevel one of the same > texture to GL_STENCIL_ATTACHMENT and GL_DEPTH_ATTACHMENT. > > This patch causes Mesa to check that GL_STENCIL_ATTACHMENT and > GL_DEPTH_ATTACHMENT use the same attachment parameters before > attempting to share the texture attachment. > > On i965 Gen6, fixes piglit tests > "texturing/depthstencil-render-miplevels 1024 depth_stencil_shared" > and "texturing/depthstencil-render-miplevels 1024 > stencil_depth_shared". > --- > src/mesa/main/fbobject.c | 14 +++++++++++--- > 1 files changed, 11 insertions(+), 3 deletions(-)
Reviewed-by: Chad Versace <chad.vers...@linux.intel.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev