Re: wined3d: Improve detection of device palette change.
Am Freitag, 28. März 2008 22:37:32 schrieb Alexander Dorofeyev: > Hi. > > I just put it nearby other somewhat related calls. This code doesn't really > need ENTER_GL/LEAVE_GL, but there's a bigger problem that this > ENTER_GL/LEAVE_GL in PreLoad is around other routines too that mostly don't > need it and leads to ActivateContext being called inside it etc. I've > already sent a patch to remove ENTER_GL/LEAVE_GL in PreLoad, but it wasn't > fully ok. I plan to fix and resend the latter patch after issues are taken > care of (a bit of lack of consistency with holding / not-holding the lock > in LoadLocation and its helper routines). Ok, I am fine with this patch if the ENTER_GL/LEAVE_GL stuff needs a different fix anyway
Re: wined3d: Improve detection of device palette change.
Hi. I just put it nearby other somewhat related calls. This code doesn't really need ENTER_GL/LEAVE_GL, but there's a bigger problem that this ENTER_GL/LEAVE_GL in PreLoad is around other routines too that mostly don't need it and leads to ActivateContext being called inside it etc. I've already sent a patch to remove ENTER_GL/LEAVE_GL in PreLoad, but it wasn't fully ok. I plan to fix and resend the latter patch after issues are taken care of (a bit of lack of consistency with holding / not-holding the lock in LoadLocation and its helper routines). Stefan Dösinger wrote: > Am Freitag, 28. März 2008 20:34:11 schrieb Alexander Dorofeyev: >> ENTER_GL(); >> +if (This->resource.format == WINED3DFMT_P8 || This->resource.format == >> WINED3DFMT_A8P8) { >> + for (i = 0; i < This->baseTexture.levels; i++) { >> +if(palette9_changed((IWineD3DSurfaceImpl *)This->surfaces[i])){ > Why are you doing this inside ENTER_GL? I think LoadLocation locks on its own.
Re: wined3d: Improve detection of device palette change.
Am Freitag, 28. März 2008 20:34:11 schrieb Alexander Dorofeyev: > ENTER_GL(); > +if (This->resource.format == WINED3DFMT_P8 || This->resource.format == > WINED3DFMT_A8P8) { > + for (i = 0; i < This->baseTexture.levels; i++) { > +if(palette9_changed((IWineD3DSurfaceImpl *)This->surfaces[i])){ Why are you doing this inside ENTER_GL? I think LoadLocation locks on its own.