Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/effect.c:
- /* Float vector. Test 0x1E */
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 4, sizeof( FLOAT ) * 4, 0, S_OK, &SET_RAWDATA_FLOAT44_A, "f4", &SET_RAWDATA_FLOAT44_A },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 4, 0, 0, S_OK, &SET_RAWDATA_FLOAT44_A, "f4", &SET_RAWDATA_FLOAT44_B },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 4, sizeof( FLOAT ), 0, S_OK, &SET_RAWDATA_FLOAT44_B, "f4", &SET_RAWDATA_FLOAT44_B },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 4, sizeof( FLOAT ), 1, S_OK, &SET_RAWDATA_FLOAT4_BA, "f4", &SET_RAWDATA_FLOAT44_A },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 4, sizeof( FLOAT ), sizeof( FLOAT ), S_OK, &SET_RAWDATA_FLOAT4_BBA, "f4", &SET_RAWDATA_FLOAT44_A },
- /* Float matrix. Test 0x23 */
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 16, sizeof( FLOAT ) * 16, 0, S_OK, &SET_RAWDATA_FLOAT44_A, "f44", &SET_RAWDATA_FLOAT44_A },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 16, 0, 0, S_OK, &SET_RAWDATA_FLOAT44_A, "f44", &SET_RAWDATA_FLOAT44_B },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 16, sizeof( FLOAT ), 0, S_OK, &SET_RAWDATA_FLOAT44_B, "f44", &SET_RAWDATA_FLOAT44_B },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 16, sizeof( FLOAT ), 1, S_OK, &SET_RAWDATA_FLOAT44_BA, "f44", &SET_RAWDATA_FLOAT44_A },
- { D3DXPT_FLOAT, sizeof( FLOAT ) * 16, sizeof( FLOAT ), sizeof( FLOAT ), S_OK, &SET_RAWDATA_FLOAT44_BBA, "f44", &SET_RAWDATA_FLOAT44_A },
- /* Strings. Test 0x28 */
- { D3DXPT_STRING, sizeof( "\0" ), sizeof( "test" ), 0, S_OK, "\0", "s", "test" },
"\0" looks pretty weird. Use "" if possible, or add a comment explaining why you had to resort to that if not.
These string test results are also quite surprising. I'd double check that everything is correct (see below for something to look for).