Am Montag 05 Juli 2010 21:23:07 schrieb Henri Verbeet:
hr = IDirect3DDevice9_StretchRect(device, surf_offscreen64, NULL,
surf_offscreen_dest64, NULL, 0);
todo_wine ok( hr == D3DERR_INVALIDCALL, "Conversion from %s to %s
succeeded, shouldn't happen (todo)"
"(code: %08x)\n", "D3DFMT_R32F", "D3DFMT_R16F", hr);
This is interesting. This very conversion motivated the software conversion API.
The DirectX9 SDK "Blobs" sample needs it. It creates a R32F surface, stretches to a R16F and then uses it for drawing. Later on I realized that DirectX9 cards(at least my GF7400) don't support R16F, so the sample uses the original R32F surface for rendering. DirectX10 cards support R16F however, it would be interesting to see how this sample reacts to that.