-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This patch will break depthstencil renderbuffers on gen7. Comments below.
On 10/28/2011 12:49 PM, Eric Anholt wrote: > --- > src/mesa/drivers/dri/intel/intel_span.c | 33 +++++++++--------------------- > 1 files changed, 10 insertions(+), 23 deletions(-) > > diff --git a/src/mesa/drivers/dri/intel/intel_span.c > b/src/mesa/drivers/dri/intel/intel_span.c > index bdc4a0e..ecccd30 100644 > --- a/src/mesa/drivers/dri/intel/intel_span.c > +++ b/src/mesa/drivers/dri/intel/intel_span.c > @@ -221,7 +221,10 @@ intel_offset_S8(uint32_t stride, uint32_t x, uint32_t y) > void > intel_renderbuffer_map(struct intel_context *intel, struct gl_renderbuffer > *rb) > { > + struct gl_context *ctx = &intel->ctx; > struct intel_renderbuffer *irb = intel_renderbuffer(rb); > + GLubyte *map; > + int stride; > > if (!irb) > return; > @@ -231,25 +234,11 @@ intel_renderbuffer_map(struct intel_context *intel, > struct gl_renderbuffer *rb) > if (irb->wrapped_depth) > intel_renderbuffer_map(intel, irb->wrapped_depth); > if (irb->wrapped_stencil) > intel_renderbuffer_map(intel, irb->wrapped_stencil); Here we map the real depth and stencil renderbuffers individually. [snip] > + ctx->Driver.MapRenderbuffer(ctx, rb, 0, 0, rb->Width, rb->Height, > + GL_MAP_READ_BIT | GL_MAP_WRITE_BIT, > + &map, &stride); > + rb->Data = map; And here, the mappings done above are ignored and we set rb->Data = NULL. To avoid regressing gen7, we need to copy the s8 bits in irb->wrapped_stencil->Data into irb->wrapped_depth->Data, then unmap irb->wrapped_stencil and set rb->Data = irb->wrapped_depth->Data. - -- Chad Versace c...@chad-versace.us -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOq0HCAAoJEAIvNt057x8iRcgP/2MO6cCyqO4DJmireTzUF+s/ 3bb5psTo5KcPLGJAWj5ILRUQ38XVP6zyNYvBwSjYFa5BgY4He/rudsPNVyd+l12u LSmn7910wvWIwdLRr0XlGBfnXh29yOhaC+mou7Km3uuiBL8hPrwUvU6P/RSO/FPv YpeNMJlYvmr2OUWaWNG388s0EDwbvn9B/uDJZu1VUbyJiXBdZgB4CyYH1RExJ93O 2BI4DyzzicgxSXdHO+nDh3LI/8GP+30DqNZP6tpXNm/oRC/3tEPyNfiZzNemS64E qnIPsQwfX84W/BAp9DbrVmWR7Ikylvp44IeVih62DuiqX3KV5aUteZHRriSCcgbJ xiUKaPR0M99Dm3Rflg1qlcKXqQZs0oEVkCBD/UzANXFNSembgC9Lk/5E1ovUMFST 9nveKeytP06xVvvYbUJS0tw6TNoNAjwlGZEPn6C9KSXW4nclCXJrwaVP6UbdHULe l2U+3Vyl32Mrh14SziblKGk4JpcyYijRzG8jQbh34xEMjz22tjAF4ipC2ld6k9v3 A3nY2J4gF7fi9sZHuBRXqMNh0UpD/abKnHp0N7HW8fRL7gTGgvWCtsliQnNMgN4f niIaAb9dMBxDMKBkrrgxB4NGZZHxD0bQmI+PzdHQw9F56iLYIk4PARZesYwmICss ydwp/fqevXzfqyf0IA84 =TeYG -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev