i965: Instead of fallback on missing region, just bind a null renderbuffer.
The change for GPU hanging in 13bab58f04
fell back even when rb == NULL, which is wrong for GLES2 and caused
segfaulting in GLES2 conformance. For the GPU hang case (where the
broken 2D driver failed to allocate a BO for the window system
renderbuffer), it also would assertion fail/segfault immediately after
the fallback setup when the renderbuffer map failed.
Fixes GLES2 conformance packed_depth_stencil.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
461e193971
commit
4e98318fc1
|
@ -562,12 +562,8 @@ prepare_wm_surfaces(struct brw_context *brw)
|
|||
struct intel_renderbuffer *irb = intel_renderbuffer(rb);
|
||||
struct intel_region *region = irb ? irb->region : NULL;
|
||||
|
||||
if (region == NULL || region->buffer == NULL) {
|
||||
brw->intel.Fallback = GL_TRUE; /* boolean, not bitfield */
|
||||
return;
|
||||
}
|
||||
|
||||
brw_add_validated_bo(brw, region->buffer);
|
||||
if (region)
|
||||
brw_add_validated_bo(brw, region->buffer);
|
||||
nr_surfaces = SURF_INDEX_DRAW(i) + 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -329,12 +329,8 @@ prepare_wm_surfaces(struct brw_context *brw)
|
|||
struct intel_renderbuffer *irb = intel_renderbuffer(rb);
|
||||
struct intel_region *region = irb ? irb->region : NULL;
|
||||
|
||||
if (region == NULL || region->buffer == NULL) {
|
||||
brw->intel.Fallback = GL_TRUE; /* boolean, not bitfield */
|
||||
return;
|
||||
}
|
||||
|
||||
brw_add_validated_bo(brw, region->buffer);
|
||||
if (region)
|
||||
brw_add_validated_bo(brw, region->buffer);
|
||||
nr_surfaces = SURF_INDEX_DRAW(i) + 1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue