[PATCH vkd3d] vkd3d-shader: Separate the allocated and used mask in struct vkd3d_shader_signature_element.

Henri Verbeet hverbeet at gmail.com
Fri Sep 18 03:18:29 CDT 2020


On Fri, 18 Sep 2020 at 08:45, Zebediah Figura <z.figura12 at gmail.com> wrote:
> @@ -2157,7 +2157,11 @@ static int shader_parse_signature(DWORD tag, const char *data, DWORD data_size,
>          read_dword(&ptr, &e[i].sysval_semantic);
>          read_dword(&ptr, &e[i].component_type);
>          read_dword(&ptr, &e[i].register_index);
> -        read_dword(&ptr, &e[i].mask);
> +        read_dword(&ptr, &mask);
> +        e[i].mask = mask & 0xff;
> +        e[i].used_mask = (mask >> 8) & 0xff;
> +        if (tag == TAG_OSGN || tag == TAG_OSG1 || tag == TAG_OSG5)
> +            e[i].used_mask = e[i].mask & ~e[i].used_mask;
>
If we're going to do this, we should do it for patch constant
signatures as well. In its current form this causes failures in
various tessellation shader tests.



More information about the wine-devel mailing list