mirror of
https://github.com/PCSX2/pcsx2.git
synced 2025-12-16 04:08:48 +00:00
GS: Small fix/addition to info dumping.
This commit is contained in:
parent
fde045241f
commit
657d20d36e
@ -487,6 +487,7 @@ set(pcsx2GSSources
|
|||||||
GS/GSCapture.cpp
|
GS/GSCapture.cpp
|
||||||
GS/GSClut.cpp
|
GS/GSClut.cpp
|
||||||
GS/GSDrawingContext.cpp
|
GS/GSDrawingContext.cpp
|
||||||
|
GS/GSDrawingEnvironment.cpp
|
||||||
GS/GSDump.cpp
|
GS/GSDump.cpp
|
||||||
GS/GSLocalMemory.cpp
|
GS/GSLocalMemory.cpp
|
||||||
GS/GSLzma.cpp
|
GS/GSLzma.cpp
|
||||||
|
|||||||
@ -171,29 +171,29 @@ void GSDrawingContext::Dump(const std::string& filename)
|
|||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"XYOFFSET\n"
|
"XYOFFSET\n"
|
||||||
"\tX:%u\n"
|
"\tOFX:%.4f\n"
|
||||||
"\tY:%u\n\n",
|
"\tOFY:%.4f\n\n",
|
||||||
XYOFFSET.OFX, XYOFFSET.OFY);
|
XYOFFSET.OFX / 16.0f, XYOFFSET.OFY / 16.0f);
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"MIPTBP1\n"
|
"MIPTBP1\n"
|
||||||
"\tBP1:0x%x\n"
|
"\tTBP1:0x%x\n"
|
||||||
"\tBW1:%u\n"
|
"\tTBW1:%u\n"
|
||||||
"\tBP2:0x%x\n"
|
"\tTBP2:0x%x\n"
|
||||||
"\tBW2:%u\n"
|
"\tTBW2:%u\n"
|
||||||
"\tBP3:0x%x\n"
|
"\tTBP3:0x%x\n"
|
||||||
"\tBW3:%u\n\n",
|
"\tTBW3:%u\n\n",
|
||||||
static_cast<uint32_t>(MIPTBP1.TBP1), static_cast<uint32_t>(MIPTBP1.TBW1), static_cast<uint32_t>(MIPTBP1.TBP2),
|
static_cast<uint32_t>(MIPTBP1.TBP1), static_cast<uint32_t>(MIPTBP1.TBW1), static_cast<uint32_t>(MIPTBP1.TBP2),
|
||||||
static_cast<uint32_t>(MIPTBP1.TBW2), static_cast<uint32_t>(MIPTBP1.TBP3), static_cast<uint32_t>(MIPTBP1.TBW3));
|
static_cast<uint32_t>(MIPTBP1.TBW2), static_cast<uint32_t>(MIPTBP1.TBP3), static_cast<uint32_t>(MIPTBP1.TBW3));
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"MIPTBP2\n"
|
"MIPTBP2\n"
|
||||||
"\tBP4:0x%x\n"
|
"\tTBP4:0x%x\n"
|
||||||
"\tBW4:%u\n"
|
"\tTBW4:%u\n"
|
||||||
"\tBP5:0x%x\n"
|
"\tTBP5:0x%x\n"
|
||||||
"\tBW5:%u\n"
|
"\tTBW5:%u\n"
|
||||||
"\tBP6:0x%x\n"
|
"\tTBP6:0x%x\n"
|
||||||
"\tBW6:%u\n\n",
|
"\tTBW6:%u\n\n",
|
||||||
static_cast<uint32_t>(MIPTBP2.TBP4), static_cast<uint32_t>(MIPTBP2.TBW4), static_cast<uint32_t>(MIPTBP2.TBP5),
|
static_cast<uint32_t>(MIPTBP2.TBP4), static_cast<uint32_t>(MIPTBP2.TBW4), static_cast<uint32_t>(MIPTBP2.TBP5),
|
||||||
static_cast<uint32_t>(MIPTBP2.TBW5), static_cast<uint32_t>(MIPTBP2.TBP6), static_cast<uint32_t>(MIPTBP2.TBW6));
|
static_cast<uint32_t>(MIPTBP2.TBW5), static_cast<uint32_t>(MIPTBP2.TBP6), static_cast<uint32_t>(MIPTBP2.TBW6));
|
||||||
|
|
||||||
@ -201,17 +201,17 @@ void GSDrawingContext::Dump(const std::string& filename)
|
|||||||
"TEX0\n"
|
"TEX0\n"
|
||||||
"\tTBP0:0x%x\n"
|
"\tTBP0:0x%x\n"
|
||||||
"\tTBW:%u\n"
|
"\tTBW:%u\n"
|
||||||
"\tPSM:0x%x\n"
|
"\tPSM:0x%x (%s)\n"
|
||||||
"\tTW:%u\n"
|
"\tTW:%u\n"
|
||||||
"\tTH:%u\n"
|
"\tTH:%u\n"
|
||||||
"\tTCC:%u\n"
|
"\tTCC:%u\n"
|
||||||
"\tTFX:%u\n"
|
"\tTFX:%u\n"
|
||||||
"\tCBP:0x%x\n"
|
"\tCBP:0x%x\n"
|
||||||
"\tCPSM:0x%x\n"
|
"\tCPSM:0x%x (%s)\n"
|
||||||
"\tCSM:%u\n"
|
"\tCSM:%u\n"
|
||||||
"\tCSA:%u\n"
|
"\tCSA:%u\n"
|
||||||
"\tCLD:%u\n\n",
|
"\tCLD:%u\n\n",
|
||||||
TEX0.TBP0, TEX0.TBW, TEX0.PSM, TEX0.TW, static_cast<uint32_t>(TEX0.TH), TEX0.TCC, TEX0.TFX, TEX0.CBP, TEX0.CPSM, TEX0.CSM, TEX0.CSA, TEX0.CLD);
|
TEX0.TBP0, TEX0.TBW, TEX0.PSM, GSUtil::GetPSMName(TEX0.PSM), TEX0.TW, static_cast<uint32_t>(TEX0.TH), TEX0.TCC, TEX0.TFX, TEX0.CBP, TEX0.CPSM, GSUtil::GetPSMName(TEX0.CPSM), TEX0.CSM,TEX0.CSA, TEX0.CLD);
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"TEX1\n"
|
"TEX1\n"
|
||||||
@ -226,21 +226,20 @@ void GSDrawingContext::Dump(const std::string& filename)
|
|||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"CLAMP\n"
|
"CLAMP\n"
|
||||||
"\tWMS:%u\n"
|
"\tWMS:%u (%s)\n"
|
||||||
"\tWMT:%u\n"
|
"\tWMT:%u (%s)\n"
|
||||||
"\tMINU:%u\n"
|
"\tMINU:%u\n"
|
||||||
"\tMAXU:%u\n"
|
"\tMAXU:%u\n"
|
||||||
"\tMAXV:%u\n"
|
"\tMAXV:%u\n"
|
||||||
"\tMINV:%u\n\n",
|
"\tMINV:%u\n\n",
|
||||||
CLAMP.WMS, CLAMP.WMT, CLAMP.MINU, CLAMP.MAXU, CLAMP.MAXV, static_cast<uint32_t>(CLAMP.MINV));
|
CLAMP.WMS, GSUtil::GetWMName(CLAMP.WMS), CLAMP.WMT,GSUtil::GetWMName(CLAMP.WMT), CLAMP.MINU, CLAMP.MAXU, CLAMP.MAXV, static_cast<uint32_t>(CLAMP.MINV));
|
||||||
|
|
||||||
// TODO mimmap? (yes I'm lazy)
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"SCISSOR\n"
|
"SCISSOR\n"
|
||||||
"\tX0:%u\n"
|
"\tSCAX0:%u\n"
|
||||||
"\tX1:%u\n"
|
"\tSCAX1:%u\n"
|
||||||
"\tY0:%u\n"
|
"\tSCAY0:%u\n"
|
||||||
"\tY1:%u\n\n",
|
"\tSCAY1:%u\n\n",
|
||||||
SCISSOR.SCAX0, SCISSOR.SCAX1, SCISSOR.SCAY0, SCISSOR.SCAY1);
|
SCISSOR.SCAX0, SCISSOR.SCAX1, SCISSOR.SCAY0, SCISSOR.SCAY1);
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
@ -258,14 +257,14 @@ void GSDrawingContext::Dump(const std::string& filename)
|
|||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"TEST\n"
|
"TEST\n"
|
||||||
"\tATE:%u\n"
|
"\tATE:%u\n"
|
||||||
"\tATST:%s\n"
|
"\tATST:%u (%s)\n"
|
||||||
"\tAREF:%u\n"
|
"\tAREF:%u\n"
|
||||||
"\tAFAIL:%s\n"
|
"\tAFAIL:%u (%s)\n"
|
||||||
"\tDATE:%u\n"
|
"\tDATE:%u\n"
|
||||||
"\tDATM:%u\n"
|
"\tDATM:%u\n"
|
||||||
"\tZTE:%u\n"
|
"\tZTE:%u\n"
|
||||||
"\tZTST:%u\n\n",
|
"\tZTST:%u (%s)\n\n",
|
||||||
TEST.ATE, GSUtil::GetATSTName(TEST.ATST), TEST.AREF, GSUtil::GetAFAILName(TEST.AFAIL), TEST.DATE, TEST.DATM, TEST.ZTE, TEST.ZTST);
|
TEST.ATE, TEST.ATST, GSUtil::GetATSTName(TEST.ATST), TEST.AREF, TEST.AFAIL, GSUtil::GetAFAILName(TEST.AFAIL), TEST.DATE, TEST.DATM, TEST.ZTE, TEST.ZTST, GSUtil::GetZTSTName(TEST.ZTST));
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"FBA\n"
|
"FBA\n"
|
||||||
@ -276,16 +275,16 @@ void GSDrawingContext::Dump(const std::string& filename)
|
|||||||
"FRAME\n"
|
"FRAME\n"
|
||||||
"\tFBP (*32):0x%x\n"
|
"\tFBP (*32):0x%x\n"
|
||||||
"\tFBW:%u\n"
|
"\tFBW:%u\n"
|
||||||
"\tPSM:0x%x\n"
|
"\tPSM:0x%x (%s)\n"
|
||||||
"\tFBMSK:0x%x\n\n",
|
"\tFBMSK:0x%x\n\n",
|
||||||
FRAME.FBP * 32, FRAME.FBW, FRAME.PSM, FRAME.FBMSK);
|
FRAME.FBP * 32, FRAME.FBW, FRAME.PSM, GSUtil::GetPSMName(FRAME.PSM), FRAME.FBMSK);
|
||||||
|
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"ZBUF\n"
|
"ZBUF\n"
|
||||||
"\tZBP (*32):0x%x\n"
|
"\tZBP (*32):0x%x\n"
|
||||||
"\tPSM:0x%x\n"
|
"\tPSM:0x%x (%s)\n"
|
||||||
"\tZMSK:%u\n\n",
|
"\tZMSK:%u\n\n",
|
||||||
ZBUF.ZBP * 32, ZBUF.PSM, ZBUF.ZMSK);
|
ZBUF.ZBP * 32, ZBUF.PSM, GSUtil::GetPSMName(ZBUF.PSM), ZBUF.ZMSK);
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
|||||||
147
pcsx2/GS/GSDrawingEnvironment.cpp
Normal file
147
pcsx2/GS/GSDrawingEnvironment.cpp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team
|
||||||
|
// SPDX-License-Identifier: GPL-3.0+
|
||||||
|
|
||||||
|
#include "GS/GSGL.h"
|
||||||
|
#include "GS/GS.h"
|
||||||
|
#include "GS/GSUtil.h"
|
||||||
|
#include "GS/GSDrawingContext.h"
|
||||||
|
#include "GS/GSDrawingEnvironment.h"
|
||||||
|
|
||||||
|
void GSDrawingEnvironment::Reset()
|
||||||
|
{
|
||||||
|
memset(&PRIM, 0, sizeof(PRIM));
|
||||||
|
memset(&PRMODE, 0, sizeof(PRMODE));
|
||||||
|
memset(&PRMODECONT, 0, sizeof(PRMODECONT));
|
||||||
|
memset(&TEXCLUT, 0, sizeof(TEXCLUT));
|
||||||
|
memset(&SCANMSK, 0, sizeof(SCANMSK));
|
||||||
|
memset(&TEXA, 0, sizeof(TEXA));
|
||||||
|
memset(&FOGCOL, 0, sizeof(FOGCOL));
|
||||||
|
memset(&DIMX, 0, sizeof(DIMX));
|
||||||
|
memset(&DTHE, 0, sizeof(DTHE));
|
||||||
|
memset(&COLCLAMP, 0, sizeof(COLCLAMP));
|
||||||
|
memset(&PABE, 0, sizeof(PABE));
|
||||||
|
memset(&BITBLTBUF, 0, sizeof(BITBLTBUF));
|
||||||
|
memset(&TRXDIR, 0, sizeof(TRXDIR));
|
||||||
|
memset(&TRXPOS, 0, sizeof(TRXPOS));
|
||||||
|
memset(&TRXREG, 0, sizeof(TRXREG));
|
||||||
|
|
||||||
|
CTXT[0].Reset();
|
||||||
|
CTXT[1].Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GSDrawingEnvironment::Dump(const std::string& filename) const
|
||||||
|
{
|
||||||
|
FILE* fp = fopen(filename.c_str(), "wt");
|
||||||
|
if (!fp)
|
||||||
|
return;
|
||||||
|
|
||||||
|
fprintf(fp, "PRIM\n"
|
||||||
|
"\tPRIM:%u (%s)\n"
|
||||||
|
"\tIIP:%u\n"
|
||||||
|
"\tTME:%u\n"
|
||||||
|
"\tFGE:%u\n"
|
||||||
|
"\tABE:%u\n"
|
||||||
|
"\tAA1:%u\n"
|
||||||
|
"\tFST:%u\n"
|
||||||
|
"\tCTXT:%u\n"
|
||||||
|
"\tFIX:%u\n\n",
|
||||||
|
PRIM.PRIM, GSUtil::GetPrimName(PRIM.PRIM), PRIM.IIP, PRIM.TME, PRIM.FGE, PRIM.ABE, PRIM.AA1, PRIM.FST, PRIM.CTXT, PRIM.FIX);
|
||||||
|
|
||||||
|
fprintf(fp, "PRMODE (when AC=0)\n"
|
||||||
|
"\t_PRIM:%u (%s)\n"
|
||||||
|
"\tIIP:%u\n"
|
||||||
|
"\tTME:%u\n"
|
||||||
|
"\tFGE:%u\n"
|
||||||
|
"\tABE:%u\n"
|
||||||
|
"\tAA1:%u\n"
|
||||||
|
"\tFST:%u\n"
|
||||||
|
"\tCTXT:%u\n"
|
||||||
|
"\tFIX:%u\n\n",
|
||||||
|
PRMODE._PRIM, GSUtil::GetPrimName(PRMODE._PRIM), PRMODE.IIP, PRMODE.TME, PRMODE.FGE, PRMODE.ABE, PRMODE.AA1, PRMODE.FST, PRMODE.CTXT, PRMODE.FIX);
|
||||||
|
|
||||||
|
fprintf(fp, "PRMODECONT\n"
|
||||||
|
"\tAC:%u\n\n",
|
||||||
|
PRMODECONT.AC);
|
||||||
|
|
||||||
|
fprintf(fp, "TEXCLUT\n"
|
||||||
|
"\tCOU:%u\n"
|
||||||
|
"\tCBW:%u\n"
|
||||||
|
"\tCOV:%u\n\n",
|
||||||
|
TEXCLUT.COU, TEXCLUT.CBW, TEXCLUT.COV);
|
||||||
|
|
||||||
|
fprintf(fp, "SCANMSK\n"
|
||||||
|
"\tMSK:%u\n\n",
|
||||||
|
SCANMSK.MSK);
|
||||||
|
|
||||||
|
fprintf(fp, "TEXA\n"
|
||||||
|
"\tAEM:%u\n"
|
||||||
|
"\tTA0:%u\n"
|
||||||
|
"\tTA1:%u\n\n",
|
||||||
|
TEXA.AEM, TEXA.TA0, TEXA.TA1);
|
||||||
|
|
||||||
|
fprintf(fp, "FOGCOL\n"
|
||||||
|
"\tFCG:%u\n"
|
||||||
|
"\tFCB:%u\n"
|
||||||
|
"\tFCR:%u\n\n",
|
||||||
|
FOGCOL.FCG, FOGCOL.FCB, FOGCOL.FCR);
|
||||||
|
|
||||||
|
fprintf(fp, "DIMX\n"
|
||||||
|
"\tDM22:%d\n"
|
||||||
|
"\tDM23:%d\n"
|
||||||
|
"\tDM31:%d\n"
|
||||||
|
"\tDM02:%d\n"
|
||||||
|
"\tDM21:%d\n"
|
||||||
|
"\tDM12:%d\n"
|
||||||
|
"\tDM03:%d\n"
|
||||||
|
"\tDM01:%d\n"
|
||||||
|
"\tDM33:%d\n"
|
||||||
|
"\tDM30:%d\n"
|
||||||
|
"\tDM11:%d\n"
|
||||||
|
"\tDM10:%d\n"
|
||||||
|
"\tDM20:%d\n"
|
||||||
|
"\tDM32:%d\n"
|
||||||
|
"\tDM00:%d\n"
|
||||||
|
"\tDM13:%d\n\n",
|
||||||
|
DIMX.DM22, DIMX.DM23, DIMX.DM31, DIMX.DM02, DIMX.DM21, DIMX.DM12, DIMX.DM03, DIMX.DM01, DIMX.DM33, DIMX.DM30, DIMX.DM11, DIMX.DM10, DIMX.DM20, DIMX.DM32, DIMX.DM00, DIMX.DM13);
|
||||||
|
|
||||||
|
fprintf(fp, "DTHE\n"
|
||||||
|
"\tDTHE:%u\n\n",
|
||||||
|
DTHE.DTHE);
|
||||||
|
|
||||||
|
fprintf(fp, "COLCLAMP\n"
|
||||||
|
"\tCLAMP:%u\n\n",
|
||||||
|
COLCLAMP.CLAMP);
|
||||||
|
|
||||||
|
fprintf(fp, "PABE\n"
|
||||||
|
"\tPABE:%u\n\n",
|
||||||
|
PABE.PABE);
|
||||||
|
|
||||||
|
fprintf(fp, "BITBLTBUF\n"
|
||||||
|
"\tSBW:%u\n"
|
||||||
|
"\tSBP:0x%x\n"
|
||||||
|
"\tSPSM:%u (%s)\n"
|
||||||
|
"\tDBW:%u\n"
|
||||||
|
"\tDPSM:%u (%s)\n"
|
||||||
|
"\tDBP:0x%x\n\n",
|
||||||
|
BITBLTBUF.SBW, BITBLTBUF.SBP, BITBLTBUF.SPSM, GSUtil::GetPSMName(BITBLTBUF.SPSM), BITBLTBUF.DBW, BITBLTBUF.DPSM, GSUtil::GetPSMName(BITBLTBUF.DPSM), BITBLTBUF.DBP);
|
||||||
|
|
||||||
|
fprintf(fp, "TRXDIR\n"
|
||||||
|
"\tXDIR:%u\n\n",
|
||||||
|
TRXDIR.XDIR);
|
||||||
|
|
||||||
|
fprintf(fp, "TRXPOS\n"
|
||||||
|
"\tDIRY:%u\n"
|
||||||
|
"\tSSAY:%u\n"
|
||||||
|
"\tSSAX:%u\n"
|
||||||
|
"\tDIRX:%u\n"
|
||||||
|
"\tDSAX:%u\n"
|
||||||
|
"\tDSAY:%u\n\n",
|
||||||
|
TRXPOS.DIRY, TRXPOS.SSAY, TRXPOS.SSAX, TRXPOS.DIRX, TRXPOS.DSAX, TRXPOS.DSAY);
|
||||||
|
|
||||||
|
fprintf(fp, "TRXREG\n"
|
||||||
|
"\tRRH:%u\n"
|
||||||
|
"\tRRW:%u\n\n",
|
||||||
|
TRXREG.RRH, TRXREG.RRW);
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
@ -23,142 +23,7 @@ public:
|
|||||||
GIFRegTRXREG TRXREG;
|
GIFRegTRXREG TRXREG;
|
||||||
GSDrawingContext CTXT[2];
|
GSDrawingContext CTXT[2];
|
||||||
|
|
||||||
void Reset()
|
void Reset();
|
||||||
{
|
|
||||||
memset(&PRIM, 0, sizeof(PRIM));
|
|
||||||
memset(&PRMODE, 0, sizeof(PRMODE));
|
|
||||||
memset(&PRMODECONT, 0, sizeof(PRMODECONT));
|
|
||||||
memset(&TEXCLUT, 0, sizeof(TEXCLUT));
|
|
||||||
memset(&SCANMSK, 0, sizeof(SCANMSK));
|
|
||||||
memset(&TEXA, 0, sizeof(TEXA));
|
|
||||||
memset(&FOGCOL, 0, sizeof(FOGCOL));
|
|
||||||
memset(&DIMX, 0, sizeof(DIMX));
|
|
||||||
memset(&DTHE, 0, sizeof(DTHE));
|
|
||||||
memset(&COLCLAMP, 0, sizeof(COLCLAMP));
|
|
||||||
memset(&PABE, 0, sizeof(PABE));
|
|
||||||
memset(&BITBLTBUF, 0, sizeof(BITBLTBUF));
|
|
||||||
memset(&TRXDIR, 0, sizeof(TRXDIR));
|
|
||||||
memset(&TRXPOS, 0, sizeof(TRXPOS));
|
|
||||||
memset(&TRXREG, 0, sizeof(TRXREG));
|
|
||||||
|
|
||||||
CTXT[0].Reset();
|
void Dump(const std::string& filename) const;
|
||||||
CTXT[1].Reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dump(const std::string& filename) const
|
|
||||||
{
|
|
||||||
FILE* fp = fopen(filename.c_str(), "wt");
|
|
||||||
if (!fp)
|
|
||||||
return;
|
|
||||||
|
|
||||||
fprintf(fp, "PRIM\n"
|
|
||||||
"\tPRIM:%u\n"
|
|
||||||
"\tIIP:%u\n"
|
|
||||||
"\tTME:%u\n"
|
|
||||||
"\tFGE:%u\n"
|
|
||||||
"\tABE:%u\n"
|
|
||||||
"\tAA1:%u\n"
|
|
||||||
"\tFST:%u\n"
|
|
||||||
"\tCTXT:%u\n"
|
|
||||||
"\tFIX:%u\n\n"
|
|
||||||
, PRIM.PRIM, PRIM.IIP, PRIM.TME, PRIM.FGE, PRIM.ABE, PRIM.AA1, PRIM.FST, PRIM.CTXT, PRIM.FIX);
|
|
||||||
|
|
||||||
fprintf(fp, "PRMODE (when AC=0)\n"
|
|
||||||
"\t_PRIM:%u\n"
|
|
||||||
"\tIIP:%u\n"
|
|
||||||
"\tTME:%u\n"
|
|
||||||
"\tFGE:%u\n"
|
|
||||||
"\tABE:%u\n"
|
|
||||||
"\tAA1:%u\n"
|
|
||||||
"\tFST:%u\n"
|
|
||||||
"\tCTXT:%u\n"
|
|
||||||
"\tFIX:%u\n\n"
|
|
||||||
, PRMODE._PRIM, PRMODE.IIP, PRMODE.TME, PRMODE.FGE, PRMODE.ABE, PRMODE.AA1, PRMODE.FST, PRMODE.CTXT, PRMODE.FIX);
|
|
||||||
|
|
||||||
fprintf(fp, "PRMODECONT\n"
|
|
||||||
"\tAC:%u\n\n"
|
|
||||||
, PRMODECONT.AC);
|
|
||||||
|
|
||||||
fprintf(fp, "TEXCLUT\n"
|
|
||||||
"\tCOU:%u\n"
|
|
||||||
"\tCBW:%u\n"
|
|
||||||
"\tCOV:%u\n\n"
|
|
||||||
, TEXCLUT.COU, TEXCLUT.CBW, TEXCLUT.COV);
|
|
||||||
|
|
||||||
fprintf(fp, "SCANMSK\n"
|
|
||||||
"\tMSK:%u\n\n"
|
|
||||||
, SCANMSK.MSK);
|
|
||||||
|
|
||||||
fprintf(fp, "TEXA\n"
|
|
||||||
"\tAEM:%u\n"
|
|
||||||
"\tTA0:%u\n"
|
|
||||||
"\tTA1:%u\n\n"
|
|
||||||
, TEXA.AEM, TEXA.TA0, TEXA.TA1);
|
|
||||||
|
|
||||||
fprintf(fp, "FOGCOL\n"
|
|
||||||
"\tFCG:%u\n"
|
|
||||||
"\tFCB:%u\n"
|
|
||||||
"\tFCR:%u\n\n"
|
|
||||||
, FOGCOL.FCG, FOGCOL.FCB, FOGCOL.FCR);
|
|
||||||
|
|
||||||
fprintf(fp, "DIMX\n"
|
|
||||||
"\tDM22:%d\n"
|
|
||||||
"\tDM23:%d\n"
|
|
||||||
"\tDM31:%d\n"
|
|
||||||
"\tDM02:%d\n"
|
|
||||||
"\tDM21:%d\n"
|
|
||||||
"\tDM12:%d\n"
|
|
||||||
"\tDM03:%d\n"
|
|
||||||
"\tDM01:%d\n"
|
|
||||||
"\tDM33:%d\n"
|
|
||||||
"\tDM30:%d\n"
|
|
||||||
"\tDM11:%d\n"
|
|
||||||
"\tDM10:%d\n"
|
|
||||||
"\tDM20:%d\n"
|
|
||||||
"\tDM32:%d\n"
|
|
||||||
"\tDM00:%d\n"
|
|
||||||
"\tDM13:%d\n\n"
|
|
||||||
, DIMX.DM22, DIMX.DM23, DIMX.DM31, DIMX.DM02, DIMX.DM21, DIMX.DM12, DIMX.DM03, DIMX.DM01, DIMX.DM33, DIMX.DM30, DIMX.DM11, DIMX.DM10, DIMX.DM20, DIMX.DM32, DIMX.DM00, DIMX.DM13);
|
|
||||||
|
|
||||||
fprintf(fp, "DTHE\n"
|
|
||||||
"\tDTHE:%u\n\n"
|
|
||||||
, DTHE.DTHE);
|
|
||||||
|
|
||||||
fprintf(fp, "COLCLAMP\n"
|
|
||||||
"\tCLAMP:%u\n\n"
|
|
||||||
, COLCLAMP.CLAMP);
|
|
||||||
|
|
||||||
fprintf(fp, "PABE\n"
|
|
||||||
"\tPABE:%u\n\n"
|
|
||||||
, PABE.PABE);
|
|
||||||
|
|
||||||
fprintf(fp, "BITBLTBUF\n"
|
|
||||||
"\tSBW:%u\n"
|
|
||||||
"\tSBP:0x%x\n"
|
|
||||||
"\tSPSM:%u\n"
|
|
||||||
"\tDBW:%u\n"
|
|
||||||
"\tDPSM:%u\n"
|
|
||||||
"\tDBP:0x%x\n\n"
|
|
||||||
, BITBLTBUF.SBW, BITBLTBUF.SBP, BITBLTBUF.SPSM, BITBLTBUF.DBW, BITBLTBUF.DPSM, BITBLTBUF.DBP);
|
|
||||||
|
|
||||||
fprintf(fp, "TRXDIR\n"
|
|
||||||
"\tXDIR:%u\n\n",
|
|
||||||
TRXDIR.XDIR);
|
|
||||||
|
|
||||||
fprintf(fp, "TRXPOS\n"
|
|
||||||
"\tDIRY:%u\n"
|
|
||||||
"\tSSAY:%u\n"
|
|
||||||
"\tSSAX:%u\n"
|
|
||||||
"\tDIRX:%u\n"
|
|
||||||
"\tDSAX:%u\n"
|
|
||||||
"\tDSAY:%u\n\n"
|
|
||||||
, TRXPOS.DIRY, TRXPOS.SSAY, TRXPOS.SSAX, TRXPOS.DIRX, TRXPOS.DSAX, TRXPOS.DSAY);
|
|
||||||
|
|
||||||
fprintf(fp, "TRXREG\n"
|
|
||||||
"\tRRH:%u\n"
|
|
||||||
"\tRRW:%u\n\n"
|
|
||||||
, TRXREG.RRH, TRXREG.RRW);
|
|
||||||
|
|
||||||
fclose(fp);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -520,22 +520,27 @@ void GSState::DumpVertices(const std::string& filename)
|
|||||||
|
|
||||||
file << std::endl;
|
file << std::endl;
|
||||||
|
|
||||||
file << "TRACER" << std::endl;
|
file << "TRACER" << std::dec << std::endl;
|
||||||
|
|
||||||
GSVector4i v = m_vt.m_min.c;
|
GSVector4i v = m_vt.m_min.c;
|
||||||
file << "\tmin c (x,y,z,w): " << v.x << DEL << v.y << DEL << v.z << DEL << v.w << std::endl;
|
file << "\tmin c (r,g,b,a): " << v.x << DEL << v.y << DEL << v.z << DEL << v.w << std::endl;
|
||||||
v = m_vt.m_max.c;
|
v = m_vt.m_max.c;
|
||||||
file << "\tmax c (x,y,z,w): " << v.x << DEL << v.y << DEL << v.z << DEL << v.w << std::endl;
|
file << "\tmax c (r,g,b,a): " << v.x << DEL << v.y << DEL << v.z << DEL << v.w << std::endl;
|
||||||
|
|
||||||
GSVector4 v2 = m_vt.m_min.p;
|
GSVector4 v2 = m_vt.m_min.p;
|
||||||
file << "\tmin p (x,y,z,w): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << v2.w << std::endl;
|
file << "\tmin p (x,y,z,f): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << (u32)v2.w << std::endl;
|
||||||
v2 = m_vt.m_max.p;
|
v2 = m_vt.m_max.p;
|
||||||
file << "\tmax p (x,y,z,w): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << v2.w << std::endl;
|
file << "\tmax p (x,y,z,f): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << (u32)v2.w << std::endl;
|
||||||
v2 = m_vt.m_min.t;
|
|
||||||
file << "\tmin t (x,y,z,w): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << v2.w << std::endl;
|
|
||||||
v2 = m_vt.m_max.t;
|
|
||||||
file << "\tmax t (x,y,z,w): " << v2.x << DEL << v2.y << DEL << v2.z << DEL << v2.w << std::endl;
|
|
||||||
|
|
||||||
|
v2 = m_vt.m_min.t;
|
||||||
|
file << "\tmin t (u,v,q): " << v2.x << DEL << v2.y << DEL << v2.z << std::endl;
|
||||||
|
v2 = m_vt.m_max.t;
|
||||||
|
file << "\tmax t (u,v,q): " << v2.x << DEL << v2.y << DEL << v2.z << std::endl;
|
||||||
|
|
||||||
|
file << std::endl;
|
||||||
|
file << "\teq c (r,g,b,a): " << (m_vt.m_eq.r & 1) << DEL << (m_vt.m_eq.g & 1) << DEL << (m_vt.m_eq.b & 1) << DEL << (m_vt.m_eq.a & 1) << std::endl;
|
||||||
|
file << "\teq p (x,y,z,f): " << (m_vt.m_eq.x & 1) << DEL << (m_vt.m_eq.y & 1) << DEL << (m_vt.m_eq.z & 1) << DEL << (m_vt.m_eq.f & 1) << std::endl;
|
||||||
|
file << "\teq t (u,v,q) : " << (m_vt.m_eq.s & 1) << DEL << (m_vt.m_eq.t & 1) << DEL << (m_vt.m_eq.q & 1) << std::endl;
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -94,6 +94,26 @@ const char* GSUtil::GetAFAILName(u32 afail)
|
|||||||
return (afail < std::size(names)) ? names[afail] : "";
|
return (afail < std::size(names)) ? names[afail] : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* GSUtil::GetWMName(u32 wm)
|
||||||
|
{
|
||||||
|
static constexpr const char* names[] = {"REPEAT", "CLAMP", "REGION_CLAMP", "REGION_REPEAT"};
|
||||||
|
return (wm < std::size(names)) ? names[wm] : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* GSUtil::GetZTSTName(u32 ztst)
|
||||||
|
{
|
||||||
|
static constexpr const char* names[] = {
|
||||||
|
"NEVER", "ALWAYS", "GEQUAL", "GREATER"};
|
||||||
|
return (ztst < std::size(names)) ? names[ztst] : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* GSUtil::GetPrimName(u32 prim)
|
||||||
|
{
|
||||||
|
static constexpr const char* names[] = {
|
||||||
|
"POINT", "LINE", "LINESTRIP", "TRIANGLE", "TRIANGLESTRIP", "TRIANGLEFAN", "SPRITE", "INVALID"};
|
||||||
|
return (prim < std::size(names)) ? names[prim] : "";
|
||||||
|
}
|
||||||
|
|
||||||
const u32* GSUtil::HasSharedBitsPtr(u32 dpsm)
|
const u32* GSUtil::HasSharedBitsPtr(u32 dpsm)
|
||||||
{
|
{
|
||||||
return s_maps.SharedBitsField[dpsm];
|
return s_maps.SharedBitsField[dpsm];
|
||||||
|
|||||||
@ -12,6 +12,9 @@ public:
|
|||||||
static const char* GetATSTName(u32 atst);
|
static const char* GetATSTName(u32 atst);
|
||||||
static const char* GetAFAILName(u32 afail);
|
static const char* GetAFAILName(u32 afail);
|
||||||
static const char* GetPSMName(int psm);
|
static const char* GetPSMName(int psm);
|
||||||
|
static const char* GetWMName(u32 wm);
|
||||||
|
static const char* GetZTSTName(u32 ztst);
|
||||||
|
static const char* GetPrimName(u32 prim);
|
||||||
|
|
||||||
static const u32* HasSharedBitsPtr(u32 dpsm);
|
static const u32* HasSharedBitsPtr(u32 dpsm);
|
||||||
static bool HasSharedBits(u32 spsm, const u32* ptr);
|
static bool HasSharedBits(u32 spsm, const u32* ptr);
|
||||||
|
|||||||
@ -204,6 +204,7 @@
|
|||||||
<ClCompile Include="DEV9\net.cpp" />
|
<ClCompile Include="DEV9\net.cpp" />
|
||||||
<ClCompile Include="DEV9\Win32\tap-win32.cpp" />
|
<ClCompile Include="DEV9\Win32\tap-win32.cpp" />
|
||||||
<ClCompile Include="GameList.cpp" />
|
<ClCompile Include="GameList.cpp" />
|
||||||
|
<ClCompile Include="GS\GSDrawingEnvironment.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\DX11\D3D11ShaderCache.cpp" />
|
<ClCompile Include="GS\Renderers\DX11\D3D11ShaderCache.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\DX12\D3D12Builders.cpp" />
|
<ClCompile Include="GS\Renderers\DX12\D3D12Builders.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\DX12\D3D12DescriptorHeapManager.cpp" />
|
<ClCompile Include="GS\Renderers\DX12\D3D12DescriptorHeapManager.cpp" />
|
||||||
|
|||||||
@ -1446,6 +1446,9 @@
|
|||||||
<ClCompile Include="SIO\Pad\PadNegcon.cpp">
|
<ClCompile Include="SIO\Pad\PadNegcon.cpp">
|
||||||
<Filter>System\Ps2\Iop\SIO\PAD</Filter>
|
<Filter>System\Ps2\Iop\SIO\PAD</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GS\GSDrawingEnvironment.cpp">
|
||||||
|
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Patch.h">
|
<ClInclude Include="Patch.h">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user