mirror of
https://github.com/godotengine/godot.git
synced 2024-11-22 04:06:14 +00:00
Increase coverage of VRAM debugger and add support to RD backends
This commit is contained in:
parent
d4f726f3ef
commit
c84616c2d2
@ -1391,7 +1391,7 @@ void TextureStorage::texture_debug_usage(List<RS::TextureInfo> *r_info) {
|
|||||||
tinfo.format = t->format;
|
tinfo.format = t->format;
|
||||||
tinfo.width = t->alloc_width;
|
tinfo.width = t->alloc_width;
|
||||||
tinfo.height = t->alloc_height;
|
tinfo.height = t->alloc_height;
|
||||||
tinfo.depth = 0;
|
tinfo.depth = t->depth;
|
||||||
tinfo.bytes = t->total_data_size;
|
tinfo.bytes = t->total_data_size;
|
||||||
r_info->push_back(tinfo);
|
r_info->push_back(tinfo);
|
||||||
}
|
}
|
||||||
|
@ -119,6 +119,7 @@ void NoiseTexture2D::_set_texture_image(const Ref<Image> &p_image) {
|
|||||||
} else {
|
} else {
|
||||||
texture = RS::get_singleton()->texture_2d_create(p_image);
|
texture = RS::get_singleton()->texture_2d_create(p_image);
|
||||||
}
|
}
|
||||||
|
RS::get_singleton()->texture_set_path(texture, get_path());
|
||||||
}
|
}
|
||||||
emit_changed();
|
emit_changed();
|
||||||
}
|
}
|
||||||
|
@ -137,6 +137,7 @@ void GradientTexture1D::_update() {
|
|||||||
texture = RS::get_singleton()->texture_2d_create(image);
|
texture = RS::get_singleton()->texture_2d_create(image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RS::get_singleton()->texture_set_path(texture, get_path());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GradientTexture1D::set_width(int p_width) {
|
void GradientTexture1D::set_width(int p_width) {
|
||||||
@ -276,6 +277,7 @@ void GradientTexture2D::_update() {
|
|||||||
} else {
|
} else {
|
||||||
texture = RS::get_singleton()->texture_2d_create(image);
|
texture = RS::get_singleton()->texture_2d_create(image);
|
||||||
}
|
}
|
||||||
|
RS::get_singleton()->texture_set_path(texture, get_path());
|
||||||
}
|
}
|
||||||
|
|
||||||
float GradientTexture2D::_get_gradient_offset_at(int x, int y) const {
|
float GradientTexture2D::_get_gradient_offset_at(int x, int y) const {
|
||||||
|
@ -1457,6 +1457,23 @@ void TextureStorage::texture_set_detect_roughness_callback(RID p_texture, RS::Te
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TextureStorage::texture_debug_usage(List<RS::TextureInfo> *r_info) {
|
void TextureStorage::texture_debug_usage(List<RS::TextureInfo> *r_info) {
|
||||||
|
List<RID> textures;
|
||||||
|
texture_owner.get_owned_list(&textures);
|
||||||
|
|
||||||
|
for (List<RID>::Element *E = textures.front(); E; E = E->next()) {
|
||||||
|
Texture *t = texture_owner.get_or_null(E->get());
|
||||||
|
if (!t) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
RS::TextureInfo tinfo;
|
||||||
|
tinfo.path = t->path;
|
||||||
|
tinfo.format = t->format;
|
||||||
|
tinfo.width = t->width;
|
||||||
|
tinfo.height = t->height;
|
||||||
|
tinfo.depth = t->depth;
|
||||||
|
tinfo.bytes = Image::get_image_data_size(t->width, t->height, t->format, t->mipmaps);
|
||||||
|
r_info->push_back(tinfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureStorage::texture_set_force_redraw_if_visible(RID p_texture, bool p_enable) {
|
void TextureStorage::texture_set_force_redraw_if_visible(RID p_texture, bool p_enable) {
|
||||||
@ -3043,6 +3060,7 @@ void TextureStorage::_update_render_target(RenderTarget *rt) {
|
|||||||
texture_2d_placeholder_initialize(rt->texture);
|
texture_2d_placeholder_initialize(rt->texture);
|
||||||
Texture *tex = get_texture(rt->texture);
|
Texture *tex = get_texture(rt->texture);
|
||||||
tex->is_render_target = true;
|
tex->is_render_target = true;
|
||||||
|
tex->path = "Render Target (Internal)";
|
||||||
}
|
}
|
||||||
|
|
||||||
_clear_render_target(rt);
|
_clear_render_target(rt);
|
||||||
|
Loading…
Reference in New Issue
Block a user