Fix T53874: OpenGL render problem with OpenEXR in 2.8 with float buffers.

This commit is contained in:
Brecht Van Lommel
2018-01-25 14:07:51 +01:00
parent 43b0e61408
commit 176c0c96c2
2 changed files with 7 additions and 3 deletions

View File

@@ -437,8 +437,6 @@ void RE_AcquireResultImage(Render *re, RenderResult *rr, const int view_id)
rr->rectz = rv->rectz;
rr->rect32 = rv->rect32;
rr->have_combined = (rv->rectf != NULL);
/* active layer */
rl = render_get_active_layer(re, re->result);
@@ -839,7 +837,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd,
re->result = MEM_callocN(sizeof(RenderResult), "new render result");
re->result->rectx = re->rectx;
re->result->recty = re->recty;
render_result_view_new(re->result, "new temporary view");
render_result_view_new(re->result, "");
}
if (re->r.scemode & R_VIEWPORT_PREVIEW)

View File

@@ -80,6 +80,8 @@ static void render_result_views_free(RenderResult *res)
MEM_freeN(rv);
}
res->have_combined = false;
}
void render_result_free(RenderResult *res)
@@ -1356,6 +1358,8 @@ void RE_render_result_rect_from_ibuf(RenderResult *rr, RenderData *UNUSED(rd), I
RenderView *rv = RE_RenderViewGetById(rr, view_id);
if (ibuf->rect_float) {
rr->have_combined = true;
if (!rv->rectf)
rv->rectf = MEM_mallocN(4 * sizeof(float) * rr->rectx * rr->recty, "render_seq rectf");
@@ -1366,6 +1370,8 @@ void RE_render_result_rect_from_ibuf(RenderResult *rr, RenderData *UNUSED(rd), I
MEM_SAFE_FREE(rv->rect32);
}
else if (ibuf->rect) {
rr->have_combined = true;
if (!rv->rect32)
rv->rect32 = MEM_mallocN(sizeof(int) * rr->rectx * rr->recty, "render_seq rect");