d3dx9_36 [patch 1/3]: Implement D3DXSHEvalHemisphereLight

Rico Schüller kgbricola at web.de
Wed Dec 5 03:54:54 CST 2012


On 05.12.2012 09:07, Nozomi Kodama wrote:
> Hello
>
> any problems with the patches
> http://source.winehq.org/patches/data/91986
> http://source.winehq.org/patches/data/91985
> http://source.winehq.org/patches/data/91984
>
> Best regards,
> Nozomi
>
>
>

91985/6:
+    for (i = 0; i < order; i++)
+    {
+        scale = cap[i] / norm;
I probably won't try to access the array out of bounds and maybe put out 
a warning when order >= 6 (D3DXSH_MAXORDER) and clamp it to 6. This way 
we would see, if an app uses garbage and still runs. Otherwise it may be 
hard to detect where the rendering difference might come from. Since the 
results are undefined in native, I think it's fine to skip the values 
bigger than 6. Well I think no app should depend on this, but who knows?

Please use const instead of CONST.

While you are at it, you may fix the spec files in 85/86 the same way as 
done in 91984:
  @ stdcall D3DXSHEvalConeLight(long ptr long long long long ptr ptr 
ptr) d3dx9_36.D3DXSHEvalConeLight
->
@ stdcall D3DXSHEvalConeLight(long ptr float float float float ptr ptr 
ptr) d3dx9_36.D3DXSHEvalConeLight


@ stdcall D3DXSHEvalSphericalLight(long ptr long long long long ptr ptr 
ptr) d3dx9_36.D3DXSHEvalSphericalLight
->
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr 
ptr ptr) d3dx9_36.D3DXSHEvalSphericalLight

Cheers
Rico



More information about the wine-devel mailing list