[Bf-blender-cvs] [486c7b87fb0] master: Cleanup: GPU: Remove GPU_draw.h and move fluid gpu function to DRW

Clément Foucault noreply at git.blender.org
Wed Jul 29 23:27:38 CEST 2020


Commit: 486c7b87fb06bf6c9e3c15166751d8b987d7f00f
Author: Clément Foucault
Date:   Wed Jul 29 23:21:33 2020 +0200
Branches: master
https://developer.blender.org/rB486c7b87fb06bf6c9e3c15166751d8b987d7f00f

Cleanup: GPU: Remove GPU_draw.h and move fluid gpu function to DRW

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

M	source/blender/blenkernel/intern/image_gpu.c
M	source/blender/blenkernel/intern/movieclip.c
M	source/blender/draw/CMakeLists.txt
M	source/blender/draw/engines/eevee/eevee_volumes.c
M	source/blender/draw/engines/overlay/overlay_extra.c
M	source/blender/draw/engines/workbench/workbench_materials.c
M	source/blender/draw/engines/workbench/workbench_volume.c
M	source/blender/draw/intern/DRW_render.h
M	source/blender/draw/intern/draw_common.h
R097	source/blender/gpu/intern/gpu_texture_fluid.c	source/blender/draw/intern/draw_fluid.c
M	source/blender/draw/intern/draw_manager_data.c
M	source/blender/editors/object/object_bake.c
M	source/blender/editors/object/object_bake_api.c
M	source/blender/editors/object/object_remesh.c
M	source/blender/editors/sculpt_paint/paint_cursor.c
M	source/blender/editors/sculpt_paint/paint_image.c
M	source/blender/editors/sculpt_paint/paint_image_2d.c
M	source/blender/editors/sculpt_paint/paint_image_proj.c
M	source/blender/editors/sculpt_paint/sculpt_cloth.c
M	source/blender/editors/sculpt_paint/sculpt_multiplane_scrape.c
M	source/blender/editors/space_image/image_ops.c
M	source/blender/editors/space_image/image_undo.c
M	source/blender/editors/space_view3d/view3d_draw.c
M	source/blender/gpu/CMakeLists.txt
D	source/blender/gpu/GPU_draw.h
M	source/blender/gpu/intern/gpu_framebuffer.cc
M	source/blender/gpu/intern/gpu_select_pick.c
M	source/blender/gpu/intern/gpu_texture.cc
M	source/blender/makesrna/intern/rna_image.c
M	source/blender/makesrna/intern/rna_userdef.c
M	source/blender/nodes/shader/nodes/node_shader_tex_environment.c
M	source/blender/nodes/shader/nodes/node_shader_tex_image.c
M	source/blender/windowmanager/intern/wm_draw.c
M	source/blender/windowmanager/intern/wm_init_exit.c

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

diff --git a/source/blender/blenkernel/intern/image_gpu.c b/source/blender/blenkernel/intern/image_gpu.c
index b02b6e1453c..6999051d77b 100644
--- a/source/blender/blenkernel/intern/image_gpu.c
+++ b/source/blender/blenkernel/intern/image_gpu.c
@@ -729,7 +729,6 @@ static void gpu_texture_update_from_ibuf(
  * quicker than fully updating the texture for high resolution images. */
 void BKE_image_update_gputexture(Image *ima, ImageUser *iuser, int x, int y, int w, int h)
 {
-#ifndef GPU_STANDALONE
   ImBuf *ibuf = BKE_image_acquire_ibuf(ima, iuser, NULL);
   ImageTile *tile = BKE_image_get_tile_from_iuser(ima, iuser);
 
@@ -751,7 +750,6 @@ void BKE_image_update_gputexture(Image *ima, ImageUser *iuser, int x, int y, int
   }
 
   BKE_image_release_ibuf(ima, ibuf, NULL);
-#endif
 }
 
 /* these two functions are called on entering and exiting texture paint mode,
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index e21e0a7d510..5b4dbc66cc2 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -72,7 +72,6 @@
 #include "DEG_depsgraph.h"
 #include "DEG_depsgraph_query.h"
 
-#include "GPU_draw.h"
 #include "GPU_texture.h"
 
 #ifdef WITH_OPENEXR
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index cfcd4e0c65a..c942e12020d 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -64,6 +64,7 @@ set(SRC
   intern/draw_color_management.c
   intern/draw_common.c
   intern/draw_debug.c
+  intern/draw_fluid.c
   intern/draw_hair.c
   intern/draw_instance_data.c
   intern/draw_manager.c
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index 6d964806894..2ed1416c429 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -44,7 +44,6 @@
 
 #include "DEG_depsgraph_query.h"
 
-#include "GPU_draw.h"
 #include "GPU_extensions.h"
 #include "GPU_material.h"
 #include "GPU_texture.h"
@@ -504,7 +503,7 @@ static bool eevee_volume_object_mesh_init(Scene *scene,
 #endif
 
     if (fds->fluid && (fds->type == FLUID_DOMAIN_TYPE_GAS) /* && show_smoke */) {
-      GPU_create_smoke(fmd, fds->flags & FLUID_DOMAIN_USE_NOISE);
+      DRW_smoke_ensure(fmd, fds->flags & FLUID_DOMAIN_USE_NOISE);
       BLI_addtail(&e_data.smoke_domains, BLI_genericNodeN(fmd));
     }
 
@@ -836,7 +835,7 @@ void EEVEE_volumes_free_smoke_textures(void)
   /* Free Smoke Textures after rendering */
   LISTBASE_FOREACH (LinkData *, link, &e_data.smoke_domains) {
     FluidModifierData *fmd = (FluidModifierData *)link->data;
-    GPU_free_smoke(fmd);
+    DRW_smoke_free(fmd);
   }
   BLI_freelistN(&e_data.smoke_domains);
 }
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index 94e88c61b78..1e766b3cc39 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -53,8 +53,6 @@
 
 #include "ED_view3d.h"
 
-#include "GPU_draw.h"
-
 #include "overlay_private.h"
 
 #include "draw_common.h"
@@ -1422,7 +1420,7 @@ static void OVERLAY_volume_extra(OVERLAY_ExtraCallBuffers *cb,
       line_count /= fds->res[axis];
     }
 
-    GPU_create_smoke_velocity(fmd);
+    DRW_smoke_ensure_velocity(fmd);
 
     GPUShader *sh = OVERLAY_shader_volume_velocity(use_needle);
     DRWShadingGroup *grp = DRW_shgroup_create(sh, data->psl->extra_ps[0]);
@@ -1452,7 +1450,7 @@ static void OVERLAY_volume_free_smoke_textures(OVERLAY_Data *data)
   LinkData *link;
   while ((link = BLI_pophead(&data->stl->pd->smoke_domains))) {
     FluidModifierData *fmd = (FluidModifierData *)link->data;
-    GPU_free_smoke_velocity(fmd);
+    DRW_smoke_free_velocity(fmd);
     MEM_freeN(link);
   }
 }
diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c
index b59e20e9df3..824c3dc5ff1 100644
--- a/source/blender/draw/engines/workbench/workbench_materials.c
+++ b/source/blender/draw/engines/workbench/workbench_materials.c
@@ -33,7 +33,6 @@
 #include "DNA_mesh_types.h"
 #include "DNA_node_types.h"
 
-#include "GPU_draw.h"
 #include "GPU_uniformbuffer.h"
 
 #include "ED_uvedit.h"
diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c
index 20d231a14a0..d3c4d51dbd4 100644
--- a/source/blender/draw/engines/workbench/workbench_volume.c
+++ b/source/blender/draw/engines/workbench/workbench_volume.c
@@ -38,8 +38,6 @@
 #include "BKE_volume.h"
 #include "BKE_volume_render.h"
 
-#include "GPU_draw.h"
-
 void workbench_volume_engine_init(WORKBENCH_Data *vedata)
 {
   WORKBENCH_TextureList *txl = vedata->txl;
@@ -79,10 +77,10 @@ static void workbench_volume_modifier_cache_populate(WORKBENCH_Data *vedata,
 
   wpd->volumes_do = true;
   if (fds->use_coba) {
-    GPU_create_smoke_coba_field(fmd);
+    DRW_smoke_ensure_coba_field(fmd);
   }
   else {
-    GPU_create_smoke(fmd, fds->flags & FLUID_DOMAIN_USE_NOISE);
+    DRW_smoke_ensure(fmd, fds->flags & FLUID_DOMAIN_USE_NOISE);
   }
 
   if ((!fds->use_coba && (fds->tex_density == NULL && fds->tex_color == NULL)) ||
@@ -290,7 +288,7 @@ void workbench_volume_draw_finish(WORKBENCH_Data *vedata)
    * all viewport in a redraw at least. */
   LISTBASE_FOREACH (LinkData *, link, &wpd->smoke_domains) {
     FluidModifierData *fmd = (FluidModifierData *)link->data;
-    GPU_free_smoke(fmd);
+    DRW_smoke_free(fmd);
   }
   BLI_freelistN(&wpd->smoke_domains);
 }
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 84a2a5f7fda..7a889d9399e 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -45,7 +45,6 @@
 #include "DNA_scene_types.h"
 #include "DNA_world_types.h"
 
-#include "GPU_draw.h"
 #include "GPU_framebuffer.h"
 #include "GPU_primitive.h"
 #include "GPU_shader.h"
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h
index 81c0e97a1a8..6017cee0674 100644
--- a/source/blender/draw/intern/draw_common.h
+++ b/source/blender/draw/intern/draw_common.h
@@ -27,6 +27,7 @@ struct DRWPass;
 struct DRWShadingGroup;
 struct GPUMaterial;
 struct ModifierData;
+struct FluidModifierData;
 struct Object;
 struct ParticleSystem;
 struct ViewLayer;
@@ -188,6 +189,16 @@ void DRW_hair_init(void);
 void DRW_hair_update(void);
 void DRW_hair_free(void);
 
+/* draw_fluid.c */
+
+/* Fluid simulation.  */
+void DRW_smoke_ensure(struct FluidModifierData *fmd, int highres);
+void DRW_smoke_ensure_coba_field(struct FluidModifierData *fmd);
+void DRW_smoke_ensure_velocity(struct FluidModifierData *fmd);
+
+void DRW_smoke_free(struct FluidModifierData *fmd);
+void DRW_smoke_free_velocity(struct FluidModifierData *fmd);
+
 /* draw_common.c */
 struct DRW_Global {
   /** If needed, contains all global/Theme colors
diff --git a/source/blender/gpu/intern/gpu_texture_fluid.c b/source/blender/draw/intern/draw_fluid.c
similarity index 97%
rename from source/blender/gpu/intern/gpu_texture_fluid.c
rename to source/blender/draw/intern/draw_fluid.c
index ecbf46d0ad9..2d82ed37c95 100644
--- a/source/blender/gpu/intern/gpu_texture_fluid.c
+++ b/source/blender/draw/intern/draw_fluid.c
@@ -35,7 +35,6 @@
 
 #include "BKE_colorband.h"
 
-#include "GPU_draw.h"
 #include "GPU_texture.h"
 
 #ifdef WITH_FLUID
@@ -276,7 +275,7 @@ static GPUTexture *create_flame_texture(FluidDomainSettings *fds, int highres)
 /** \name Public API
  * \{ */
 
-void GPU_free_smoke(FluidModifierData *fmd)
+void DRW_smoke_free(FluidModifierData *fmd)
 {
   if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
     if (fmd->domain->tex_density) {
@@ -316,7 +315,7 @@ void GPU_free_smoke(FluidModifierData *fmd)
   }
 }
 
-void GPU_create_smoke_coba_field(FluidModifierData *fmd)
+void DRW_smoke_ensure_coba_field(FluidModifierData *fmd)
 {
 #ifndef WITH_FLUID
   UNUSED_VARS(fmd);
@@ -334,7 +333,7 @@ void GPU_create_smoke_coba_field(FluidModifierData *fmd)
 #endif
 }
 
-void GPU_create_smoke(FluidModifierData *fmd, int highres)
+void DRW_smoke_ensure(FluidModifierData *fmd, int highres)
 {
 #ifndef WITH_FLUID
   UNUSED_VARS(fmd, highres);
@@ -368,7 +367,7 @@ void GPU_create_smoke(FluidModifierData *fmd, int highres)
 #endif /* WITH_FLUID */
 }
 
-void GPU_create_smoke_velocity(FluidModifierData *fmd)
+void DRW_smoke_ensure_velocity(FluidModifierData *fmd)
 {
 #ifndef WITH_FLUID
   UNUSED_VARS(fmd);
@@ -393,8 +392,8 @@ void GPU_create_smoke_velocity(FluidModifierData *fmd)
 #endif /* WITH_FLUID */
 }
 
-/* TODO Unify with the other GPU_free_smoke. */
-void GPU_free_smoke_velocity(FluidModifierData *fmd)
+/* TODO Unify with the other DRW_smoke_free. */
+void DRW_smoke_free_velocity(FluidModifierData *fmd)
 {
   if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
     if (fmd->domain->tex_velocity_x) {
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index dc41f34e0ea..3184d6155d2 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -47,7 +47,6 @@
 #endif
 
 #include "GPU_buffers.h"
-#include "GPU_draw.h"
 #include "GPU_material.h"
 
 #include "intern/gpu_codegen.h"
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index d67bd54bd69..ae1aae27b7f 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -60,8 +60,6 @@
 #include "IMB_imbuf.h"
 #include "IMB_imbuf_types.h"
 
-#include "GPU_draw.h" /* BKE_image_free_gputextures */
-
 #include "WM_api.h"
 #include "WM_types.h"
 
diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c
index 7b122cd7b93..926a47b1ec8 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -68,8 +68,6 @@
 #include "ED_screen.h"
 #include "ED_uvedit.h"
 
-#include "GPU_draw.h"
-
 #include "object_in

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list