Merge branch 'blender-v2.83-release'

This commit is contained in:
Clément Foucault 2020-05-11 17:54:32 +02:00
commit dfbb3d82f7
4 changed files with 12 additions and 12 deletions

View File

@ -193,12 +193,6 @@ void OVERLAY_antialiasing_cache_finish(OVERLAY_Data *vedata)
pd->antialiasing.do_depth_infront_copy;
if (pd->xray_enabled || do_wireframe) {
DRW_texture_ensure_fullscreen_2d(&txl->temp_depth_tx, GPU_DEPTH24_STENCIL8, 0);
GPU_framebuffer_ensure_config(&fbl->overlay_xray_depth_copy_fb,
{
GPU_ATTACHMENT_TEXTURE(txl->temp_depth_tx),
GPU_ATTACHMENT_NONE,
});
}
}
@ -224,12 +218,13 @@ void OVERLAY_antialiasing_start(OVERLAY_Data *vedata)
void OVERLAY_xray_depth_copy(OVERLAY_Data *vedata)
{
OVERLAY_FramebufferList *fbl = vedata->fbl;
OVERLAY_TextureList *txl = vedata->txl;
OVERLAY_PrivateData *pd = vedata->stl->pd;
if (DRW_state_is_fbo() && pd->antialiasing.do_depth_copy) {
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
/* We copy the depth of the rendered geometry to be able to compare to the overlays depth. */
GPU_framebuffer_blit(
fbl->overlay_default_fb, 0, fbl->overlay_xray_depth_copy_fb, 0, GPU_DEPTH_BIT);
GPU_texture_copy(txl->temp_depth_tx, dtxl->depth);
}
if (DRW_state_is_fbo() && pd->xray_enabled) {
@ -241,13 +236,13 @@ void OVERLAY_xray_depth_copy(OVERLAY_Data *vedata)
void OVERLAY_xray_depth_infront_copy(OVERLAY_Data *vedata)
{
OVERLAY_FramebufferList *fbl = vedata->fbl;
OVERLAY_TextureList *txl = vedata->txl;
OVERLAY_PrivateData *pd = vedata->stl->pd;
if (DRW_state_is_fbo() && pd->antialiasing.do_depth_infront_copy) {
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
/* We copy the depth of the rendered geometry to be able to compare to the overlays depth. */
GPU_framebuffer_blit(
fbl->overlay_in_front_fb, 0, fbl->overlay_xray_depth_copy_fb, 0, GPU_DEPTH_BIT);
GPU_texture_copy(txl->temp_depth_tx, dtxl->depth_in_front);
}
}

View File

@ -35,7 +35,6 @@ typedef struct OVERLAY_FramebufferList {
struct GPUFrameBuffer *overlay_color_only_fb;
struct GPUFrameBuffer *overlay_in_front_fb;
struct GPUFrameBuffer *overlay_line_in_front_fb;
struct GPUFrameBuffer *overlay_xray_depth_copy_fb;
struct GPUFrameBuffer *outlines_prepass_fb;
struct GPUFrameBuffer *outlines_resolve_fb;
} OVERLAY_FramebufferList;

View File

@ -1507,6 +1507,8 @@ void DRW_draw_render_loop_ex(struct Depsgraph *depsgraph,
/* Fix 3D view being "laggy" on macos and win+nvidia. (See T56996, T61474) */
GPU_flush();
DRW_stats_reset();
DRW_draw_callbacks_post_scene();
if (WM_draw_region_get_bound_viewport(region)) {

View File

@ -3869,6 +3869,10 @@ static int region_quadview_exec(bContext *C, wmOperator *op)
rv3d->viewlock_quad = RV3D_VIEWLOCK_INIT;
rv3d->viewlock = 0;
/* FIXME: This fixes missing update to workbench TAA. (see T76216)
* However, it would be nice if the tagging should be done in a more conventional way. */
rv3d->rflag |= RV3D_GPULIGHT_UPDATE;
/* Accumulate locks, in case they're mixed. */
for (region_iter = area->regionbase.first; region_iter; region_iter = region_iter->next) {
if (region_iter->regiontype == RGN_TYPE_WINDOW) {