6d1cdec3ba151168bfc3aef222fba6265dfb41fb |
|
06-Apr-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nouveau: switch to libdrm_nouveau-2.0
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|
9849f366cbfd781ebeca725058029b70c96836f9 |
|
08-Oct-2011 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nouveau: fix fence hang If there is not enough space in pushbuffer for fence emission (nouveau_fence_emit -> nv50_screen_fence_emit -> MARK_RING), the pushbuffer is flushed, which through flush_notify -> nv50_default_flush_notify -> nouveau_fence_update marks currently emitting fence as flushed. But actual emission is done after this mark. So later when there is a need to wait on this fence and pushbuffer was not flushed in between, fence wait will never finish causing application to hang. To fix this, introduce new fence state between AVAILABLE and EMITTED, set it before emission and handle it everywhere. Additionally obtain fence sequence numbers after possible flush in MARK_RING, because we want to emit fences in correct order. Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at> Note: This is a candidate for the 7.11 branch.
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|
65b8eea0644fdb7e9150d0e98c06d7f8ba6d5302 |
|
25-Sep-2011 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nouveau: fix crash during fence emission Fence emission can flush the push buffer, which through flush_notify unreferences recently emitted fence. If ref count is increased after fence emission, unreference deletes the fence, which causes SIGSEGV. Backtrace: nouveau_fence_del nouveau_fence_ref nouveau_fence_next nouveau_pushbuf_flush MARK_RING nv50_screen_fence_emit nouveau_fence_emit nv50_flush This bug manifested as an assertion failure in nouveau_fence.c, because SIGSEGV handler tried to shutdown the application and used messed up fence. This issue was reported by Maxim Levitsky. Note: This is a candidate for the 7.11 branch.
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|
96054375b1ea98d7827f0d4b567168fa2baeb38e |
|
06-Sep-2011 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nouveau: fix nouveau_fence leak Note: This is a candidate for the 7.11 branch.
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|
4388817a678431146744a030bc7c0b8c01da9f72 |
|
13-Mar-2011 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50,nvc0: clean up flushes
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|
5a0915870c7e994d20334042b7647db749e79224 |
|
01-Mar-2011 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: move nv50/nvc0 fencing to common location, and modify slightly Modified from original to remove chipset-specific code, and to be decoupled from the mm present in said drivers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nouveau_fence.c
|