From 3d6e7e7d0c6aed10a859034486191e0b3b69d786 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Thu, 27 May 2010 15:22:50 -0400 Subject: qemu: Update the static recipe to 0.12.0 Signed-off-by: Jeff Dike --- .../qemugl-allow-glxcontext-release.patch | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 meta/packages/qemu/qemu-0.12.0/qemugl-allow-glxcontext-release.patch (limited to 'meta/packages/qemu/qemu-0.12.0/qemugl-allow-glxcontext-release.patch') diff --git a/meta/packages/qemu/qemu-0.12.0/qemugl-allow-glxcontext-release.patch b/meta/packages/qemu/qemu-0.12.0/qemugl-allow-glxcontext-release.patch new file mode 100644 index 000000000..43acc361a --- /dev/null +++ b/meta/packages/qemu/qemu-0.12.0/qemugl-allow-glxcontext-release.patch @@ -0,0 +1,63 @@ +Allow releasing the GLXContext/Drawable with glXMakeCurrent. + +--- +commit d942ed4e853e08d2298f3e11e9a952c1d952bff5 +tree f0a934efd8a8ff48e2d96f0d6fc7d70bef106bfe +parent 93619e6be184f8de08759d347825ee0d678a6f9c +author Andrzej Zaborowski Tue, 16 Jun 2009 22:22:05 +0200 +committer Andrzej Zaborowski Tue, 16 Jun 2009 22:22:05 +0200 + + target-i386/opengl_exec.c | 31 ++++++++++++++++--------------- + 1 files changed, 16 insertions(+), 15 deletions(-) + +Index: qemu/target-i386/opengl_exec.c +=================================================================== +--- qemu.orig/target-i386/opengl_exec.c 2010-05-10 18:46:43.175394992 -0400 ++++ qemu/target-i386/opengl_exec.c 2010-05-10 18:46:43.218419933 -0400 +@@ -1600,10 +1600,9 @@ int do_function_call(int func_number, ar + fprintf(stderr, "client_drawable=%p fake_ctx=%d\n", + (void *) client_drawable, fake_ctxt); + +- if (client_drawable == 0 && fake_ctxt == 0) { ++ if (client_drawable == 0 && fake_ctxt == 0) + ret_int = glXMakeCurrent(dpy, 0, NULL); +- process->current_state = &process->default_state; +- } else if ((drawable = (GLXDrawable) ++ else if ((drawable = (GLXDrawable) + get_association_fakepbuffer_pbuffer( + process, client_drawable))) { + GLXContext ctxt = get_association_fakecontext_glxcontext( +@@ -1651,19 +1650,21 @@ int do_function_call(int func_number, ar + } + + if (ret_int) { +- for (i = 0; i < process->nb_states; i ++) { +- if (process->glstates[i]->fake_ctxt == fake_ctxt) { +- /* HACK !!! REMOVE */ +- process->current_state = process->glstates[i]; +- process->current_state->drawable = drawable; +- break; +- } +- } ++ if (fake_ctxt) { ++ for (i = 0; i < process->nb_states; i ++) ++ if (process->glstates[i]->fake_ctxt == fake_ctxt) { ++ /* HACK !!! REMOVE */ ++ process->current_state = process->glstates[i]; ++ process->current_state->drawable = drawable; ++ break; ++ } + +- if (i == process->nb_states) { +- fprintf(stderr, "error remembering the new context\n"); +- exit(-1); +- } ++ if (i == process->nb_states) { ++ fprintf(stderr, "error remembering the new context\n"); ++ exit(-1); ++ } ++ } else ++ process->current_state = &process->default_state; + } + break; + } -- cgit v1.2.3