[PATCH 3/4] d3dx9/tests: Add effect parameter value GetMatrixPointerArray() test.

Rico Schüller kgbricola at web.de
Mon Jul 9 14:43:38 CDT 2012


Am 09.07.2012 16:17, schrieb Matteo Bruni:
> 2012/7/8 Rico Schüller<kgbricola at web.de>:
>> ---
>>   dlls/d3dx9_36/tests/effect.c |   90
>> ++++++++++++++++++++++++++++++++++++++++++
>>   1 files changed, 90 insertions(+), 0 deletions(-)
>>
>
> Hi Rico,
>
> maybe it's just me misunderstanding this, but:
>
> +    FLOAT fvalue[EFFECT_PARAMETER_VALUE_ARRAY_SIZE];
> +    D3DXMATRIX *matrix_pointer_array[sizeof(fvalue)/sizeof(D3DXMATRIX)];
> +    UINT l, k, m, element;
> +
> +    for (element = 0; element<= res_desc->Elements + 1; ++element)
> +    {
> +        memset(fvalue, 0xab, sizeof(fvalue));
> +        for (l = 0; l<  element; ++l)
> +        {
> +            matrix_pointer_array[l] = (D3DXMATRIX *)&fvalue[l *
> sizeof(**matrix_pointer_array) / sizeof(*matrix_pointer_array)];
> +        }
>
> I don't quite understand what you're trying to achieve with
> "sizeof(**matrix_pointer_array) / sizeof(*matrix_pointer_array)". As
> far as I can see, that depends on the size of the pointer (32/64 bits)
> and I'm not sure that the offset should change in that case. Maybe you
> meant to use sizeof(float) as divisor?
>

Hi Matteo,

yes, the array increment has to be constantly 16. So sizeof(FLOAT) is 
correct. Thanks for the hint, it needs to be corrected in some other 
cases, too. I'll send some new patches to fix the issues.

Cheers
Rico



More information about the wine-devel mailing list