Matteo Bruni (@Mystral) commented about dlls/d3d10_1/tests/d3d10_1.c:
* Don't use sizeof(data), use data[6] as size,
* because the DWORD data[] has only complete DWORDs and
* so it could happen that there are padded bytes at the end.
*
* The fx size (data[6]) could be up to 3 BYTEs smaller
* than the sizeof(data).
*/
- return D3D10CreateEffectFromMemory(data, data[6], flags, (ID3D10Device *)device, effect_pool, effect);
+}
+#if 0 +BlendState blend_state +{
- srcblend = one;
- srcblend[0] = zero;
+};
This doesn't quite show what happens with the blend state descriptor because BlendEnable defaults to false, which in turn overrides the individual blend settings to their default values. That's probably the reason why the values from the backing store don't match those you get from the blend state object (and makes that part of the test somewhat unclear).