mirror of
https://github.com/reactos/wine.git
synced 2024-11-24 20:30:01 +00:00
d3d: Calculate the size of WINED3DFVF_XYZBx FVFs.
This commit is contained in:
parent
34f95c683e
commit
d913744f1e
@ -894,9 +894,14 @@ get_flexible_vertex_size(DWORD d3dvtVertexType)
|
||||
if (d3dvtVertexType & D3DFVF_RESERVED1) size += sizeof(DWORD);
|
||||
switch (d3dvtVertexType & D3DFVF_POSITION_MASK)
|
||||
{
|
||||
case D3DFVF_XYZ: size += 3 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZ: size += 3 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZRHW: size += 4 * sizeof(D3DVALUE); break;
|
||||
default: TRACE(" matrix weighting not handled yet...\n");
|
||||
case D3DFVF_XYZB1: size += 4 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZB2: size += 5 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZB3: size += 6 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZB4: size += 7 * sizeof(D3DVALUE); break;
|
||||
case D3DFVF_XYZB5: size += 8 * sizeof(D3DVALUE); break;
|
||||
default: ERR("Unexpected position mask\n");
|
||||
}
|
||||
for (i = 0; i < GET_TEXCOUNT_FROM_FVF(d3dvtVertexType); i++)
|
||||
{
|
||||
|
@ -2488,9 +2488,14 @@ DWORD get_flexible_vertex_size(DWORD d3dvtVertexType) {
|
||||
if (d3dvtVertexType & WINED3DFVF_SPECULAR) size += sizeof(DWORD);
|
||||
if (d3dvtVertexType & WINED3DFVF_PSIZE) size += sizeof(DWORD);
|
||||
switch (d3dvtVertexType & WINED3DFVF_POSITION_MASK) {
|
||||
case WINED3DFVF_XYZ: size += 3 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZ: size += 3 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZRHW: size += 4 * sizeof(float); break;
|
||||
default: TRACE(" matrix weighting not handled yet...\n");
|
||||
case WINED3DFVF_XYZB1: size += 4 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZB2: size += 5 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZB3: size += 6 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZB4: size += 7 * sizeof(float); break;
|
||||
case WINED3DFVF_XYZB5: size += 8 * sizeof(float); break;
|
||||
default: ERR("Unexpected position mask\n");
|
||||
}
|
||||
for (i = 0; i < numTextures; i++) {
|
||||
size += GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, i) * sizeof(float);
|
||||
|
Loading…
Reference in New Issue
Block a user