Ver código fonte

intel: Allow binding a stencil but not a depth buffer.

Wine's d3d9 visual.c testcase tries this a lot, so I've added some
piglit tests (fbo-nodepth-test, fbo-nostencil-test, fbo-stencil-only)
and enabled it.
tags/7.8-rc1
Eric Anholt 16 anos atrás
pai
commit
089144e4e5

+ 6
- 0
src/mesa/drivers/dri/intel/intel_buffers.c Ver arquivo

@@ -291,6 +291,12 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb)
FALLBACK(intel, INTEL_FALLBACK_STENCIL_BUFFER, GL_FALSE);
}

/* If we have a (packed) stencil buffer attached but no depth buffer,
* we still need to set up the shared depth/stencil state so we can use it.
*/
if (depthRegion == NULL && irbStencil && irbStencil->region)
depthRegion = irbStencil->region;

/*
* Update depth and stencil test state
*/

+ 1
- 1
src/mesa/drivers/dri/intel/intel_fbo.c Ver arquivo

@@ -591,7 +591,7 @@ intel_validate_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb)
intel_get_renderbuffer(fb, BUFFER_STENCIL);
int i;

if (stencilRb && stencilRb != depthRb) {
if (depthRb && stencilRb && stencilRb != depthRb) {
/* we only support combined depth/stencil buffers, not separate
* stencil buffers.
*/

Carregando…
Cancelar
Salvar