On Tue, 24 Jan 2012 23:52:57 -0500, nobled <nob...@dreamwidth.org> wrote: > On Tue, Jan 24, 2012 at 6:59 PM, Eric Anholt <e...@anholt.net> wrote: > > A pure swrast-allocated buffer gets an irb of NULL, so we segfaulted > > in the clear-accum test. Just look at the swrast renderbuffer pointer > > for handling swrast rbs. > > --- > > src/mesa/drivers/dri/intel/intel_fbo.c | 12 +++++++----- > > 1 files changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c > > b/src/mesa/drivers/dri/intel/intel_fbo.c > > index 3a35a01..27b0bfc 100644 > > --- a/src/mesa/drivers/dri/intel/intel_fbo.c > > +++ b/src/mesa/drivers/dri/intel/intel_fbo.c > > @@ -128,15 +128,16 @@ intel_map_renderbuffer(struct gl_context *ctx, > > GLint *out_stride) > > { > > struct intel_context *intel = intel_context(ctx); > > + struct swrast_renderbuffer *srb = (struct swrast_renderbuffer *)rb; > > struct intel_renderbuffer *irb = intel_renderbuffer(rb); > > void *map; > > int stride; > > > > - if (!irb && irb->Base.Buffer) { > Isn't the problem just that this (and the other condition) is && instead of > ||?
No, because irb is NULL, so the following references would segfault.
pgpQ0iGQe54ad.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev