d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40364 Signed-off-by: Paul Gofman <gofmanp@gmail.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
422c4fbf71
commit
5e10f1d339
|
@ -7813,13 +7813,19 @@ static void test_vshader_input(void)
|
|||
{{ 0.0f, 0.0f, 0.1f}, 0x00ff8040},
|
||||
{{ 1.0f, -1.0f, 0.1f}, 0x00ff8040},
|
||||
{{ 1.0f, 0.0f, 0.1f}, 0x00ff8040},
|
||||
},
|
||||
};
|
||||
static const struct
|
||||
{
|
||||
struct vec3 position;
|
||||
struct vec3 dummy; /* testing D3DVSD_SKIP */
|
||||
DWORD diffuse;
|
||||
}
|
||||
quad3_color[] =
|
||||
{
|
||||
{{-1.0f, 0.0f, 0.1f}, 0x00ff8040},
|
||||
{{-1.0f, 1.0f, 0.1f}, 0x00ff8040},
|
||||
{{ 0.0f, 0.0f, 0.1f}, 0x00ff8040},
|
||||
{{ 0.0f, 1.0f, 0.1f}, 0x00ff8040},
|
||||
{{-1.0f, 0.0f, 0.1f}, {0.0f}, 0x00ff8040},
|
||||
{{-1.0f, 1.0f, 0.1f}, {0.0f}, 0x00ff8040},
|
||||
{{ 0.0f, 0.0f, 0.1f}, {0.0f}, 0x00ff8040},
|
||||
{{ 0.0f, 1.0f, 0.1f}, {0.0f}, 0x00ff8040},
|
||||
};
|
||||
static const float quad4_color[] =
|
||||
{
|
||||
|
@ -7870,6 +7876,7 @@ static void test_vshader_input(void)
|
|||
{
|
||||
D3DVSD_STREAM(0),
|
||||
D3DVSD_REG(0, D3DVSDT_FLOAT3), /* position */
|
||||
D3DVSD_SKIP(3), /* not used */
|
||||
D3DVSD_REG(5, D3DVSDT_D3DCOLOR), /* diffuse */
|
||||
D3DVSD_END()
|
||||
};
|
||||
|
|
|
@ -291,8 +291,8 @@ static UINT convert_to_wined3d_declaration(const DWORD *d3d8_elements, DWORD *d3
|
|||
|
||||
offset += wined3d_type_sizes[type];
|
||||
} else if (token_type == D3DVSD_TOKEN_STREAMDATA && (*token & D3DVSD_DATALOADTYPEMASK)) {
|
||||
TRACE(" 0x%08x SKIP(%u)\n", token_type, ((token_type & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT));
|
||||
offset += sizeof(DWORD) * ((token_type & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT);
|
||||
TRACE(" 0x%08x SKIP(%u)\n", *token, (*token & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT);
|
||||
offset += sizeof(DWORD) * ((*token & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT);
|
||||
}
|
||||
|
||||
if (element_count >= 127) {
|
||||
|
|
Loading…
Reference in New Issue