[Bf-blender-cvs] [38f793d3491] temp-image-engine: Remove visible flag. all textures are visible at all moments.
Jeroen Bakker
noreply at git.blender.org
Wed Dec 7 14:28:46 CET 2022
Commit: 38f793d349148e0324fbc0ad8b45f7406a71fe34
Author: Jeroen Bakker
Date: Wed Dec 7 08:53:26 2022 +0100
Branches: temp-image-engine
https://developer.blender.org/rB38f793d349148e0324fbc0ad8b45f7406a71fe34
Remove visible flag. all textures are visible at all moments.
===================================================================
M source/blender/draw/engines/image/image_drawing_mode.hh
M source/blender/draw/engines/image/image_instance_data.hh
M source/blender/draw/engines/image/image_texture_info.hh
===================================================================
diff --git a/source/blender/draw/engines/image/image_drawing_mode.hh b/source/blender/draw/engines/image/image_drawing_mode.hh
index 7337dc1815c..dcc869a9217 100644
--- a/source/blender/draw/engines/image/image_drawing_mode.hh
+++ b/source/blender/draw/engines/image/image_drawing_mode.hh
@@ -47,16 +47,12 @@ struct FullScreenTextures {
BLI_rctf_init(
&instance_data->texture_infos[0].clipping_bounds, min_co.x, mid_co.x, min_co.y, mid_co.y);
- instance_data->texture_infos[0].visible = true;
BLI_rctf_init(
&instance_data->texture_infos[1].clipping_bounds, mid_co.x, max_co.x, min_co.y, mid_co.y);
- instance_data->texture_infos[1].visible = true;
BLI_rctf_init(
&instance_data->texture_infos[2].clipping_bounds, min_co.x, mid_co.x, mid_co.y, max_co.y);
- instance_data->texture_infos[2].visible = true;
BLI_rctf_init(
&instance_data->texture_infos[3].clipping_bounds, mid_co.x, max_co.x, mid_co.y, max_co.y);
- instance_data->texture_infos[3].visible = true;
}
void update_screen_uv_bounds()
@@ -134,10 +130,6 @@ template<typename TextureMethod> class ScreenSpaceDrawingMode : public AbstractD
unit_m4(image_mat);
for (int i = 0; i < SCREEN_SPACE_DRAWING_MODE_TEXTURE_LEN; i++) {
const TextureInfo &info = instance_data->texture_infos[i];
- if (!info.visible) {
- continue;
- }
-
DRWShadingGroup *shgrp_sub = DRW_shgroup_create_sub(shgrp);
DRW_shgroup_uniform_ivec2_copy(shgrp_sub, "offset", info.offset());
DRW_shgroup_uniform_texture_ex(shgrp_sub, "imageTexture", info.texture, GPU_SAMPLER_DEFAULT);
@@ -167,10 +159,6 @@ template<typename TextureMethod> class ScreenSpaceDrawingMode : public AbstractD
for (int i = 0; i < SCREEN_SPACE_DRAWING_MODE_TEXTURE_LEN; i++) {
const TextureInfo &info = instance_data.texture_infos[i];
- if (!info.visible) {
- continue;
- }
-
LISTBASE_FOREACH (ImageTile *, image_tile_ptr, &image->tiles) {
const ImageTileWrapper image_tile(image_tile_ptr);
const int tile_x = image_tile.get_tile_x_offset();
@@ -280,9 +268,6 @@ template<typename TextureMethod> class ScreenSpaceDrawingMode : public AbstractD
if (info.need_full_update) {
continue;
}
- if (!info.visible) {
- continue;
- }
GPUTexture *texture = info.texture;
const float texture_width = GPU_texture_width(texture);
const float texture_height = GPU_texture_height(texture);
@@ -384,9 +369,6 @@ template<typename TextureMethod> class ScreenSpaceDrawingMode : public AbstractD
if (!info.need_full_update) {
continue;
}
- if (!info.visible) {
- continue;
- }
do_full_update_gpu_texture(info, instance_data, image_user);
}
}
diff --git a/source/blender/draw/engines/image/image_instance_data.hh b/source/blender/draw/engines/image/image_instance_data.hh
index 522d9095cc8..8eb5d4f80a4 100644
--- a/source/blender/draw/engines/image/image_instance_data.hh
+++ b/source/blender/draw/engines/image/image_instance_data.hh
@@ -78,11 +78,10 @@ struct IMAGE_InstanceData {
for (int i = 0; i < SCREEN_SPACE_DRAWING_MODE_TEXTURE_LEN; i++) {
TextureInfo &info = texture_infos[i];
const bool is_allocated = info.texture != nullptr;
- const bool is_visible = info.visible;
const bool resolution_changed = assign_if_different(info.last_viewport_size,
float2(DRW_viewport_size_get()));
- const bool should_be_freed = is_allocated && (!is_visible || resolution_changed);
- const bool should_be_created = is_visible && (!is_allocated || resolution_changed);
+ const bool should_be_freed = is_allocated && resolution_changed;
+ const bool should_be_created = !is_allocated || resolution_changed;
if (should_be_freed) {
GPU_texture_free(info.texture);
diff --git a/source/blender/draw/engines/image/image_texture_info.hh b/source/blender/draw/engines/image/image_texture_info.hh
index 018e84836a1..e4545d8b81f 100644
--- a/source/blender/draw/engines/image/image_texture_info.hh
+++ b/source/blender/draw/engines/image/image_texture_info.hh
@@ -14,13 +14,6 @@
#include "GPU_texture.h"
struct TextureInfo {
- /**
- * \brief Is the texture clipped.
- *
- * Resources of clipped textures are freed and ignored when performing partial updates.
- */
- bool visible : 1;
-
/**
* \brief does this texture need a full update.
*
More information about the Bf-blender-cvs
mailing list