mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Also report the vertex decoder jit to verysleepy.
Can use the same methods to support other platforms.
This commit is contained in:
parent
5d2ff64252
commit
d35717f5a8
6 changed files with 28 additions and 0 deletions
|
@ -1661,3 +1661,11 @@ bool GLES_GPU::GetCurrentTexture(GPUDebugBuffer &buffer) {
|
||||||
bool GLES_GPU::GetCurrentSimpleVertices(int count, std::vector<GPUDebugVertex> &vertices, std::vector<u16> &indices) {
|
bool GLES_GPU::GetCurrentSimpleVertices(int count, std::vector<GPUDebugVertex> &vertices, std::vector<u16> &indices) {
|
||||||
return transformDraw_.GetCurrentSimpleVertices(count, vertices, indices);
|
return transformDraw_.GetCurrentSimpleVertices(count, vertices, indices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GLES_GPU::DescribeCodePtr(const u8 *ptr, std::string &name) {
|
||||||
|
if (transformDraw_.IsCodePtrVertexDecoder(ptr)) {
|
||||||
|
name = "VertexDecoderJit";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -73,6 +73,8 @@ public:
|
||||||
bool GetCurrentTexture(GPUDebugBuffer &buffer);
|
bool GetCurrentTexture(GPUDebugBuffer &buffer);
|
||||||
bool GetCurrentSimpleVertices(int count, std::vector<GPUDebugVertex> &vertices, std::vector<u16> &indices);
|
bool GetCurrentSimpleVertices(int count, std::vector<GPUDebugVertex> &vertices, std::vector<u16> &indices);
|
||||||
|
|
||||||
|
virtual bool DescribeCodePtr(const u8 *ptr, std::string &name);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void FastRunLoop(DisplayList &list);
|
virtual void FastRunLoop(DisplayList &list);
|
||||||
virtual void ProcessEvent(GPUEvent ev);
|
virtual void ProcessEvent(GPUEvent ev);
|
||||||
|
|
|
@ -128,6 +128,10 @@ public:
|
||||||
DoFlush();
|
DoFlush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsCodePtrVertexDecoder(const u8 *ptr) const {
|
||||||
|
return decJitCache_->IsInSpace(ptr);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void DecodeVerts();
|
void DecodeVerts();
|
||||||
void DecodeVertsStep();
|
void DecodeVertsStep();
|
||||||
|
|
|
@ -73,6 +73,10 @@ public:
|
||||||
FreeAlignedMemory(p);
|
FreeAlignedMemory(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual bool DescribeCodePtr(const u8 *ptr, std::string &name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// To avoid virtual calls to PreExecuteOp().
|
// To avoid virtual calls to PreExecuteOp().
|
||||||
virtual void FastRunLoop(DisplayList &list) = 0;
|
virtual void FastRunLoop(DisplayList &list) = 0;
|
||||||
|
|
|
@ -243,6 +243,9 @@ public:
|
||||||
virtual bool FramebufferReallyDirty() = 0;
|
virtual bool FramebufferReallyDirty() = 0;
|
||||||
virtual bool BusyDrawing() = 0;
|
virtual bool BusyDrawing() = 0;
|
||||||
|
|
||||||
|
// If any jit is being used inside the GPU.
|
||||||
|
virtual bool DescribeCodePtr(const u8 *ptr, std::string &name) = 0;
|
||||||
|
|
||||||
// Debugging
|
// Debugging
|
||||||
virtual void DumpNextFrame() = 0;
|
virtual void DumpNextFrame() = 0;
|
||||||
virtual void GetReportingInfo(std::string &primaryInfo, std::string &fullInfo) = 0;
|
virtual void GetReportingInfo(std::string &primaryInfo, std::string &fullInfo) = 0;
|
||||||
|
|
|
@ -1572,6 +1572,13 @@ namespace MainWindow
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (gpu) {
|
||||||
|
std::string name;
|
||||||
|
if (gpu->DescribeCodePtr(ptr, name)) {
|
||||||
|
swprintf_s(info->name, L"GPU::%S", name.c_str());
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue