Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/d3dx9_test_images.h:
+{ + { D3DX_DEFAULT, D3D_OK }, + /* Any combo of MIRROR/DITHER/SRGB bits are valid. */ + { 0x007f0001, D3D_OK }, + { D3DX_DEFAULT_NONPOW2, D3DERR_INVALIDCALL }, + { D3DX_FROM_FILE, D3DERR_INVALIDCALL }, + { 0, D3DERR_INVALIDCALL, .d3dx_filter_texture_todo = TRUE }, + { D3DX_FILTER_BOX + 1, D3DERR_INVALIDCALL }, + { 0x0000ffff, D3DERR_INVALIDCALL }, + { 0x7c000001, D3DERR_INVALIDCALL, .d3dx_filter_texture_todo = TRUE }, + { 0x80000001, D3DERR_INVALIDCALL, .d3dx_filter_texture_todo = TRUE }, + /* + * Mip skip bits are 30-26, 25-23 are unused, but setting them results in + * failure. + */ + { 0x03800001, D3DERR_INVALIDCALL, .d3dx_filter_texture_todo = TRUE }, Technically, mip skip bits should only apply to the `mipfilter` argument, not `filter`. Is there any validation for those in `filter` arguments (i.e. are otherwise valid "mip skip" values in `filter` rejected?)
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6157#note_77693