Re: wined3d: Improve detection of device palette change.

2008-03-28 Thread Stefan Dösinger
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.

2008-03-28 Thread 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).

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.

2008-03-28 Thread Stefan Dösinger
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.