summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch')
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch b/meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch
new file mode 100644
index 0000000000..d808eaa539
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.15.0/qemugl-allow-glxcontext-release.patch
@@ -0,0 +1,65 @@
1Allow releasing the GLXContext/Drawable with glXMakeCurrent.
2
3---
4commit d942ed4e853e08d2298f3e11e9a952c1d952bff5
5tree f0a934efd8a8ff48e2d96f0d6fc7d70bef106bfe
6parent 93619e6be184f8de08759d347825ee0d678a6f9c
7author Andrzej Zaborowski <andrew.zaborowski@intel.com> Tue, 16 Jun 2009 22:22:05 +0200
8committer Andrzej Zaborowski <andrew.zaborowski@intel.com> Tue, 16 Jun 2009 22:22:05 +0200
9
10 target-i386/opengl_exec.c | 31 ++++++++++++++++---------------
11 1 files changed, 16 insertions(+), 15 deletions(-)
12
13Upstream-Status: Inappropriate [configuration]
14
15Index: qemu-0.14.0/target-i386/opengl_exec.c
16===================================================================
17--- qemu-0.14.0.orig/target-i386/opengl_exec.c
18+++ qemu-0.14.0/target-i386/opengl_exec.c
19@@ -1600,10 +1600,9 @@ int do_function_call(int func_number, ar
20 fprintf(stderr, "client_drawable=%p fake_ctx=%d\n",
21 (void *) client_drawable, fake_ctxt);
22
23- if (client_drawable == 0 && fake_ctxt == 0) {
24+ if (client_drawable == 0 && fake_ctxt == 0)
25 ret_int = glXMakeCurrent(dpy, 0, NULL);
26- process->current_state = &process->default_state;
27- } else if ((drawable = (GLXDrawable)
28+ else if ((drawable = (GLXDrawable)
29 get_association_fakepbuffer_pbuffer(
30 process, client_drawable))) {
31 GLXContext ctxt = get_association_fakecontext_glxcontext(
32@@ -1651,19 +1650,21 @@ int do_function_call(int func_number, ar
33 }
34
35 if (ret_int) {
36- for (i = 0; i < process->nb_states; i ++) {
37- if (process->glstates[i]->fake_ctxt == fake_ctxt) {
38- /* HACK !!! REMOVE */
39- process->current_state = process->glstates[i];
40- process->current_state->drawable = drawable;
41- break;
42- }
43- }
44+ if (fake_ctxt) {
45+ for (i = 0; i < process->nb_states; i ++)
46+ if (process->glstates[i]->fake_ctxt == fake_ctxt) {
47+ /* HACK !!! REMOVE */
48+ process->current_state = process->glstates[i];
49+ process->current_state->drawable = drawable;
50+ break;
51+ }
52
53- if (i == process->nb_states) {
54- fprintf(stderr, "error remembering the new context\n");
55- exit(-1);
56- }
57+ if (i == process->nb_states) {
58+ fprintf(stderr, "error remembering the new context\n");
59+ exit(-1);
60+ }
61+ } else
62+ process->current_state = &process->default_state;
63 }
64 break;
65 }