[Bf-blender-cvs] [a23f7a85ca8] draw-colormanagement: Cleanup: EEVEE: Move debug draw to eevee_renderpass.c

Clément Foucault noreply at git.blender.org
Wed Jan 22 19:39:51 CET 2020


Commit: a23f7a85ca8a77abf9c8414949edbc0bf182923e
Author: Clément Foucault
Date:   Wed Jan 22 18:31:48 2020 +0100
Branches: draw-colormanagement
https://developer.blender.org/rBa23f7a85ca8a77abf9c8414949edbc0bf182923e

Cleanup: EEVEE: Move debug draw to eevee_renderpass.c

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

M	source/blender/draw/engines/eevee/eevee_engine.c
M	source/blender/draw/engines/eevee/eevee_private.h
M	source/blender/draw/engines/eevee/eevee_renderpasses.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index f870e7f6da9..fcfe63069ca 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -25,7 +25,6 @@
 #include "BLI_rand.h"
 
 #include "BKE_object.h"
-#include "BKE_global.h" /* for G.debug_value */
 
 #include "DEG_depsgraph_query.h"
 
@@ -186,10 +185,8 @@ static void eevee_cache_finish(void *vedata)
 static void eevee_draw_background(void *vedata)
 {
   EEVEE_PassList *psl = ((EEVEE_Data *)vedata)->psl;
-  EEVEE_TextureList *txl = ((EEVEE_Data *)vedata)->txl;
   EEVEE_StorageList *stl = ((EEVEE_Data *)vedata)->stl;
   EEVEE_FramebufferList *fbl = ((EEVEE_Data *)vedata)->fbl;
-  EEVEE_EffectsInfo *effects = stl->effects;
   EEVEE_ViewLayerData *sldata = EEVEE_view_layer_data_ensure();
 
   /* Default framebuffer and texture */
@@ -351,66 +348,7 @@ static void eevee_draw_background(void *vedata)
     EEVEE_renderpasses_draw(sldata, vedata);
   }
 
-  /* Debug : Output buffer to view. */
-  switch (G.debug_value) {
-    case 1:
-      if (txl->maxzbuffer) {
-        DRW_transform_to_display(txl->maxzbuffer, false, false);
-      }
-      break;
-    case 2:
-      if (effects->ssr_pdf_output) {
-        DRW_transform_to_display(effects->ssr_pdf_output, false, false);
-      }
-      break;
-    case 3:
-      if (effects->ssr_normal_input) {
-        DRW_transform_to_display(effects->ssr_normal_input, false, false);
-      }
-      break;
-    case 4:
-      if (effects->ssr_specrough_input) {
-        DRW_transform_to_display(effects->ssr_specrough_input, false, false);
-      }
-      break;
-    case 5:
-      if (txl->color_double_buffer) {
-        DRW_transform_to_display(txl->color_double_buffer, false, false);
-      }
-      break;
-    case 6:
-      if (effects->gtao_horizons_debug) {
-        DRW_transform_to_display(effects->gtao_horizons_debug, false, false);
-      }
-      break;
-    case 7:
-      if (effects->gtao_horizons) {
-        DRW_transform_to_display(effects->gtao_horizons, false, false);
-      }
-      break;
-    case 8:
-      if (effects->sss_irradiance) {
-        DRW_transform_to_display(effects->sss_irradiance, false, false);
-      }
-      break;
-    case 9:
-      if (effects->sss_radius) {
-        DRW_transform_to_display(effects->sss_radius, false, false);
-      }
-      break;
-    case 10:
-      if (effects->sss_albedo) {
-        DRW_transform_to_display(effects->sss_albedo, false, false);
-      }
-      break;
-    case 11:
-      if (effects->velocity_tx) {
-        DRW_transform_to_display(effects->velocity_tx, false, false);
-      }
-      break;
-    default:
-      break;
-  }
+  EEVEE_renderpasses_draw_debug(vedata);
 
   EEVEE_volumes_free_smoke_textures();
 
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index 97bde2e5f2e..616e088fde4 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -1057,6 +1057,7 @@ void EEVEE_renderpasses_postprocess(EEVEE_ViewLayerData *sldata,
                                     EEVEE_Data *vedata,
                                     eScenePassType renderpass_type);
 void EEVEE_renderpasses_draw(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata);
+void EEVEE_renderpasses_draw_debug(EEVEE_Data *vedata);
 void EEVEE_renderpasses_free(void);
 bool EEVEE_renderpasses_only_first_sample_pass_active(EEVEE_Data *vedata);
 
diff --git a/source/blender/draw/engines/eevee/eevee_renderpasses.c b/source/blender/draw/engines/eevee/eevee_renderpasses.c
index 927ff70a52b..8dd4fd84020 100644
--- a/source/blender/draw/engines/eevee/eevee_renderpasses.c
+++ b/source/blender/draw/engines/eevee/eevee_renderpasses.c
@@ -23,6 +23,8 @@
 #include "DRW_engine.h"
 #include "DRW_render.h"
 
+#include "BKE_global.h" /* for G.debug_value */
+
 #include "BLI_string_utils.h"
 
 #include "DEG_depsgraph_query.h"
@@ -276,3 +278,54 @@ void EEVEE_renderpasses_free(void)
 {
   DRW_SHADER_FREE_SAFE(e_data.postprocess_sh);
 }
+
+void EEVEE_renderpasses_draw_debug(EEVEE_Data *vedata)
+{
+  EEVEE_TextureList *txl = vedata->txl;
+  EEVEE_StorageList *stl = vedata->stl;
+  EEVEE_EffectsInfo *effects = stl->effects;
+
+  GPUTexture *tx = NULL;
+  /* Debug : Output buffer to view. */
+  switch (G.debug_value) {
+    case 1:
+      tx = txl->maxzbuffer;
+      break;
+    case 2:
+      tx = effects->ssr_pdf_output;
+      break;
+    case 3:
+      tx = effects->ssr_normal_input;
+      break;
+    case 4:
+      tx = effects->ssr_specrough_input;
+      break;
+    case 5:
+      tx = txl->color_double_buffer;
+      break;
+    case 6:
+      tx = effects->gtao_horizons;
+      break;
+    case 7:
+      tx = effects->gtao_horizons;
+      break;
+    case 8:
+      tx = effects->sss_irradiance;
+      break;
+    case 9:
+      tx = effects->sss_radius;
+      break;
+    case 10:
+      tx = effects->sss_albedo;
+      break;
+    case 11:
+      tx = effects->velocity_tx;
+      break;
+    default:
+      break;
+  }
+
+  if (tx) {
+    DRW_transform_to_display(tx, false, false);
+  }
+}
\ No newline at end of file



More information about the Bf-blender-cvs mailing list