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/GSClut.cpp
|
||||
GS/GSDrawingContext.cpp
|
||||
GS/GSDrawingEnvironment.cpp
|
||||
GS/GSDump.cpp
|
||||
GS/GSLocalMemory.cpp
|
||||
GS/GSLzma.cpp
|
||||
|
||||
@ -171,29 +171,29 @@ void GSDrawingContext::Dump(const std::string& filename)
|
||||
|
||||
fprintf(fp,
|
||||
"XYOFFSET\n"
|
||||
"\tX:%u\n"
|
||||
"\tY:%u\n\n",
|
||||
XYOFFSET.OFX, XYOFFSET.OFY);
|
||||
"\tOFX:%.4f\n"
|
||||
"\tOFY:%.4f\n\n",
|
||||
XYOFFSET.OFX / 16.0f, XYOFFSET.OFY / 16.0f);
|
||||
|
||||
fprintf(fp,
|
||||
"MIPTBP1\n"
|
||||
"\tBP1:0x%x\n"
|
||||
"\tBW1:%u\n"
|
||||
"\tBP2:0x%x\n"
|
||||
"\tBW2:%u\n"
|
||||
"\tBP3:0x%x\n"
|
||||
"\tBW3:%u\n\n",
|
||||
"\tTBP1:0x%x\n"
|
||||
"\tTBW1:%u\n"
|
||||
"\tTBP2:0x%x\n"
|
||||
"\tTBW2:%u\n"
|
||||
"\tTBP3:0x%x\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.TBW2), static_cast<uint32_t>(MIPTBP1.TBP3), static_cast<uint32_t>(MIPTBP1.TBW3));
|
||||
|
||||
fprintf(fp,
|
||||
"MIPTBP2\n"
|
||||
"\tBP4:0x%x\n"
|
||||
"\tBW4:%u\n"
|
||||
"\tBP5:0x%x\n"
|
||||
"\tBW5:%u\n"
|
||||
"\tBP6:0x%x\n"
|
||||
"\tBW6:%u\n\n",
|
||||
"\tTBP4:0x%x\n"
|
||||
"\tTBW4:%u\n"
|
||||
"\tTBP5:0x%x\n"
|
||||
"\tTBW5:%u\n"
|
||||
"\tTBP6:0x%x\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.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"
|
||||
"\tTBP0:0x%x\n"
|
||||
"\tTBW:%u\n"
|
||||
"\tPSM:0x%x\n"
|
||||
"\tPSM:0x%x (%s)\n"
|
||||
"\tTW:%u\n"
|
||||
"\tTH:%u\n"
|
||||
"\tTCC:%u\n"
|
||||
"\tTFX:%u\n"
|
||||
"\tCBP:0x%x\n"
|
||||
"\tCPSM:0x%x\n"
|
||||
"\tCPSM:0x%x (%s)\n"
|
||||
"\tCSM:%u\n"
|
||||
"\tCSA:%u\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,
|
||||
"TEX1\n"
|
||||
@ -226,21 +226,20 @@ void GSDrawingContext::Dump(const std::string& filename)
|
||||
|
||||
fprintf(fp,
|
||||
"CLAMP\n"
|
||||
"\tWMS:%u\n"
|
||||
"\tWMT:%u\n"
|
||||
"\tWMS:%u (%s)\n"
|
||||
"\tWMT:%u (%s)\n"
|
||||
"\tMINU:%u\n"
|
||||
"\tMAXU:%u\n"
|
||||
"\tMAXV:%u\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,
|
||||
"SCISSOR\n"
|
||||
"\tX0:%u\n"
|
||||
"\tX1:%u\n"
|
||||
"\tY0:%u\n"
|
||||
"\tY1:%u\n\n",
|
||||
"\tSCAX0:%u\n"
|
||||
"\tSCAX1:%u\n"
|
||||
"\tSCAY0:%u\n"
|
||||
"\tSCAY1:%u\n\n",
|
||||
SCISSOR.SCAX0, SCISSOR.SCAX1, SCISSOR.SCAY0, SCISSOR.SCAY1);
|
||||
|
||||
fprintf(fp,
|
||||
@ -258,14 +257,14 @@ void GSDrawingContext::Dump(const std::string& filename)
|
||||
fprintf(fp,
|
||||
"TEST\n"
|
||||
"\tATE:%u\n"
|
||||
"\tATST:%s\n"
|
||||
"\tATST:%u (%s)\n"
|
||||
"\tAREF:%u\n"
|
||||
"\tAFAIL:%s\n"
|
||||
"\tAFAIL:%u (%s)\n"
|
||||
"\tDATE:%u\n"
|
||||
"\tDATM:%u\n"
|
||||
"\tZTE:%u\n"
|
||||
"\tZTST:%u\n\n",
|
||||
TEST.ATE, GSUtil::GetATSTName(TEST.ATST), TEST.AREF, GSUtil::GetAFAILName(TEST.AFAIL), TEST.DATE, TEST.DATM, TEST.ZTE, TEST.ZTST);
|
||||
"\tZTST:%u (%s)\n\n",
|
||||
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,
|
||||
"FBA\n"
|
||||
@ -276,16 +275,16 @@ void GSDrawingContext::Dump(const std::string& filename)
|
||||
"FRAME\n"
|
||||
"\tFBP (*32):0x%x\n"
|
||||
"\tFBW:%u\n"
|
||||
"\tPSM:0x%x\n"
|
||||
"\tPSM:0x%x (%s)\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,
|
||||
"ZBUF\n"
|
||||
"\tZBP (*32):0x%x\n"
|
||||
"\tPSM:0x%x\n"
|
||||
"\tPSM:0x%x (%s)\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);
|
||||
}
|
||||
|
||||
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;
|
||||
GSDrawingContext CTXT[2];
|
||||
|
||||
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));
|
||||
void Reset();
|
||||
|
||||
CTXT[0].Reset();
|
||||
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);
|
||||
}
|
||||
void Dump(const std::string& filename) const;
|
||||
};
|
||||
|
||||
@ -520,22 +520,27 @@ void GSState::DumpVertices(const std::string& filename)
|
||||
|
||||
file << std::endl;
|
||||
|
||||
file << "TRACER" << std::endl;
|
||||
file << "TRACER" << std::dec << std::endl;
|
||||
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
file << "\tmax p (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 (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;
|
||||
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 (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();
|
||||
}
|
||||
|
||||
|
||||
@ -94,6 +94,26 @@ const char* GSUtil::GetAFAILName(u32 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)
|
||||
{
|
||||
return s_maps.SharedBitsField[dpsm];
|
||||
|
||||
@ -12,6 +12,9 @@ public:
|
||||
static const char* GetATSTName(u32 atst);
|
||||
static const char* GetAFAILName(u32 afail);
|
||||
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 bool HasSharedBits(u32 spsm, const u32* ptr);
|
||||
|
||||
@ -204,6 +204,7 @@
|
||||
<ClCompile Include="DEV9\net.cpp" />
|
||||
<ClCompile Include="DEV9\Win32\tap-win32.cpp" />
|
||||
<ClCompile Include="GameList.cpp" />
|
||||
<ClCompile Include="GS\GSDrawingEnvironment.cpp" />
|
||||
<ClCompile Include="GS\Renderers\DX11\D3D11ShaderCache.cpp" />
|
||||
<ClCompile Include="GS\Renderers\DX12\D3D12Builders.cpp" />
|
||||
<ClCompile Include="GS\Renderers\DX12\D3D12DescriptorHeapManager.cpp" />
|
||||
|
||||
@ -1446,6 +1446,9 @@
|
||||
<ClCompile Include="SIO\Pad\PadNegcon.cpp">
|
||||
<Filter>System\Ps2\Iop\SIO\PAD</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GS\GSDrawingEnvironment.cpp">
|
||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Patch.h">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user