mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-19 08:28:33 +00:00
Add reporting for unsupported GE commands.
And clean up some disasm for a couple others.
This commit is contained in:
parent
5ecacd6bc8
commit
39c0e6c096
@ -938,6 +938,33 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
||||
}
|
||||
break;
|
||||
|
||||
#ifndef USING_GLES2
|
||||
case GE_CMD_LOGICOPENABLE:
|
||||
if (data != 0)
|
||||
ERROR_LOG_REPORT(G3D, "Unsupported logic op enabled: %x", data);
|
||||
break;
|
||||
|
||||
case GE_CMD_LOGICOP:
|
||||
if (data != 0)
|
||||
ERROR_LOG_REPORT(G3D, "Unsupported logic op: %06x", data);
|
||||
break;
|
||||
|
||||
case GE_CMD_ANTIALIASENABLE:
|
||||
if (data != 0)
|
||||
WARN_LOG_REPORT(G3D, "Unsupported antialias enabled: %06x", data);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXLODSLOPE:
|
||||
if (data != 0)
|
||||
WARN_LOG_REPORT(G3D, "Unsupported texture lod slope: %06x", data);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXLEVEL:
|
||||
if (data != 0)
|
||||
WARN_LOG_REPORT(G3D, "Unsupported texture level bias settings: %06x", data);
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
GPUCommon::ExecuteOp(op, diff);
|
||||
break;
|
||||
|
@ -473,8 +473,8 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer) {
|
||||
|
||||
case GE_CMD_TRANSFERSRCPOS:
|
||||
{
|
||||
u32 x = (data & 1023)+1;
|
||||
u32 y = ((data>>10) & 1023)+1;
|
||||
u32 x = (data & 1023);
|
||||
u32 y = ((data>>10) & 1023);
|
||||
if (data & 0xF00000)
|
||||
sprintf(buffer, "Block transfer src rect TL: %i, %i (extra %x)", x, y, data >> 20);
|
||||
else
|
||||
@ -484,8 +484,8 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer) {
|
||||
|
||||
case GE_CMD_TRANSFERDSTPOS:
|
||||
{
|
||||
u32 x = (data & 1023)+1;
|
||||
u32 y = ((data>>10) & 1023)+1;
|
||||
u32 x = (data & 1023);
|
||||
u32 y = ((data>>10) & 1023);
|
||||
if (data & 0xF00000)
|
||||
sprintf(buffer, "Block transfer dest rect TL: %i, %i (extra %x)", x, y, data >> 20);
|
||||
else
|
||||
@ -849,7 +849,7 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer) {
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXMODE:
|
||||
sprintf(buffer, "TexMode %06x (%s)", data, data & 1 ? "swizzle" : "no swizzle");
|
||||
sprintf(buffer, "TexMode %06x (%s, %d levels, %s)", data, data & 1 ? "swizzle" : "no swizzle", (data >> 16) & 7, (data >> 8) & 1 ? "separate cluts" : "shared clut");
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXFORMAT:
|
||||
@ -929,7 +929,10 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer) {
|
||||
break;
|
||||
|
||||
case GE_CMD_STENCILOP:
|
||||
sprintf(buffer, "Stencil op: %06x", data);
|
||||
{
|
||||
const char *stencilOps[] = { "KEEP", "ZERO", "REPLACE", "INVERT", "INCREMENT", "DECREMENT", "unsupported1", "unsupported2" };
|
||||
sprintf(buffer, "Stencil op: fail=%s, pass/depthfail=%s, pass=%s", stencilOps[data & 7], stencilOps[(data >> 8) & 7], stencilOps[(data >> 16) & 7]);
|
||||
}
|
||||
break;
|
||||
|
||||
case GE_CMD_STENCILTEST:
|
||||
|
Loading…
x
Reference in New Issue
Block a user