[Bf-blender-cvs] [f9ef0e1bdec] master: Fix T67342 EEVEE: Uninitialized buffer when changing screen size

Clément Foucault noreply at git.blender.org
Wed Sep 25 15:37:49 CEST 2019


Commit: f9ef0e1bdece674e40e219b896540fb8096c25a2
Author: Clément Foucault
Date:   Wed Sep 25 15:37:13 2019 +0200
Branches: master
https://developer.blender.org/rBf9ef0e1bdece674e40e219b896540fb8096c25a2

Fix T67342 EEVEE: Uninitialized buffer when changing screen size

Was caused by some drawcall not being done if the volumetric resolve pass
was drawn (using dual source blending seems to be the cause).
Not sure why this is needed since it is still reset before the next
drawcall.

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

M	source/blender/draw/intern/draw_manager_exec.c

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

diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 78da744abf8..3de9ce74dbc 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -1408,6 +1408,12 @@ static void drw_draw_pass_ex(DRWPass *pass,
     DST.batch = NULL;
   }
 
+  /* Fix T67342 for some reason. AMD Pro driver bug. */
+  if ((DST.state & DRW_STATE_BLEND_CUSTOM) != 0 &&
+      GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_ANY, GPU_DRIVER_OFFICIAL)) {
+    drw_state_set(DST.state & ~DRW_STATE_BLEND_CUSTOM);
+  }
+
   /* HACK: Rasterized discard can affect clear commands which are not
    * part of a DRWPass (as of now). So disable rasterized discard here
    * if it has been enabled. */



More information about the Bf-blender-cvs mailing list