From c7be039fad6d93911d1142fc5dea18d0c2684143 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 10 Mar 2010 14:35:57 -0700 Subject: [PATCH] progs/trivial: use -c option to use glCopyPixels() Otherwise we use glRead/DrawPixels to copy the off-screen FBO image into the window. Looks like NVIDIA's broken when using -c (the image is upside down), but OK with -c -t. --- progs/trivial/clear-fbo-scissor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/progs/trivial/clear-fbo-scissor.c b/progs/trivial/clear-fbo-scissor.c index 28c613ccfba..6a605e16a8b 100644 --- a/progs/trivial/clear-fbo-scissor.c +++ b/progs/trivial/clear-fbo-scissor.c @@ -17,6 +17,7 @@ static int Width = 512, Height = 512; static GLuint MyFB, MyRB; static GLboolean UseTex = GL_FALSE; +static GLboolean UseCopyPix = GL_FALSE; #define CheckError() \ @@ -110,7 +111,6 @@ static void Draw(void) { GLboolean scissor = GL_TRUE; - GLboolean copyPix = GL_FALSE; /* draw to user framebuffer */ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB); @@ -171,7 +171,7 @@ Draw(void) glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); glDrawBuffer(GL_BACK); - if (copyPix) { + if (UseCopyPix) { glWindowPos2i(0, 0); glCopyPixels(0, 0, Width, Height, GL_COLOR); } @@ -211,6 +211,8 @@ main(int argc, char *argv[]) for (i = 1; i < argc; i++) { if (strcmp(argv[i], "-t") == 0) UseTex = GL_TRUE; + else if (strcmp(argv[i], "-c") == 0) + UseCopyPix = GL_TRUE; } if (UseTex) -- 2.30.2