[Bf-blender-cvs] [d3f10f768a1] temp-gpu-image-engine: Cleanup use Tile drawing for wrap repeat.
Jeroen Bakker
noreply at git.blender.org
Fri Dec 3 16:07:32 CET 2021
Commit: d3f10f768a1af3575116eeac1792eefbf4d831aa
Author: Jeroen Bakker
Date: Fri Dec 3 16:07:09 2021 +0100
Branches: temp-gpu-image-engine
https://developer.blender.org/rBd3f10f768a1af3575116eeac1792eefbf4d831aa
Cleanup use Tile drawing for wrap repeat.
===================================================================
M source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
M source/blender/draw/engines/image/image_engine.cc
M source/blender/draw/engines/image/image_private.hh
M source/blender/draw/engines/image/image_space_image.hh
M source/blender/draw/engines/image/image_space_node.hh
===================================================================
diff --git a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
index c79ccd0a5da..8797b124373 100644
--- a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
+++ b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
@@ -259,7 +259,7 @@ class ScreenSpaceDrawingMode : public AbstractDrawingMode {
break;
case ePartialUpdateCollectResult::PartialChangesDetected:
/* Partial update when wrap repeat is enabled is not supported. */
- if (pd->flags.do_wrap_repeat) {
+ if (pd->flags.do_tile_drawing) {
mark_all_texture_slots_dirty(pd);
}
else {
@@ -471,7 +471,7 @@ class ScreenSpaceDrawingMode : public AbstractDrawingMode {
invert_m4(uv_to_texel);
IMB_transform(&tile_buffer,
&texture_buffer,
- pd.flags.do_wrap_repeat ? IMB_TRANSFORM_MODE_WRAP_REPEAT :
+ pd.flags.do_tile_drawing ? IMB_TRANSFORM_MODE_WRAP_REPEAT :
IMB_TRANSFORM_MODE_REGULAR,
IMB_FILTER_NEAREST,
uv_to_texel,
diff --git a/source/blender/draw/engines/image/image_engine.cc b/source/blender/draw/engines/image/image_engine.cc
index fd75f52be94..01c2a68ac23 100644
--- a/source/blender/draw/engines/image/image_engine.cc
+++ b/source/blender/draw/engines/image/image_engine.cc
@@ -107,7 +107,7 @@ class ImageEngine {
/* Early exit, nothing to draw. */
return;
}
- pd->flags.do_wrap_repeat = pd->image->source != IMA_SRC_TILED && space->use_wrap_repeat();
+ pd->flags.do_tile_drawing = pd->image->source != IMA_SRC_TILED && space->use_tile_drawing();
pd->ibuf = space->acquire_image_buffer(pd->image, &pd->lock);
ImageUser *iuser = space->get_image_user();
drawing_mode.cache_image(space.get(), vedata, pd->image, iuser, pd->ibuf);
diff --git a/source/blender/draw/engines/image/image_private.hh b/source/blender/draw/engines/image/image_private.hh
index 6a6eaae3780..c2a7c7cef1a 100644
--- a/source/blender/draw/engines/image/image_private.hh
+++ b/source/blender/draw/engines/image/image_private.hh
@@ -80,7 +80,13 @@ struct IMAGE_PrivateData {
struct DRWView *view;
struct {
- bool do_wrap_repeat : 1;
+ /**
+ * \brief should we perform tile drawing (wrap repeat).
+ *
+ * Option is true when image is capable of tile drawing (image is not tiled) and the option is
+ * set in the space.
+ */
+ bool do_tile_drawing : 1;
} flags;
/* Data used in screen space drawing mode. */
@@ -216,7 +222,7 @@ class AbstractSpaceAccessor {
float r_mat[4][4]) const = 0;
/** \brief Is (wrap) repeat option enabled in the space. */
- virtual bool use_wrap_repeat() const = 0;
+ virtual bool use_tile_drawing() const = 0;
}; // namespace blender::draw::image_engine
/**
diff --git a/source/blender/draw/engines/image/image_space_image.hh b/source/blender/draw/engines/image/image_space_image.hh
index 48dce621ff1..31df05ee318 100644
--- a/source/blender/draw/engines/image/image_space_image.hh
+++ b/source/blender/draw/engines/image/image_space_image.hh
@@ -181,7 +181,7 @@ class SpaceImageAccessor : public AbstractSpaceAccessor {
unit_m4(r_mat);
}
- bool use_wrap_repeat() const
+ bool use_tile_drawing() const
{
return (sima->flag & SI_DRAW_TILE) != 0;
}
diff --git a/source/blender/draw/engines/image/image_space_node.hh b/source/blender/draw/engines/image/image_space_node.hh
index f2aef3becef..3717d45f414 100644
--- a/source/blender/draw/engines/image/image_space_node.hh
+++ b/source/blender/draw/engines/image/image_space_node.hh
@@ -134,7 +134,7 @@ class SpaceNodeAccessor : public AbstractSpaceAccessor {
r_mat[3][1] = (region->winy - snode->zoom * ibuf_height) / 2 + snode->yof;
}
- bool use_wrap_repeat() const
+ bool use_tile_drawing() const
{
return false;
}
More information about the Bf-blender-cvs
mailing list