Ok, tested it a bit (but not to extensive).
Seems to work fine, so pushed it to master.
Thanks,
Christian.
Am Dienstag, den 30.08.2011, 03:25 +0200 schrieb Marek Olšák:
> Thanks. I wanted to do this long ago.
>
> Reviewed-by: Marek Olšák
>
> On Sat, Aug 27, 2011 at 10:57 PM, Maarten Lankhorst
Thanks. I wanted to do this long ago.
Reviewed-by: Marek Olšák
On Sat, Aug 27, 2011 at 10:57 PM, Maarten Lankhorst
wrote:
> I noticed that a thread was created for every time async flush was called, so
> I moved it and used some semaphores to synch.
>
> Signed-off-by: Maarten Lankhorst
>
> --
On Sam, 2011-08-27 at 22:57 +0200, Maarten Lankhorst wrote:
> @@ -402,33 +420,33 @@ static void radeon_drm_cs_flush(struct radeon_winsys_cs
> *rcs, unsigned flags)
>
> radeon_drm_cs_sync_flush(cs);
>
> +/* Flip command streams. */
> +tmp = cs->csc;
> +cs->csc = cs->cst;
> +
I haven't really tested this, so please speak up if anybody finds any
regression, but I'm going to push this if there are no objections.
Beside being a real killer for performance, the whole "[New Thread
0x7fffe60fb700 (LWP 5212)]/[Thread 0x7fffe60fb700 (LWP 5212) exited]" in
gdb is quite annoying
I noticed that a thread was created for every time async flush was called, so I
moved it and used some semaphores to synch.
Signed-off-by: Maarten Lankhorst
---
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
index c309354..dd3a4a3 100