Am Friday 07 August 2009 08:51:20 schrieb Henri Verbeet:
* 3) lastActiveRenderTarget != target && oldTid != newTid:
* This is tricky. We have to get a context with the old drawable
I don't see anything wrong with this patch in particular(so go ahead and apply it), but I am wondering how the case of switching the render target from a new thread works with the new TLS-based context management.
My guess is that the problem is not applicable any longer, since there isn't really such a thing as thread switching any more. Its just a new render target for the other thread. Is that right? Or are there any other considerations for this case?
Now it hurts that I didn't write a test for this special case when I fixed it a while ago - I don't even remember which game triggered it - maybe Age of Empires 3, but I am not sure.
2009/8/7 Stefan Dösinger stefandoesinger@gmx.at:
Am Friday 07 August 2009 08:51:20 schrieb Henri Verbeet:
- * 3) lastActiveRenderTarget != target && oldTid != newTid:
- * This is tricky. We have to get a context with the old drawable
I don't see anything wrong with this patch in particular(so go ahead and apply it), but I am wondering how the case of switching the render target from a new thread works with the new TLS-based context management.
My guess is that the problem is not applicable any longer, since there isn't really such a thing as thread switching any more. Its just a new render target for the other thread. Is that right? Or are there any other considerations for this case?
The situation shouldn't happen anymore. Perhaps that e.g. different threads rendering to the same backbuffer could break, but that seems more like in inherent limitation of backbuffer ORM. (And please do take notice of the FIXME comment I added.)