On 20 August 2012 16:13, Chad Versace <chad.vers...@linux.intel.com> wrote:
> Do all pre-draw hiz resolves *after* the renderbuffers are resized by > intel_prepare_render. Otherwise, we may resolve buffers that are > immediately discarded afterwards. > > Fixes the assertion failure below when resizing windows in KDE and under > some unknown circumstance in Chrome OS: > intel_resolve_map.c:46: intel_resolve_map_set: Assertion > `(*tail)->need == need' failed. > > Also, remove the comment that "resolves must occur [...] before setting up > any hardware state". That was true when resolves were implemented with > meta-ops, but no longer with blorp. > > v2: > - Keep brw_predraw_resolve_buffers in its current position, which is > before any brw_context bits are modified. Instead, move the > intel_prepare_render. > > CC: Paul Berry <stereotype...@gmail.com> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52252 > Reported-by: Lu Hua <huax...@intel.com> > Signed-off-by: Chad Versace <chad.vers...@linux.intel.com> > --- > Reviewed-by: Paul Berry <stereotype...@gmail.com> > src/mesa/drivers/dri/i965/brw_draw.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_draw.c > b/src/mesa/drivers/dri/i965/brw_draw.c > index 7ae3f6f..b335e96 100644 > --- a/src/mesa/drivers/dri/i965/brw_draw.c > +++ b/src/mesa/drivers/dri/i965/brw_draw.c > @@ -432,8 +432,11 @@ static bool brw_try_draw_prims( struct gl_context > *ctx, > */ > brw_validate_textures( brw ); > > - /* Resolves must occur after updating state and finalizing textures but > - * before setting up any hardware state for this draw call. > + intel_prepare_render(intel); > + > + /* Resolves must occur after updating renderbuffers, updating context > state, > + * and finalizing textures but before setting up any hardware state for > + * this draw call. > */ > brw_predraw_resolve_buffers(brw); > > @@ -455,8 +458,6 @@ static bool brw_try_draw_prims( struct gl_context *ctx, > * so can't access it earlier. > */ > > - intel_prepare_render(intel); > - > for (i = 0; i < nr_prims; i++) { > int estimated_max_prim_size; > > -- > 1.7.11.4 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev