From aef3e99eab6db507bf852adf9aa269a76158d991 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 18 Nov 2010 19:11:05 +0000 Subject: Bugfix #22052 OpenGL viewport render gave squeezed results in cases. Reason: some graphics cards only give offscreen buffers in multiples of 256 or 512 (my case). Current fix uses the actual size returned by graphics card, which is also safe for too large renders. More elaborate cropping or matching is for another time. (Added printf for feedback on this, might disappear) --- source/blender/editors/render/render_opengl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/render') diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index 6b067a94003..8dd9adf0777 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -257,7 +257,8 @@ static int screen_opengl_render_init(bContext *C, wmOperator *op) sizex= (scene->r.size*scene->r.xsch)/100; sizey= (scene->r.size*scene->r.ysch)/100; - ofs= GPU_offscreen_create(sizex, sizey); + /* corrects render size with actual size, some gfx cards return units of 256 or 512 */ + ofs= GPU_offscreen_create(&sizex, &sizey); if(!ofs) { BKE_report(op->reports, RPT_ERROR, "Failed to create OpenGL offscreen buffer."); -- cgit v1.2.3