diff options
author | Chad Versace <[email protected]> | 2011-10-07 16:22:56 -0700 |
---|---|---|
committer | Chad Versace <[email protected]> | 2011-10-18 11:42:53 -0700 |
commit | 4b6311978f6710cfb2e9d77a2ca7a30f709c1f37 (patch) | |
tree | 49c399047383fe800f0ce05ea92af5f4bbb9ed6b /src/mesa/drivers/common/driverfuncs.c | |
parent | aa97ababfcd5ae4d4433bd5f672836f40f6595f2 (diff) |
swrast: Fix fastpaths for glRead/WritePixels(GL_DEPTH_STENCIL)
In some cases, Intel hardware requires that depth and stencil buffers be
separate. To accommodate swrast, i965 resorts to hackery that causes
a segfault in the fastpaths of draw_depth_stencil_pixels() and
read_depth_stencil_pixels().
The hack is that i965 sets framebuffer->Attachment[BUFFER_DEPTH].Renderbuffer
and framebuffer->Attachment[BUFFER_STENCIL].Renderbuffer to a dummy
renderbuffer for which the GetRow accessors and friends are null. The real
buffers are located at framebuffer->_DepthBuffer and framebuffer->_Stencilbuffer.
To fix the segault, this patch skips the fastpath if
framebuffer->Attachment[BUFFER_DEPTH].Renderbuffer->GetRow is null.
Note: This is a candidate for the 7.11 branch.
Reviewed-by: Brian Paul <[email protected]>
Signed-off-by: Chad Versace <[email protected]>
Diffstat (limited to 'src/mesa/drivers/common/driverfuncs.c')
0 files changed, 0 insertions, 0 deletions