mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Inner interpreter safety check - in hw skinning mode, we need to flush if any part of the vertex format changes.
This commit is contained in:
parent
dbe52c8135
commit
02ea4b5efa
1 changed files with 5 additions and 1 deletions
|
@ -1553,6 +1553,10 @@ void GPUCommon::Execute_Prim(u32 op, u32 diff) {
|
|||
goto bail;
|
||||
#endif
|
||||
|
||||
uint32_t vtypeCheckMask = ~GE_VTYPE_WEIGHTCOUNT_MASK;
|
||||
if (!g_Config.bSoftwareSkinning)
|
||||
vtypeCheckMask = 0xFFFFFFFF;
|
||||
|
||||
while (src != stall) {
|
||||
uint32_t data = *src;
|
||||
switch (data >> 24) {
|
||||
|
@ -1581,7 +1585,7 @@ void GPUCommon::Execute_Prim(u32 op, u32 diff) {
|
|||
{
|
||||
uint32_t diff = data ^ vertexType;
|
||||
// don't mask upper bits, vertexType is unmasked
|
||||
if (diff & ~GE_VTYPE_WEIGHTCOUNT_MASK) {
|
||||
if (diff & vtypeCheckMask) {
|
||||
goto bail;
|
||||
} else {
|
||||
vertexType = data;
|
||||
|
|
Loading…
Add table
Reference in a new issue