[Bf-blender-cvs] [2741a165e2d] greasepencil-refactor: Merge branch 'greasepencil-object' into greasepencil-refactor

Antonio Vazquez noreply at git.blender.org
Tue Feb 11 15:40:48 CET 2020


Commit: 2741a165e2d3f72c6f3893d4a3c55f2055aaa2c9
Author: Antonio Vazquez
Date:   Tue Feb 11 15:40:15 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB2741a165e2d3f72c6f3893d4a3c55f2055aaa2c9

Merge branch 'greasepencil-object' into greasepencil-refactor

 Conflicts:
	source/blender/draw/engines/gpencil/gpencil_engine.h
	source/blender/draw/engines/overlay/overlay_extra.c
	source/blender/draw/intern/draw_manager_exec.c

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



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

diff --cc source/blender/draw/engines/overlay/overlay_engine.c
index 9f84978deb6,14f81b50e48..51a1391ab6a
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@@ -150,9 -145,9 +150,10 @@@ static void OVERLAY_cache_init(void *ve
    }
    OVERLAY_antialiasing_cache_init(vedata);
    OVERLAY_armature_cache_init(vedata);
+   OVERLAY_background_cache_init(vedata);
    OVERLAY_extra_cache_init(vedata);
    OVERLAY_facing_cache_init(vedata);
 +  OVERLAY_gpencil_cache_init(vedata);
    OVERLAY_grid_cache_init(vedata);
    OVERLAY_image_cache_init(vedata);
    OVERLAY_metaball_cache_init(vedata);
diff --cc source/blender/draw/engines/overlay/overlay_private.h
index 55b59e24a5b,6ab6da9a18d..1b629aa7860
--- a/source/blender/draw/engines/overlay/overlay_private.h
+++ b/source/blender/draw/engines/overlay/overlay_private.h
@@@ -55,10 -55,10 +55,12 @@@ typedef struct OVERLAY_PassList 
    DRWPass *armature_ps[2];
    DRWPass *armature_bone_select_ps;
    DRWPass *armature_transp_ps;
+   DRWPass *background_ps;
+   DRWPass *clipping_frustum_ps;
    DRWPass *edit_curve_wire_ps[2];
    DRWPass *edit_curve_handle_ps;
 +  DRWPass *edit_gpencil_ps;
 +  DRWPass *edit_gpencil_gizmos_ps;
    DRWPass *edit_lattice_ps;
    DRWPass *edit_mesh_depth_ps[2];
    DRWPass *edit_mesh_verts_ps[2];
@@@ -75,11 -75,9 +77,10 @@@
    DRWPass *extra_blend_ps;
    DRWPass *extra_centers_ps;
    DRWPass *extra_grid_ps;
 +  DRWPass *gpencil_canvas_ps;
    DRWPass *facing_ps;
    DRWPass *grid_ps;
-   DRWPass *image_background_under_ps;
-   DRWPass *image_background_over_ps;
+   DRWPass *image_background_ps;
    DRWPass *image_empties_ps;
    DRWPass *image_empties_back_ps;
    DRWPass *image_empties_blend_ps;
diff --cc source/blender/draw/intern/DRW_render.h
index 8e9a32c003b,60c6e66bfe9..fc1a762facc
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@@ -302,12 -296,11 +296,12 @@@ typedef enum 
    DRW_STATE_BLEND_ALPHA = (1 << 18),
    /** Use that if color is already premult by alpha. */
    DRW_STATE_BLEND_ALPHA_PREMUL = (1 << 19),
-   DRW_STATE_BLEND_ALPHA_UNDER_PREMUL = (1 << 20),
+   DRW_STATE_BLEND_BACKGROUND = (1 << 20),
    DRW_STATE_BLEND_OIT = (1 << 21),
    DRW_STATE_BLEND_MUL = (1 << 22),
 +  DRW_STATE_BLEND_SUB = (1 << 23),
    /** Use dual source blending. WARNING: Only one color buffer allowed. */
 -  DRW_STATE_BLEND_CUSTOM = (1 << 23),
 +  DRW_STATE_BLEND_CUSTOM = (1 << 24),
  
    DRW_STATE_IN_FRONT_SELECT = (1 << 25),
    DRW_STATE_LOGIC_INVERT = (1 << 26),
diff --cc source/blender/draw/intern/draw_manager.c
index deec62a2a8b,6ff0da8705c..9958e3ab44e
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@@ -2370,10 -2183,15 +2183,8 @@@ void DRW_draw_select_loop(struct Depsgr
      }
    }
  
 -  /* TODO: GPXX Workaround for grease pencil selection while draw manager support a callback from
 -   * scene finish */
 -  void *data = GPU_viewport_engine_data_get(DST.viewport, &draw_engine_gpencil_type);
 -  if (data != NULL) {
 -    DRW_gpencil_free_runtime_data(data);
 -  }
 -
    DRW_state_lock(0);
  
-   DRW_draw_callbacks_post_scene();
- 
    DRW_state_reset();
    drw_engines_disable();
  
diff --cc source/blender/draw/intern/draw_manager_exec.c
index 7bcb0b0f86d,23a3e0b05d4..94319f4ae9e
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@@ -235,11 -234,11 +235,12 @@@ void drw_state_set(DRWState state
    /* Blending (all buffer) */
    {
      int test;
--    if (CHANGED_ANY_STORE_VAR(
--            DRW_STATE_BLEND_ALPHA | DRW_STATE_BLEND_ALPHA_PREMUL | DRW_STATE_BLEND_ADD |
--                DRW_STATE_BLEND_MUL | DRW_STATE_BLEND_ADD_FULL | DRW_STATE_BLEND_OIT |
-                 DRW_STATE_BLEND_ALPHA_UNDER_PREMUL | DRW_STATE_BLEND_CUSTOM | DRW_STATE_BLEND_SUB,
 -                DRW_STATE_BLEND_BACKGROUND | DRW_STATE_BLEND_CUSTOM | DRW_STATE_LOGIC_INVERT,
--            test)) {
++    if (CHANGED_ANY_STORE_VAR(DRW_STATE_BLEND_ALPHA | DRW_STATE_BLEND_ALPHA_PREMUL |
++                                  DRW_STATE_BLEND_ADD | DRW_STATE_BLEND_MUL |
++                                  DRW_STATE_BLEND_ADD_FULL | DRW_STATE_BLEND_OIT |
++                                  DRW_STATE_BLEND_BACKGROUND | DRW_STATE_BLEND_CUSTOM |
++                                  DRW_STATE_LOGIC_INVERT | DRW_STATE_BLEND_SUB,
++                              test)) {
        if (test) {
          glEnable(GL_BLEND);



More information about the Bf-blender-cvs mailing list