Am Montag, 17. März 2008 20:22:58 schrieb Roderick Colenbrander:
Hi,
This patch puts legacy bump mapping in its own function.
Battlefield 1942 is broken for me after these patches, apparently because D3DFMT_R8G8B8 is enabled again. As far as I can see this is due to the early if(!Usage) return in the texture resource check, the code never reaches the if condition that disables R8G8B8. Is this early return needed at all? It seems confusing to me and is only going to cause breakage similarly to the old code.
The old code enabled R8G8B8 for d3d7, but I think you can remove that and keep the format disabled altogether. As far as I can see Windows does not support it in ddraw either, and enabling it for d3d7 but not d3d8 wouldn't make sense.
By the way, I noticed(a bit late) that the patches from yesterday broke depth stencil selection for me. These patches fix this problem again, but I'm afraid it will cause some issues for regression testing.
Hi,
This patch puts legacy bump mapping in its own function.
Battlefield 1942 is broken for me after these patches, apparently because D3DFMT_R8G8B8 is enabled again. As far as I can see this is due to the early if(!Usage) return in the texture resource check, the code never reaches the if condition that disables R8G8B8. Is this early return needed at all? It seems confusing to me and is only going to cause breakage similarly to the old code.
The old code enabled R8G8B8 for d3d7, but I think you can remove that and keep the format disabled altogether. As far as I can see Windows does not support it in ddraw either, and enabling it for d3d7 but not d3d8 wouldn't make sense.
By the way, I noticed(a bit late) that the patches from yesterday broke depth stencil selection for me. These patches fix this problem again, but I'm afraid it will cause some issues for regression testing.
The patches from yesterday where the start. These new 6 patches will move most of the other code around. After it the change is done for about 90%. Today I will send a bunch of other patches which will move some smaller parts like one which takes care of this r8g8b8 version check (I moved it to the top of the function but I could also keep it where it is and remove !Usage checks). I also need to enable set dynamic / softwareprocessing and a few others.
I think it is best to continue now. I'll prepare some of the other patches now.
Roderick
Hi,
This patch puts legacy bump mapping in its own function.
Battlefield 1942 is broken for me after these patches, apparently
because
D3DFMT_R8G8B8 is enabled again. As far as I can see this is due to the early if(!Usage) return in the texture resource check, the code never reaches the if condition that disables R8G8B8. Is this early return needed at all? It seems confusing to me and is only going to cause breakage similarly to the old code.
The old code enabled R8G8B8 for d3d7, but I think you can remove that
and
keep the format disabled altogether. As far as I can see Windows does not support it in ddraw either, and enabling it for d3d7 but not d3d8 wouldn't make sense.
By the way, I noticed(a bit late) that the patches from yesterday broke depth stencil selection for me. These patches fix this problem again, but I'm afraid it will cause some issues for regression testing.
The patches from yesterday where the start. These new 6 patches will move most of the other code around. After it the change is done for about 90%. Today I will send a bunch of other patches which will move some smaller parts like one which takes care of this r8g8b8 version check (I moved it to the top of the function but I could also keep it where it is and remove !Usage checks). I also need to enable set dynamic / softwareprocessing and a few others.
I think it is best to continue now. I'll prepare some of the other patches now.
Roderick
Patch 7/6, 8/6, 9/6 should take away most issues. Yesterday I didn't have the time to prepare those but they should be fine.
Roderick
Am Dienstag, 18. März 2008 09:44:28 schrieb Roderick Colenbrander:
Patch 7/6, 8/6, 9/6 should take away most issues. Yesterday I didn't have the time to prepare those but they should be fine.
Usually the idea is to apply patches in a order that does not cause known regressions, as this can make bisecting unknown regressions a hell.