2018-01-04 12:21 GMT+01:00 Józef Kucia <joseph.kucia(a)gmail.com>:
On Wed, Jan 3, 2018 at 4:18 PM, Sven Hesse <shesse(a)codeweavers.com> wrote:
+/* +static BOOL is_gdi_compatible_texture(const D3D11_TEXTURE1D_DESC *desc) +{ + if (!(desc->Format == DXGI_FORMAT_B8G8R8A8_UNORM + || desc->Format == DXGI_FORMAT_B8G8R8A8_TYPELESS + || desc->Format == DXGI_FORMAT_B8G8R8A8_UNORM_SRGB)) + return FALSE; + + if (desc->Usage != D3D11_USAGE_DEFAULT) + return FALSE; + + return TRUE; +} + +static BOOL validate_texture1d_desc(const D3D11_TEXTURE1D_DESC *desc) +{ + if (desc->MiscFlags & D3D11_RESOURCE_MISC_TEXTURECUBE + && desc->ArraySize < 6) + { + WARN("Invalid array size %u for cube texture.\n", desc->ArraySize); + return FALSE; + } + + if (desc->MiscFlags & D3D11_RESOURCE_MISC_GDI_COMPATIBLE + && !is_gdi_compatible_texture(desc)) + { + WARN("Incompatible description used to create GDI compatible texture.\n"); + return FALSE; + } + + return TRUE; +}
It would be good to test if 1D textures need GDI support.
+*/ + +HRESULT d3d_texture1d_create(struct d3d_device *device, const D3D11_TEXTURE1D_DESC *desc, + const D3D11_SUBRESOURCE_DATA *data, struct d3d_texture1d **out) +{ + struct wined3d_resource_desc wined3d_desc; + struct d3d_texture1d *texture; + unsigned int levels; + DWORD flags = 0; + HRESULT hr; + +/* + if (!validate_texture1d_desc(desc)) + { + WARN("Failed to validate texture desc.\n"); + return E_INVALIDARG; + } +*/ +
Please do not introduce commented out code.
Yeah, you need to resolve this one way or another. I don't think 1D cube textures can possibly be a thing, but in general this is matter of writing some tests.