to be more precise,
gcc11 complains with:
/home/eric/work/wine/dlls/d3dx9_36/tests/effect.c: In function 'test_effect_parameter_value_GetMatrixPointerArray':
/home/eric/work/wine/dlls/d3dx9_36/tests/effect.c:1478:52: warning: expression does not compute the number of elements in this array; element type is 'FLOAT' {aka 'float'}, not 'D3DXMATRIX' {aka 'struct _D3DMATRIX'} [-Wsizeof-array-div]
1478 | D3DXMATRIX *matrix_pointer_array[sizeof(fvalue)/sizeof(D3DXMATRIX)];
| ^
/home/eric/work/wine/dlls/d3dx9_36/tests/effect.c:1478:52: note: add parentheses around the second 'sizeof' to silence this warning
/home/eric/work/wine/dlls/d3dx9_36/tests/effect.c:1477:11: note: array 'fvalue' declared here
1477 | FLOAT fvalue[EFFECT_PARAMETER_VALUE_ARRAY_SIZE];
| ^~~~~~
so the patch mainly silences GCC11 by following gcc advice of adding parenthesis
A+