Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/surface.c:
- if (FAILED(hr))
skip("Failed to create D3DFMT_X8L8V8U8 texture, hr %#lx.\n", hr);
- else
- {
hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &surf);
ok(hr == D3D_OK, "Failed to get the surface, hr %#lx.\n", hr);
SetRect(&rect, 0, 0, 2, 2);
hr = D3DXLoadSurfaceFromMemory(surf, NULL, NULL, pixdata_a8b8g8r8_2, D3DFMT_A8B8G8R8, 8, NULL, &rect,
D3DX_FILTER_NONE, 0);
todo_wine ok(hr == D3D_OK, "Unexpected hr %#lx.\n", hr);
/*
* The luma channel here doesn't do RGB->Luma conversion, it just
* copies the alpha channel directly as UNORM. V8 and U8 are snorm,
* pulled from r/g respectively. The blue channel is empty.
I guess, technically, it's the `X` channel to be set to 0.