[Bf-blender-cvs] [af1c2869a64] xr-controller-support: Merge branch 'master' into xr-controller-support

Peter Kim noreply at git.blender.org
Wed May 26 10:36:11 CEST 2021


Commit: af1c2869a6413c043636876062087a288267926b
Author: Peter Kim
Date:   Wed May 26 17:34:35 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rBaf1c2869a6413c043636876062087a288267926b

Merge branch 'master' into xr-controller-support

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



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

diff --cc source/blender/draw/intern/draw_manager.c
index d5ecd3fb597,37f6bbf52b5..51e127a8ea7
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@@ -1495,51 -1473,14 +1495,54 @@@ void DRW_draw_callbacks_post_scene(void
  
      GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
    }
- #ifdef WITH_XR_OPENXR
-   else if ((v3d->flag & V3D_XR_SESSION_SURFACE) != 0) {
-     DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get();
- 
-     DRW_state_reset();
- 
-     GPU_framebuffer_bind(dfbl->overlay_fb);
- 
-     GPU_matrix_projection_set(rv3d->winmat);
-     GPU_matrix_set(rv3d->viewmat);
- 
-     /* Annotations. */
-     if (do_annotations) {
+   else {
+     if (v3d && ((v3d->flag2 & V3D_SHOW_ANNOTATION) != 0)) {
        GPU_depth_test(GPU_DEPTH_NONE);
+       /* XXX: as scene->gpd is not copied for COW yet */
        ED_annotation_draw_view3d(DEG_get_input_scene(depsgraph), depsgraph, v3d, region, true);
+       GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
      }
++    
++#ifdef WITH_XR_OPENXR    
++    if ((v3d->flag & V3D_XR_SESSION_SURFACE) != 0) {
++      DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get();
 +
-     /* Callbacks (controllers, custom draw functions). */
-     if (((v3d->flag2 & V3D_XR_SHOW_CONTROLLERS) != 0) ||
-         ((v3d->flag2 & V3D_XR_SHOW_CUSTOM_OVERLAYS) != 0)) {
-       GPU_depth_test(GPU_DEPTH_NONE);
-       GPU_apply_state();
++      DRW_state_reset();
 +
-       if ((v3d->flag2 & V3D_XR_SHOW_CONTROLLERS) != 0) {
-         ARegionType *art = WM_xr_surface_controller_region_type_get();
-         if (art) {
-           ED_region_surface_draw_cb_draw(art, REGION_DRAW_POST_VIEW);
-         }
-       }
-       if ((v3d->flag2 & V3D_XR_SHOW_CUSTOM_OVERLAYS) != 0) {
-         SpaceType *st = BKE_spacetype_from_id(SPACE_VIEW3D);
-         if (st) {
-           ARegionType *art = BKE_regiontype_from_id(st, RGN_TYPE_XR);
++      GPU_framebuffer_bind(dfbl->overlay_fb);
++
++      GPU_matrix_projection_set(rv3d->winmat);
++      GPU_matrix_set(rv3d->viewmat);
++
++      /* Callbacks (controllers, custom draw functions). */
++      if (((v3d->flag2 & V3D_XR_SHOW_CONTROLLERS) != 0) ||
++          ((v3d->flag2 & V3D_XR_SHOW_CUSTOM_OVERLAYS) != 0)) {
++        GPU_depth_test(GPU_DEPTH_NONE);
++        GPU_apply_state();
++
++        if ((v3d->flag2 & V3D_XR_SHOW_CONTROLLERS) != 0) {
++          ARegionType *art = WM_xr_surface_controller_region_type_get();
 +          if (art) {
 +            ED_region_surface_draw_cb_draw(art, REGION_DRAW_POST_VIEW);
 +          }
 +        }
-       }
++        if ((v3d->flag2 & V3D_XR_SHOW_CUSTOM_OVERLAYS) != 0) {
++          SpaceType *st = BKE_spacetype_from_id(SPACE_VIEW3D);
++          if (st) {
++            ARegionType *art = BKE_regiontype_from_id(st, RGN_TYPE_XR);
++            if (art) {
++              ED_region_surface_draw_cb_draw(art, REGION_DRAW_POST_VIEW);
++            }
++          }
++        }
 +
-       DRW_state_reset();
++        DRW_state_reset();
++      }
++      
++      GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
 +    }
- 
-     GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
-   }
 +#endif
+   }
  }
  
  struct DRWTextStore *DRW_text_cache_ensure(void)



More information about the Bf-blender-cvs mailing list