Add Tracy stuff

This commit is contained in:
PJB3005
2026-04-08 03:13:37 +02:00
parent 744e29f401
commit a2d008ab09
26 changed files with 190 additions and 47 deletions
@@ -8,6 +8,7 @@
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "tracy/Tracy.hpp"
void J3DDrawBuffer::calcZRatio() {
mZRatio = (mZFar - mZNear) / (f32)mEntryTableSize;
@@ -224,6 +225,7 @@ void J3DDrawBuffer::draw() const {
}
void J3DDrawBuffer::drawHead() const {
ZoneScoped;
u32 size = mEntryTableSize;
J3DPacket** buf = mpBuffer;
@@ -235,6 +237,7 @@ void J3DDrawBuffer::drawHead() const {
}
void J3DDrawBuffer::drawTail() const {
ZoneScoped;
for (int i = mEntryTableSize - 1; i >= 0; i--) {
for (J3DPacket* packet = mpBuffer[i]; packet != NULL; packet = packet->getNextPacket()) {
packet->draw();
+8 -5
View File
@@ -1,14 +1,15 @@
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include <cstring>
#include <os.h>
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
#include "JSystem/JKernel/JKRHeap.h"
#include <os.h>
#include <cstring>
#include "global.h"
#include "tracy/Tracy.hpp"
J3DError J3DDisplayListObj::newDisplayList(u32 maxSize) {
mMaxSize = ALIGN_NEXT(maxSize, 0x20);
@@ -207,12 +208,13 @@ bool J3DMatPacket::isSame(J3DMatPacket* pOther) const {
}
void J3DMatPacket::draw() {
ZoneScoped;
#if TARGET_PC
j3dSys.setTexture(mpTexture);
#endif
mpMaterial->load();
#if TARGET_PC
#if DEBUG && TARGET_PC
if (mpMaterial->mMaterialName != nullptr) {
char buf[64];
snprintf(buf, sizeof(buf), "Mat: %s", mpMaterial->mMaterialName);
@@ -239,7 +241,7 @@ void J3DMatPacket::draw() {
J3DShape::resetVcdVatCache();
#if TARGET_PC
#if DEBUG && TARGET_PC
if (mpMaterial->mMaterialName != nullptr) {
GXPopDebugGroup();
}
@@ -388,6 +390,7 @@ void J3DShapePacket::draw() {
}
void J3DShapePacket::drawFast() {
ZoneScoped;
if (!checkFlag(J3DShpFlag_Hidden) && mpShape != NULL) {
prepareDraw();
+4 -3
View File
@@ -3,13 +3,13 @@
#include "JSystem/J3DGraphBase/J3DShape.h"
#include <dolphin/gd.h>
#include <gd.h>
#include <gx.h>
#include "JSystem/J3DGraphBase/J3DFifo.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DVertex.h"
#include "JSystem/J3DGraphBase/J3DFifo.h"
#include <gx.h>
#include <gd.h>
#include "JSystem/JKernel/JKRHeap.h"
#include "tracy/Tracy.hpp"
void J3DGDSetVtxAttrFmtv(GXVtxFmt, GXVtxAttrFmtList const*, bool);
void J3DFifoLoadPosMtxImm(Mtx, u32);
@@ -318,6 +318,7 @@ void J3DShape::setArrayAndBindPipeline() const {
}
void J3DShape::drawFast() const {
ZoneScoped;
if (sOldVcdVatCmd != mVcdVatCmd) {
GXCallDisplayList(mVcdVatCmd, kVcdVatDLSize);
sOldVcdVatCmd = mVcdVatCmd;
+4
View File
@@ -6,6 +6,7 @@
#include "JSystem/J3DGraphBase/J3DTexture.h"
#include "dusk/gx_helper.h"
#include "global.h"
#include "tracy/Tracy.hpp"
J3DSys j3dSys;
@@ -121,6 +122,8 @@ void J3DSys::setTexCacheRegion(GXTexCacheSize size) {
}
void J3DSys::drawInit() {
ZoneScoped;
GXInvalidateVtxCache();
GXSetCurrentMtx(GX_PNMTX0);
GXSetCullMode(GX_CULL_BACK);
@@ -226,6 +229,7 @@ void J3DSys::drawInit() {
}
void J3DSys::reinitGX() {
ZoneScoped;
reinitGenMode();
reinitLighting();
reinitTransform();
+3
View File
@@ -18,6 +18,8 @@
#include <os.h>
#include <stdint.h>
#include "tracy/Tracy.hpp"
s16* JASDriver::sDmaDacBuffer[3];
static u8 data_804507A8 = 3;
@@ -143,6 +145,7 @@ void JASDriver::updateDac() {
}
void JASDriver::updateDSP() {
ZoneScoped;
JASProbe::start(3, "SFR-UPDATE");
JASDsp::invalChannelAll();
@@ -18,6 +18,7 @@
#include "dusk/logging.h"
#include "dusk/settings.h"
#include "global.h"
#include "tracy/Tracy.hpp"
void JFWDisplay::ctor_subroutine(bool enableAlpha) {
mEnableAlpha = enableAlpha;
@@ -349,6 +350,7 @@ void JFWDisplay::waitBlanking(int param_0) {
}
static void waitForTick(u32 p1, u16 p2) {
ZoneScopedC(tracy::Color::DimGray);
#if TARGET_PC
if (dusk::getTransientSettings().skipFrameRateLimit) {
p1 = OS_TIMER_CLOCK / 120;
@@ -9,6 +9,8 @@
#include <mtx.h>
#include <gx.h>
#include "tracy/Tracy.hpp"
void JPASetPointSize(JPAEmitterWorkData* work) {
GXSetPointSize((u8)(25.0f * work->mGlobalPtclScl.x), GX_TO_ONE);
}
@@ -684,6 +686,8 @@ void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
return;
}
ZoneScoped;
JGeometry::TVec3<f32> local_6c;
JGeometry::TVec3<f32> local_78;
p_direction[param_0->mDirType](param_0, param_1, &local_6c);
@@ -729,6 +733,8 @@ void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1)
return;
}
ZoneScoped;
f32 sinRot = JMASSin(param_1->mRotateAngle);
f32 cosRot = JMASCos(param_1->mRotateAngle);
JGeometry::TVec3<f32> local_6c;
@@ -779,6 +785,8 @@ void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
return;
}
ZoneScoped;
JGeometry::TVec3<f32> local_70;
p_direction[param_0->mDirType](param_0, param_1, &local_70);
JGeometry::TVec3<f32> aTStack_7c(param_0->mPosCamMtx[2][0], param_0->mPosCamMtx[2][1], param_0->mPosCamMtx[2][2]);
@@ -814,6 +822,8 @@ void JPADrawRotation(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
return;
}
ZoneScoped;
f32 sinRot = JMASSin(param_1->mRotateAngle);
f32 cosRot = JMASCos(param_1->mRotateAngle);
f32 particleX = param_0->mGlobalPtclScl.x * param_1->mParticleScaleX;
@@ -835,6 +845,8 @@ void JPADrawPoint(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
return;
}
ZoneScoped;
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
GXBegin(GX_POINTS, GX_VTXFMT1, 1);
@@ -850,6 +862,8 @@ void JPADrawLine(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
return;
}
ZoneScoped;
JGeometry::TVec3<f32> local_1c(param_1->mPosition);
JGeometry::TVec3<f32> local_28;
param_1->getVelVec(&local_28);
@@ -883,6 +897,8 @@ JPANode<JPABaseParticle>* getPrev(JPANode<JPABaseParticle>* param_0) {
typedef JPANode<JPABaseParticle>* (*getNodeFunc)(JPANode<JPABaseParticle>*);
void JPADrawStripe(JPAEmitterWorkData* param_0) {
ZoneScoped;
JPABaseShape* shape = param_0->mpRes->getBsp();
u32 ptcl_num = param_0->mpAlivePtcl->getNum();
if (ptcl_num < 2) {
@@ -969,6 +985,8 @@ void JPADrawStripe(JPAEmitterWorkData* param_0) {
}
void JPADrawStripeX(JPAEmitterWorkData* param_0) {
ZoneScoped;
JPABaseShape* shape = param_0->mpRes->getBsp();
u32 ptcl_num = param_0->mpAlivePtcl->getNum();
if (ptcl_num < 2) {
@@ -8,6 +8,8 @@
#include "JSystem/JUtility/JUTAssert.h"
#include <gx.h>
#include "tracy/Tracy.hpp"
JPAEmitterManager::JPAEmitterManager(u32 i_ptclNum, u32 i_emtrNum, JKRHeap* pHeap, u8 i_gidMax,
u8 i_ridMax) {
emtrNum = i_emtrNum;
@@ -85,6 +87,7 @@ void JPAEmitterManager::calc(u8 group_id) {
}
void JPAEmitterManager::draw(JPADrawInfo const* drawInfo, u8 group_id) {
ZoneScoped;
JUT_ASSERT(192, group_id < gidMax);
drawInfo->getCamMtx(pWd->mPosCamMtx);
drawInfo->getPrjMtx(pWd->mPrjMtx);
@@ -16,6 +16,7 @@
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAResourceManager.h"
#include "global.h"
#include "tracy/Tracy.hpp"
JPAResource::JPAResource() {
mpCalcEmitterFuncList = mpDrawEmitterFuncList = mpDrawEmitterChildFuncList = NULL;
@@ -782,6 +783,7 @@ bool JPAResource::calc(JPAEmitterWorkData* work, JPABaseEmitter* emtr) {
}
void JPAResource::draw(JPAEmitterWorkData* work, JPABaseEmitter* emtr) {
ZoneScoped;
work->mpEmtr = emtr;
work->mpRes = this;
work->mDrawCount = 0;
@@ -798,6 +800,7 @@ void JPAResource::draw(JPAEmitterWorkData* work, JPABaseEmitter* emtr) {
}
void JPAResource::drawP(JPAEmitterWorkData* work) {
ZoneScoped;
work->mpEmtr->clearStatus(0x80);
work->mGlobalPtclScl.x = work->mpEmtr->mGlobalPScl.x * pBsp->getBaseSizeX();
@@ -860,6 +863,7 @@ void JPAResource::drawP(JPAEmitterWorkData* work) {
}
void JPAResource::drawC(JPAEmitterWorkData* work) {
ZoneScoped;
work->mpEmtr->setStatus(0x80);
if (pCsp->isScaleInherited()) {