mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-12-03 11:11:25 +00:00
Remove the unused "front" draw2d buffer. Saves 1.5MB of RAM.
This commit is contained in:
parent
a22450320b
commit
376db1f931
@ -24,14 +24,13 @@ UIContext::~UIContext() {
|
||||
delete textDrawer_;
|
||||
}
|
||||
|
||||
void UIContext::Init(Draw::DrawContext *thin3d, Draw::Pipeline *uipipe, Draw::Pipeline *uipipenotex, DrawBuffer *uidrawbuffer, DrawBuffer *uidrawbufferTop) {
|
||||
void UIContext::Init(Draw::DrawContext *thin3d, Draw::Pipeline *uipipe, Draw::Pipeline *uipipenotex, DrawBuffer *uidrawbuffer) {
|
||||
using namespace Draw;
|
||||
draw_ = thin3d;
|
||||
sampler_ = draw_->CreateSamplerState({ TextureFilter::LINEAR, TextureFilter::LINEAR, TextureFilter::LINEAR, 0.0, TextureAddressMode::CLAMP_TO_EDGE, TextureAddressMode::CLAMP_TO_EDGE, TextureAddressMode::CLAMP_TO_EDGE, });
|
||||
ui_pipeline_ = uipipe;
|
||||
ui_pipeline_notex_ = uipipenotex;
|
||||
uidrawbuffer_ = uidrawbuffer;
|
||||
uidrawbufferTop_ = uidrawbufferTop;
|
||||
textDrawer_ = TextDrawer::Create(thin3d); // May return nullptr if no implementation is available for this platform.
|
||||
}
|
||||
|
||||
@ -59,14 +58,12 @@ void UIContext::BeginFrame() {
|
||||
}
|
||||
}
|
||||
}
|
||||
uidrawbufferTop_->SetCurZ(0.0f);
|
||||
uidrawbuffer_->SetCurZ(0.0f);
|
||||
ActivateTopScissor();
|
||||
}
|
||||
|
||||
void UIContext::SetTintSaturation(float tint, float sat) {
|
||||
uidrawbuffer_->SetTintSaturation(tint, sat);
|
||||
uidrawbufferTop_->SetTintSaturation(tint, sat);
|
||||
}
|
||||
|
||||
void UIContext::Begin() {
|
||||
@ -106,14 +103,10 @@ void UIContext::Flush() {
|
||||
if (uidrawbuffer_) {
|
||||
uidrawbuffer_->Flush();
|
||||
}
|
||||
if (uidrawbufferTop_) {
|
||||
uidrawbufferTop_->Flush();
|
||||
}
|
||||
}
|
||||
|
||||
void UIContext::SetCurZ(float curZ) {
|
||||
ui_draw2d.SetCurZ(curZ);
|
||||
ui_draw2d_front.SetCurZ(curZ);
|
||||
}
|
||||
|
||||
// TODO: Support transformed bounds using stencil instead.
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
UIContext();
|
||||
~UIContext();
|
||||
|
||||
void Init(Draw::DrawContext *thin3d, Draw::Pipeline *uipipe, Draw::Pipeline *uipipenotex, DrawBuffer *uidrawbuffer, DrawBuffer *uidrawbufferTop);
|
||||
void Init(Draw::DrawContext *thin3d, Draw::Pipeline *uipipe, Draw::Pipeline *uipipenotex, DrawBuffer *uidrawbuffer);
|
||||
|
||||
void BeginFrame();
|
||||
|
||||
@ -70,7 +70,6 @@ public:
|
||||
void ActivateTopScissor();
|
||||
|
||||
DrawBuffer *Draw() const { return uidrawbuffer_; }
|
||||
DrawBuffer *DrawTop() const { return uidrawbufferTop_; }
|
||||
|
||||
// Utility methods
|
||||
TextDrawer *Text() const { return textDrawer_; }
|
||||
@ -137,7 +136,6 @@ private:
|
||||
std::unique_ptr<ManagedTexture> fontTexture_;
|
||||
|
||||
DrawBuffer *uidrawbuffer_ = nullptr;
|
||||
DrawBuffer *uidrawbufferTop_ = nullptr;
|
||||
|
||||
std::vector<Bounds> scissorStack_;
|
||||
std::vector<UITransform> transformStack_;
|
||||
|
@ -13,10 +13,8 @@ DrawBuffer ui_draw2d_front;
|
||||
|
||||
void UIBegin(Draw::Pipeline *pipeline) {
|
||||
ui_draw2d.Begin(pipeline);
|
||||
ui_draw2d_front.Begin(pipeline);
|
||||
}
|
||||
|
||||
void UIFlush() {
|
||||
ui_draw2d.Flush();
|
||||
ui_draw2d_front.Flush();
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ struct Atlas;
|
||||
// This is the drawbuffer used for UI. Remember to flush it at the end of the frame.
|
||||
// TODO: One should probably pass it in through UIInit.
|
||||
extern DrawBuffer ui_draw2d;
|
||||
extern DrawBuffer ui_draw2d_front; // for things that need to be on top of the rest
|
||||
|
||||
// TODO: These don't really belong here.
|
||||
|
||||
|
@ -34,7 +34,7 @@ static void SplitCSVLine(const std::string_view str, std::vector<std::string_vie
|
||||
result.push_back(finalColumn);
|
||||
}
|
||||
|
||||
static void splitSV(std::string_view strv, char delim, bool removeWhiteSpace, std::vector<std::string_view> *output) {
|
||||
static void SplitSV(std::string_view strv, char delim, bool removeWhiteSpace, std::vector<std::string_view> *output) {
|
||||
size_t first = 0;
|
||||
while (first < strv.size()) {
|
||||
const auto second = strv.find(delim, first);
|
||||
@ -67,7 +67,7 @@ bool GameDB::LoadFromVFS(VFSInterface &vfs, const char *filename) {
|
||||
// Split the string into views of each line, keeping the original.
|
||||
std::vector<std::string_view> lines;
|
||||
lines.reserve(RESERVE_COUNT);
|
||||
splitSV(contents_, '\n', false, &lines);
|
||||
SplitSV(contents_, '\n', false, &lines);
|
||||
SplitCSVLine(lines[0], columns_);
|
||||
|
||||
const size_t titleColumn = GetColumnIndex("Title");
|
||||
@ -91,7 +91,7 @@ bool GameDB::LoadFromVFS(VFSInterface &vfs, const char *filename) {
|
||||
Line line;
|
||||
line.title = items[titleColumn];
|
||||
line.foreignTitle = items[foreignTitleColumn];
|
||||
line.serials = splitSV(items[serialColumn], ',', true);
|
||||
SplitSV(items[serialColumn], ',', true, &line.serials);
|
||||
line.crc = items[crcColumn];
|
||||
line.size = items[sizeColumn];
|
||||
lines_.push_back(line);
|
||||
|
@ -128,10 +128,13 @@ void DevMenuScreen::CreatePopupContents(UI::ViewGroup *parent) {
|
||||
#endif
|
||||
items->Add(new Choice(dev->T("Logging Channels")))->OnClick.Handle(this, &DevMenuScreen::OnLogConfig);
|
||||
items->Add(new Choice(sy->T("Developer Tools")))->OnClick.Handle(this, &DevMenuScreen::OnDeveloperTools);
|
||||
|
||||
// Debug overlay
|
||||
AddOverlayList(items, screenManager());
|
||||
|
||||
items->Add(new Choice(dev->T("Jit Compare")))->OnClick.Handle(this, &DevMenuScreen::OnJitCompare);
|
||||
items->Add(new Choice(dev->T("Shader Viewer")))->OnClick.Handle(this, &DevMenuScreen::OnShaderView);
|
||||
|
||||
AddOverlayList(items, screenManager());
|
||||
items->Add(new Choice(dev->T("Toggle Freeze")))->OnClick.Add([](UI::EventParams &e) {
|
||||
if (PSP_CoreParameter().frozen) {
|
||||
PSP_CoreParameter().frozen = false;
|
||||
|
@ -853,17 +853,14 @@ bool NativeInitGraphics(GraphicsContext *graphicsContext) {
|
||||
|
||||
ui_draw2d.SetAtlas(GetUIAtlas());
|
||||
ui_draw2d.SetFontAtlas(GetFontAtlas());
|
||||
ui_draw2d_front.SetAtlas(GetUIAtlas());
|
||||
ui_draw2d_front.SetFontAtlas(GetFontAtlas());
|
||||
|
||||
uiContext = new UIContext();
|
||||
uiContext->theme = GetTheme();
|
||||
UpdateTheme(uiContext);
|
||||
|
||||
ui_draw2d.Init(g_draw, texColorPipeline);
|
||||
ui_draw2d_front.Init(g_draw, texColorPipeline);
|
||||
|
||||
uiContext->Init(g_draw, texColorPipeline, colorPipeline, &ui_draw2d, &ui_draw2d_front);
|
||||
uiContext->Init(g_draw, texColorPipeline, colorPipeline, &ui_draw2d);
|
||||
if (uiContext->Text())
|
||||
uiContext->Text()->SetFont("Tahoma", 20, 0);
|
||||
|
||||
@ -990,7 +987,6 @@ void NativeShutdownGraphics() {
|
||||
uiContext = nullptr;
|
||||
|
||||
ui_draw2d.Shutdown();
|
||||
ui_draw2d_front.Shutdown();
|
||||
|
||||
if (colorPipeline) {
|
||||
colorPipeline->Release();
|
||||
@ -1141,7 +1137,6 @@ void NativeFrame(GraphicsContext *graphicsContext) {
|
||||
g_draw->BeginFrame(debugFlags);
|
||||
|
||||
ui_draw2d.PushDrawMatrix(ortho);
|
||||
ui_draw2d_front.PushDrawMatrix(ortho);
|
||||
|
||||
g_screenManager->getUIContext()->SetTintSaturation(g_Config.fUITint, g_Config.fUISaturation);
|
||||
|
||||
@ -1152,7 +1147,6 @@ void NativeFrame(GraphicsContext *graphicsContext) {
|
||||
}
|
||||
|
||||
ui_draw2d.PopDrawMatrix();
|
||||
ui_draw2d_front.PopDrawMatrix();
|
||||
|
||||
g_draw->EndFrame();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user