Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
247 changes: 244 additions & 3 deletions 3rdparty/imgui/CHANGELOG.txt

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions 3rdparty/imgui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ add_library(imgui
include/imgui_internal.h
include/imgui_stdlib.h
include/imstb_textedit.h
include/imstb_rectpack.h
include/imstb_truetype.h
src/imgui.cpp
src/imgui_demo.cpp
src/imgui_draw.cpp
src/imgui_freetype.cpp
src/imgui_tables.cpp
src/imgui_widgets.cpp
src/imstb_rectpack.h
src/imstb_truetype.h
src/imgui_stdlib.cpp
)

Expand Down
7 changes: 5 additions & 2 deletions 3rdparty/imgui/include/imconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,20 @@
//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] [Default with non-Visual Studio compilers] Don't implement default IME handler (won't require imm32.lib/.a)
//#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, IME).
//#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default).
//#define IMGUI_DISABLE_TIME_FUNCTIONS // Don't setup default platform_io.Platform_SessionDate value using time(), localtime_r().
//#define IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS // Don't implement default platform_io.Platform_OpenInShellFn() handler (Win32: ShellExecute(), require shell32.lib/.a, Mac/Linux: use system("")).
//#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf)
//#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself.
//#define IMGUI_DISABLE_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle at all (replace them with dummies)
//#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function.
//#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions().
//#define IMGUI_DISABLE_DEFAULT_FONT // Disable default embedded fonts (ProggyClean/ProggyForever), remove ~9 KB + ~14 KB from output binary. AddFontDefaultXXX() functions will assert.
//#define IMGUI_DISABLE_DEFAULT_FONT // Disable default embedded fonts (ProggyClean + ProggyForever). Remove ~9 KB + ~14 KB from output binary. AddFontDefaultXXX() functions will assert.
//#define IMGUI_DISABLE_DEFAULT_FONT_BITMAP // Disable default embedded bitmap font (ProggyClean). Remove ~9 KB from output binary. AddFontDefaultBitmap() will assert.
//#define IMGUI_DISABLE_DEFAULT_FONT_VECTOR // Disable default embedded vector font (ProggyForever), Remove ~14 KB from output binary. AddFontDefaultVector() will assert.
//#define IMGUI_DISABLE_SSE // Disable use of SSE intrinsics even if available

//---- Enable Test Engine / Automation features.
//#define IMGUI_ENABLE_TEST_ENGINE // Enable imgui_test_engine hooks. Generally set automatically by include "imgui_te_config.h", see Test Engine for details.
//#define IMGUI_ENABLE_TEST_ENGINE // Enable imgui_test_engine hooks. Generally set automatically by include "imgui_te_imconfig.h", see Test Engine for details.

//---- Include imgui_user.h at the end of imgui.h as a convenience
// May be convenient for some users to only explicitly include vanilla imgui.h and have extra stuff included.
Expand Down
182 changes: 119 additions & 63 deletions 3rdparty/imgui/include/imgui.h

Large diffs are not rendered by default.

315 changes: 205 additions & 110 deletions 3rdparty/imgui/include/imgui_internal.h

Large diffs are not rendered by default.

442 changes: 346 additions & 96 deletions 3rdparty/imgui/src/imgui.cpp

Large diffs are not rendered by default.

224 changes: 163 additions & 61 deletions 3rdparty/imgui/src/imgui_demo.cpp

Large diffs are not rendered by default.

