Merge branch 'blender-v2.83-release'
This commit is contained in:
commit
67ddf68dd9
|
@ -492,16 +492,17 @@ static void library_foreach_screen_area(LibraryForeachIDData *data, ScrArea *are
|
|||
FOREACH_CALLBACK_INVOKE_ID(data, snode->from, IDWALK_CB_NOP);
|
||||
|
||||
FOREACH_CALLBACK_INVOKE(
|
||||
data, snode->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER);
|
||||
data, snode->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER_ONE);
|
||||
|
||||
for (path = snode->treepath.first; path; path = path->next) {
|
||||
if (path == snode->treepath.first) {
|
||||
/* first nodetree in path is same as snode->nodetree */
|
||||
FOREACH_CALLBACK_INVOKE(
|
||||
data, path->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_NOP);
|
||||
FOREACH_CALLBACK_INVOKE(data,
|
||||
path->nodetree,
|
||||
is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER_ONE);
|
||||
}
|
||||
else {
|
||||
FOREACH_CALLBACK_INVOKE(data, path->nodetree, IDWALK_CB_USER);
|
||||
FOREACH_CALLBACK_INVOKE(data, path->nodetree, IDWALK_CB_USER_ONE);
|
||||
}
|
||||
|
||||
if (path->nodetree == NULL) {
|
||||
|
|
|
@ -890,8 +890,7 @@ static void node_id_remap(ScrArea *UNUSED(area), SpaceLink *slink, ID *old_id, I
|
|||
for (path = snode->treepath.first; path; path = path->next) {
|
||||
if ((ID *)path->nodetree == old_id) {
|
||||
path->nodetree = (bNodeTree *)new_id;
|
||||
id_us_min(old_id);
|
||||
id_us_plus(new_id);
|
||||
id_us_ensure_real(new_id);
|
||||
}
|
||||
if (path == snode->treepath.first) {
|
||||
/* first nodetree in path is same as snode->nodetree */
|
||||
|
|
|
@ -217,18 +217,6 @@ static void gpu_viewport_framebuffer_view_set(GPUViewport *viewport, int view)
|
|||
GPU_ATTACHMENT_TEXTURE(dtxl->color_overlay),
|
||||
});
|
||||
|
||||
if (((viewport->flag & GPU_VIEWPORT_STEREO) != 0)) {
|
||||
GPU_framebuffer_ensure_config(&dfbl->stereo_comp_fb,
|
||||
{
|
||||
GPU_ATTACHMENT_NONE,
|
||||
GPU_ATTACHMENT_TEXTURE(dtxl->color),
|
||||
GPU_ATTACHMENT_TEXTURE(dtxl->color_overlay),
|
||||
});
|
||||
}
|
||||
else {
|
||||
dfbl->stereo_comp_fb = NULL;
|
||||
}
|
||||
|
||||
viewport->active_view = view;
|
||||
}
|
||||
|
||||
|
@ -492,9 +480,6 @@ static void gpu_viewport_default_fb_create(GPUViewport *viewport)
|
|||
ok = ok && GPU_framebuffer_check_valid(dfbl->color_only_fb, NULL);
|
||||
ok = ok && GPU_framebuffer_check_valid(dfbl->depth_only_fb, NULL);
|
||||
ok = ok && GPU_framebuffer_check_valid(dfbl->overlay_only_fb, NULL);
|
||||
if (((viewport->flag & GPU_VIEWPORT_STEREO) != 0)) {
|
||||
ok = ok && GPU_framebuffer_check_valid(dfbl->stereo_comp_fb, NULL);
|
||||
}
|
||||
cleanup:
|
||||
if (!ok) {
|
||||
GPU_viewport_free(viewport);
|
||||
|
@ -625,6 +610,14 @@ void GPU_viewport_stereo_composite(GPUViewport *viewport, Stereo3dFormat *stereo
|
|||
DefaultTextureList *dtxl = viewport->txl;
|
||||
DefaultFramebufferList *dfbl = viewport->fbl;
|
||||
|
||||
/* The composite framebuffer object needs to be created in the window context. */
|
||||
GPU_framebuffer_ensure_config(&dfbl->stereo_comp_fb,
|
||||
{
|
||||
GPU_ATTACHMENT_NONE,
|
||||
GPU_ATTACHMENT_TEXTURE(dtxl->color),
|
||||
GPU_ATTACHMENT_TEXTURE(dtxl->color_overlay),
|
||||
});
|
||||
|
||||
GPUVertFormat *vert_format = immVertexFormat();
|
||||
uint pos = GPU_vertformat_attr_add(vert_format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
GPU_framebuffer_bind(dfbl->stereo_comp_fb);
|
||||
|
|
Loading…
Reference in New Issue