[Bf-blender-cvs] [b30f101fc08] temp-gpu-texture-partial-updates: Use enum class for ePartialUpdateIterResult.

Jeroen Bakker noreply at git.blender.org
Fri Nov 26 13:29:43 CET 2021


Commit: b30f101fc0865322bfc4451c54397075a8e02c16
Author: Jeroen Bakker
Date:   Fri Nov 26 11:26:57 2021 +0100
Branches: temp-gpu-texture-partial-updates
https://developer.blender.org/rBb30f101fc0865322bfc4451c54397075a8e02c16

Use enum class for ePartialUpdateIterResult.

===================================================================

M	source/blender/blenkernel/BKE_image_partial_update.hh
M	source/blender/blenkernel/intern/image_gpu.cc
M	source/blender/blenkernel/intern/image_partial_update.cc
M	source/blender/blenkernel/intern/image_partial_update_test.cc

===================================================================

diff --git a/source/blender/blenkernel/BKE_image_partial_update.hh b/source/blender/blenkernel/BKE_image_partial_update.hh
index da98ab3d69a..107e54c9351 100644
--- a/source/blender/blenkernel/BKE_image_partial_update.hh
+++ b/source/blender/blenkernel/BKE_image_partial_update.hh
@@ -76,13 +76,13 @@ struct PartialUpdateRegion {
 /**
  * \brief Return codes of #BKE_image_partial_update_get_next_change.
  */
-typedef enum ePartialUpdateIterResult {
+enum class ePartialUpdateIterResult {
   /** \brief no tiles left when iterating over tiles. */
-  PARTIAL_UPDATE_ITER_FINISHED = 0,
+  Finished = 0,
 
   /** \brief a chunk was available and has been loaded. */
-  PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE = 1,
-} ePartialUpdateIterResult;
+  ChangeAvailable = 1,
+};
 
 /**
  * \brief collect the partial update since the last request.
@@ -186,11 +186,11 @@ template<typename TileData = NoTileData> struct PartialUpdateCollectResult {
     ePartialUpdateIterResult result = BKE_image_partial_update_get_next_change(user,
                                                                                &changed_region);
     switch (result) {
-      case PARTIAL_UPDATE_ITER_FINISHED:
+      case ePartialUpdateIterResult::Finished:
         tile_data.free_data();
         return result;
 
-      case PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE:
+      case ePartialUpdateIterResult::ChangeAvailable:
         if (last_tile_number == changed_region.tile_number) {
           return result;
         }
diff --git a/source/blender/blenkernel/intern/image_gpu.cc b/source/blender/blenkernel/intern/image_gpu.cc
index 4b76bbd91b0..14ea935bb36 100644
--- a/source/blender/blenkernel/intern/image_gpu.cc
+++ b/source/blender/blenkernel/intern/image_gpu.cc
@@ -337,7 +337,7 @@ static void image_update_reusable_textures(Image *ima,
 static void image_gpu_texture_partial_update_changes_available(
     PartialUpdateCollectResult<ImageTileData> &changes)
 {
-  while (changes.get_next_change() == PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE) {
+  while (changes.get_next_change() == ePartialUpdateIterResult::ChangeAvailable) {
     const int tile_offset_x = changes.changed_region.region.xmin;
     const int tile_offset_y = changes.changed_region.region.ymin;
     const int tile_width = min_ii(changes.tile_data.tile_buffer->x,
diff --git a/source/blender/blenkernel/intern/image_partial_update.cc b/source/blender/blenkernel/intern/image_partial_update.cc
index f823c810f60..731ba879de8 100644
--- a/source/blender/blenkernel/intern/image_partial_update.cc
+++ b/source/blender/blenkernel/intern/image_partial_update.cc
@@ -29,7 +29,7 @@
  * case ePartialUpdateCollectResult::PartialChangesDetected:
  *  PartialUpdateRegion change;
  *  while (BKE_image_partial_update_get_next_change(partial_update_user, &change) ==
- *         PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE){
+ *         ePartialUpdateIterResult::ChangeAvailable){
  *  // Do something with the change.
  *  }
  *  case ePartialUpdateCollectResult::NoChangesDetected:
@@ -517,11 +517,11 @@ ePartialUpdateIterResult BKE_image_partial_update_get_next_change(PartialUpdateU
 {
   PartialUpdateUserImpl *user_impl = unwrap(user);
   if (user_impl->updated_regions.is_empty()) {
-    return PARTIAL_UPDATE_ITER_FINISHED;
+    return ePartialUpdateIterResult::Finished;
   }
   PartialUpdateRegion region = user_impl->updated_regions.pop_last();
   *r_region = region;
-  return PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE;
+  return ePartialUpdateIterResult::ChangeAvailable;
 }
 
 }  // namespace blender::bke::image::partial_update
diff --git a/source/blender/blenkernel/intern/image_partial_update_test.cc b/source/blender/blenkernel/intern/image_partial_update_test.cc
index 1c3a0abd94a..764f0b3ce6c 100644
--- a/source/blender/blenkernel/intern/image_partial_update_test.cc
+++ b/source/blender/blenkernel/intern/image_partial_update_test.cc
@@ -134,10 +134,10 @@ TEST_F(ImagePartialUpdateTest, mark_single_tile)
   PartialUpdateRegion changed_region;
   ePartialUpdateIterResult iter_result;
   iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-  EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE);
+  EXPECT_EQ(iter_result, ePartialUpdateIterResult::ChangeAvailable);
   EXPECT_EQ(BLI_rcti_inside_rcti(&changed_region.region, &region), true);
   iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-  EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_FINISHED);
+  EXPECT_EQ(iter_result, ePartialUpdateIterResult::Finished);
 
   result = BKE_image_partial_update_collect_changes(image, partial_update_user);
   EXPECT_EQ(result, ePartialUpdateCollectResult::NoChangesDetected);
@@ -169,13 +169,13 @@ TEST_F(ImagePartialUpdateTest, mark_unconnected_tiles)
   PartialUpdateRegion changed_region;
   ePartialUpdateIterResult iter_result;
   iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-  EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE);
+  EXPECT_EQ(iter_result, ePartialUpdateIterResult::ChangeAvailable);
   EXPECT_EQ(BLI_rcti_inside_rcti(&changed_region.region, &region_b), true);
   iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-  EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE);
+  EXPECT_EQ(iter_result, ePartialUpdateIterResult::ChangeAvailable);
   EXPECT_EQ(BLI_rcti_inside_rcti(&changed_region.region, &region_a), true);
   iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-  EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_FINISHED);
+  EXPECT_EQ(iter_result, ePartialUpdateIterResult::Finished);
 
   result = BKE_image_partial_update_collect_changes(image, partial_update_user);
   EXPECT_EQ(result, ePartialUpdateCollectResult::NoChangesDetected);
@@ -299,10 +299,10 @@ TEST_F(ImagePartialUpdateTest, sequential_mark_region)
     PartialUpdateRegion changed_region;
     ePartialUpdateIterResult iter_result;
     iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-    EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE);
+    EXPECT_EQ(iter_result, ePartialUpdateIterResult::ChangeAvailable);
     EXPECT_EQ(BLI_rcti_inside_rcti(&changed_region.region, &region), true);
     iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-    EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_FINISHED);
+    EXPECT_EQ(iter_result, ePartialUpdateIterResult::Finished);
 
     result = BKE_image_partial_update_collect_changes(image, partial_update_user);
     EXPECT_EQ(result, ePartialUpdateCollectResult::NoChangesDetected);
@@ -322,10 +322,10 @@ TEST_F(ImagePartialUpdateTest, sequential_mark_region)
     PartialUpdateRegion changed_region;
     ePartialUpdateIterResult iter_result;
     iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-    EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE);
+    EXPECT_EQ(iter_result, ePartialUpdateIterResult::ChangeAvailable);
     EXPECT_EQ(BLI_rcti_inside_rcti(&changed_region.region, &region), true);
     iter_result = BKE_image_partial_update_get_next_change(partial_update_user, &changed_region);
-    EXPECT_EQ(iter_result, PARTIAL_UPDATE_ITER_FINISHED);
+    EXPECT_EQ(iter_result, ePartialUpdateIterResult::Finished);
 
     result = BKE_image_partial_update_collect_changes(image, partial_update_user);
     EXPECT_EQ(result, ePartialUpdateCollectResult::NoChangesDetected);
@@ -355,7 +355,7 @@ TEST_F(ImagePartialUpdateTest, mark_multiple_chunks)
   PartialUpdateRegion changed_region;
   int num_chunks_found = 0;
   while (BKE_image_partial_update_get_next_change(partial_update_user, &changed_region) ==
-         PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE) {
+         ePartialUpdateIterResult::ChangeAvailable) {
     BLI_rcti_isect(&changed_region.region, &region, nullptr);
     num_chunks_found++;
   }
@@ -383,7 +383,7 @@ TEST_F(ImagePartialUpdateTest, iterator)
 
   /* Check tiles. */
   int num_tiles_found = 0;
-  while (changes.get_next_change() == PARTIAL_UPDATE_ITER_CHANGE_AVAILABLE) {
+  while (changes.get_next_change() == ePartialUpdateIterResult::ChangeAvailable) {
     BLI_rcti_isect(&changes.changed_region.region, &region, nullptr);
     num_tiles_found++;
   }



More information about the Bf-blender-cvs mailing list