262 changes: 149 additions & 113 deletions 3rdparty/imgui/src/imgui_draw.cpp

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion 3rdparty/imgui/src/imgui_freetype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ static bool ImGui_ImplFreeType_FontBakedInit(ImFontAtlas* atlas, ImFontConfig* s
// (FT_Set_Pixel_Sizes() essentially calls FT_Request_Size() with FT_SIZE_REQUEST_TYPE_NOMINAL)
const float rasterizer_density = src->RasterizerDensity * baked->RasterizerDensity;
FT_Size_RequestRec req;
req.type = FT_SIZE_REQUEST_TYPE_NOMINAL;
req.type = FT_SIZE_REQUEST_TYPE_NOMINAL; // [PCSX2 Custom]
req.width = 0;
req.height = (uint32_t)(size * 64 * rasterizer_density);
req.horiResolution = 0;
Expand Down
586 changes: 413 additions & 173 deletions 3rdparty/imgui/src/imgui_tables.cpp

Large diffs are not rendered by default.

229 changes: 138 additions & 91 deletions 3rdparty/imgui/src/imgui_widgets.cpp

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pcsx2/GS/Renderers/DX11/GSDevice11.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2359,7 +2359,7 @@ void GSDevice11::RenderImGui()
{
ImGui::Render();
const ImDrawData* draw_data = ImGui::GetDrawData();
if (draw_data->CmdListsCount == 0)
if (draw_data->CmdLists.Size == 0)
return;

UpdateImGuiTextures();
Expand Down Expand Up @@ -2393,7 +2393,7 @@ void GSDevice11::RenderImGui()
PSSetSamplerState(m_convert.ln.get());

// Render command lists
for (int n = 0; n < draw_data->CmdListsCount; n++)
for (int n = 0; n < draw_data->CmdLists.Size; n++)
{
const ImDrawList* cmd_list = draw_data->CmdLists[n];

Expand Down
4 changes: 2 additions & 2 deletions pcsx2/GS/Renderers/DX12/GSDevice12.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2361,7 +2361,7 @@ void GSDevice12::RenderImGui()
{
ImGui::Render();
const ImDrawData* draw_data = ImGui::GetDrawData();
if (draw_data->CmdListsCount == 0)
if (draw_data->CmdLists.Size == 0)
return;

UpdateImGuiTextures();
Expand Down Expand Up @@ -2402,7 +2402,7 @@ void GSDevice12::RenderImGui()
// this is for presenting, we don't want to screw with the viewport/scissor set by display
m_dirty_flags &= ~(DIRTY_FLAG_RENDER_TARGET | DIRTY_FLAG_VIEWPORT | DIRTY_FLAG_SCISSOR);

for (int n = 0; n < draw_data->CmdListsCount; n++)
for (int n = 0; n < draw_data->CmdLists.Size; n++)
{
const ImDrawList* cmd_list = draw_data->CmdLists[n];

Expand Down
4 changes: 2 additions & 2 deletions pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm
Original file line number Diff line number Diff line change
Expand Up @@ -2747,7 +2747,7 @@ static void EncodeDraw(id<MTLRenderCommandEncoder> enc, MTLPrimitiveType topolog

void GSDeviceMTL::RenderImGui(ImDrawData* data)
{
if (data->CmdListsCount == 0)
if (data->CmdLists.Size == 0)
return;
UpdateImGuiTextures();
simd::float4 transform;
Expand All @@ -2770,7 +2770,7 @@ static void EncodeDraw(id<MTLRenderCommandEncoder> enc, MTLPrimitiveType topolog
simd::float2 clip_scale = ToSimd(data->FramebufferScale); // (1,1) unless using retina display which are often (2,2)
ImTextureID last_tex = reinterpret_cast<ImTextureID>(nullptr);

for (int i = 0; i < data->CmdListsCount; i++)
for (int i = 0; i < data->CmdLists.Size; i++)
{
const ImDrawList* cmd_list = data->CmdLists[i];
size_t vtx_size = cmd_list->VtxBuffer.Size * sizeof(ImDrawVert);
Expand Down
4 changes: 2 additions & 2 deletions pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2506,7 +2506,7 @@ void GSDeviceOGL::RenderImGui()
{
ImGui::Render();
const ImDrawData* draw_data = ImGui::GetDrawData();
if (draw_data->CmdListsCount == 0)
if (draw_data->CmdLists.Size == 0)
return;

UpdateImGuiTextures();
Expand Down Expand Up @@ -2537,7 +2537,7 @@ void GSDeviceOGL::RenderImGui()
GSVector4i last_scissor = GSVector4i::xffffffff();

// Render command lists
for (int n = 0; n < draw_data->CmdListsCount; n++)
for (int n = 0; n < draw_data->CmdLists.Size; n++)
{
const ImDrawList* cmd_list = draw_data->CmdLists[n];

Expand Down
4 changes: 2 additions & 2 deletions pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4641,7 +4641,7 @@ void GSDeviceVK::RenderImGui()
{
ImGui::Render();
const ImDrawData* draw_data = ImGui::GetDrawData();
if (draw_data->CmdListsCount == 0)
if (draw_data->CmdLists.Size == 0)
return;

UpdateImGuiTextures();
Expand All @@ -4664,7 +4664,7 @@ void GSDeviceVK::RenderImGui()
// this is for presenting, we don't want to screw with the viewport/scissor set by display
m_dirty_flags &= ~(DIRTY_FLAG_VIEWPORT | DIRTY_FLAG_SCISSOR);

for (int n = 0; n < draw_data->CmdListsCount; n++)
for (int n = 0; n < draw_data->CmdLists.Size; n++)
{
const ImDrawList* cmd_list = draw_data->CmdLists[n];

Expand Down
Loading