Fix vertex declaration assignment in guest device.

This commit is contained in:
Skyth 2024-10-16 21:35:18 +03:00
parent 3d76d26a64
commit b7a3bdca87
2 changed files with 2 additions and 4 deletions

View file

@ -1936,7 +1936,7 @@ static void SetVertexDeclaration(GuestDevice* device, GuestVertexDeclaration* ve
SetDirtyValue(g_dirtyStates.sharedConstants, g_sharedConstants.inputLayoutFlags, vertexDeclaration->inputLayoutFlags); SetDirtyValue(g_dirtyStates.sharedConstants, g_sharedConstants.inputLayoutFlags, vertexDeclaration->inputLayoutFlags);
} }
SetDirtyValue(g_dirtyStates.pipelineState, g_pipelineState.vertexDeclaration, vertexDeclaration); SetDirtyValue(g_dirtyStates.pipelineState, g_pipelineState.vertexDeclaration, vertexDeclaration);
device->vertexDeclaration = vertexDeclaration; device->vertexDeclaration = g_memory.MapVirtual(vertexDeclaration);
} }
static GuestShader* CreateShader(const be<uint32_t>* function, ResourceType resourceType) static GuestShader* CreateShader(const be<uint32_t>* function, ResourceType resourceType)
@ -2425,8 +2425,6 @@ static void MakePictureData(GuestPictureData* pictureData, uint8_t* data, uint32
pictureData->texture = g_memory.MapVirtual(texture); pictureData->texture = g_memory.MapVirtual(texture);
pictureData->type = 0; pictureData->type = 0;
} }
pictureData->flags |= 0x1;
} }
} }

View file

@ -30,7 +30,7 @@ struct GuestDevice
be<uint32_t> pixelShaderBoolConstants[0x4]; be<uint32_t> pixelShaderBoolConstants[0x4];
uint8_t padding27A0[0x68C]; uint8_t padding27A0[0x68C];
struct GuestVertexDeclaration* vertexDeclaration; be<uint32_t> vertexDeclaration;
uint8_t padding2E30[0x2FD0]; uint8_t padding2E30[0x2FD0];
}; };