mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Ignore upper bits of prim type.
This matches tests on what hardware does.
This commit is contained in:
parent
e95b2cf0d5
commit
d920ffdcad
4 changed files with 7 additions and 4 deletions
|
@ -776,7 +776,8 @@ void GPU_DX9::Execute_Prim(u32 op, u32 diff) {
|
||||||
|
|
||||||
u32 data = op & 0xFFFFFF;
|
u32 data = op & 0xFFFFFF;
|
||||||
u32 count = data & 0xFFFF;
|
u32 count = data & 0xFFFF;
|
||||||
GEPrimitiveType prim = static_cast<GEPrimitiveType>(data >> 16);
|
// Upper bits are ignored.
|
||||||
|
GEPrimitiveType prim = static_cast<GEPrimitiveType>((data >> 16) & 7);
|
||||||
|
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -948,7 +948,8 @@ void GPU_GLES::Execute_Prim(u32 op, u32 diff) {
|
||||||
|
|
||||||
u32 data = op & 0xFFFFFF;
|
u32 data = op & 0xFFFFFF;
|
||||||
u32 count = data & 0xFFFF;
|
u32 count = data & 0xFFFF;
|
||||||
GEPrimitiveType prim = static_cast<GEPrimitiveType>(data >> 16);
|
// Upper bits are ignored.
|
||||||
|
GEPrimitiveType prim = static_cast<GEPrimitiveType>((data >> 16) & 7);
|
||||||
|
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -822,7 +822,8 @@ void GPU_Vulkan::Execute_Prim(u32 op, u32 diff) {
|
||||||
|
|
||||||
u32 data = op & 0xFFFFFF;
|
u32 data = op & 0xFFFFFF;
|
||||||
u32 count = data & 0xFFFF;
|
u32 count = data & 0xFFFF;
|
||||||
GEPrimitiveType prim = static_cast<GEPrimitiveType>(data >> 16);
|
// Upper bits are ignored.
|
||||||
|
GEPrimitiveType prim = static_cast<GEPrimitiveType>((data >> 16) & 7);
|
||||||
|
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -152,7 +152,7 @@ static void ExpandRectangles(std::vector<GPUDebugVertex> &vertices, std::vector<
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGEDebugger::UpdatePrimPreview(u32 op) {
|
void CGEDebugger::UpdatePrimPreview(u32 op) {
|
||||||
const u32 prim_type = (op >> 16) & 0xFF;
|
const u32 prim_type = (op >> 16) & 0x7;
|
||||||
int count = op & 0xFFFF;
|
int count = op & 0xFFFF;
|
||||||
if (prim_type >= 7) {
|
if (prim_type >= 7) {
|
||||||
ERROR_LOG(COMMON, "Unsupported prim type: %x", op);
|
ERROR_LOG(COMMON, "Unsupported prim type: %x", op);
|
||||||
|
|
Loading…
Add table
Reference in a new issue