summaryrefslogtreecommitdiffstats
path: root/servers/register_server_types.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-10-21 09:50:44 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-10-21 09:50:44 -0300
commitb59c86f6f953ce6957bccbcc1ec6f3ce4c55572d (patch)
tree39a74205feb03436beacf8c4dcf9d4fd70f2e344 /servers/register_server_types.cpp
parentf6a790d58c596773466437140f6d7e2a6a29e5e7 (diff)
downloadredot-engine-b59c86f6f953ce6957bccbcc1ec6f3ce4c55572d.tar.gz
-Ability to debug video memory usage
-Small fix to xml saver (swapping > and <)
Diffstat (limited to 'servers/register_server_types.cpp')
-rw-r--r--servers/register_server_types.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/servers/register_server_types.cpp b/servers/register_server_types.cpp
index 3634a03dbc..2af2a79d07 100644
--- a/servers/register_server_types.cpp
+++ b/servers/register_server_types.cpp
@@ -35,6 +35,25 @@
#include "physics_2d_server.h"
#include "spatial_sound_server.h"
#include "spatial_sound_2d_server.h"
+#include "script_debugger_remote.h"
+
+static void _debugger_get_resource_usage(List<ScriptDebuggerRemote::ResourceUsage>* r_usage) {
+
+ List<VS::TextureInfo> tinfo;
+ VS::get_singleton()->texture_debug_usage(&tinfo);
+
+ for (List<VS::TextureInfo>::Element *E=tinfo.front();E;E=E->next()) {
+
+ ScriptDebuggerRemote::ResourceUsage usage;
+ usage.path=E->get().path;
+ usage.vram=E->get().bytes;
+ usage.id=E->get().texture;
+ usage.type="Texture";
+ usage.format=itos(E->get().size.width)+"x"+itos(E->get().size.height)+" "+Image::get_format_name(E->get().format);
+ r_usage->push_back(usage);
+ }
+
+}
void register_server_types() {
@@ -63,6 +82,7 @@ void register_server_types() {
ObjectTypeDB::register_virtual_type<PhysicsDirectSpaceState>();
ObjectTypeDB::register_virtual_type<PhysicsShapeQueryResult>();
+ ScriptDebuggerRemote::resource_usage_func=_debugger_get_resource_usage;
}
void unregister_server_types(){