mirror of
https://git.yoctoproject.org/poky
synced 2026-09-15 06:49:33 +02:00
qemu-git: Drop GL passthrough support
These patches are a maintenance nightmare and impacting our abaility to keep up to date with qemu. They are also a source of various bugs. Remove them until someone is willing to step up and maintain them, or upstream gains GL support. (From OE-Core rev: 30af78f0db16b9f51666341c9dad0123ccf8ac85) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1,127 +0,0 @@
|
|||||||
Upstream-Status: Inappropriate [configuration]
|
|
||||||
|
|
||||||
Index: qemu-0.14.0/Makefile.target
|
|
||||||
===================================================================
|
|
||||||
--- qemu-0.14.0.orig/Makefile.target
|
|
||||||
+++ qemu-0.14.0/Makefile.target
|
|
||||||
@@ -79,6 +79,12 @@ libobj-y += cpuid.o
|
|
||||||
endif
|
|
||||||
libobj-$(CONFIG_NEED_MMU) += mmu.o
|
|
||||||
libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
|
|
||||||
+libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
|
|
||||||
+libobj-$(TARGET_ARM) += dummygl.o
|
|
||||||
+libobj-$(TARGET_MIPS) += dummygl.o
|
|
||||||
+libobj-$(TARGET_MIPS64) += dummygl.o
|
|
||||||
+libobj-$(TARGET_PPC) += dummygl.o
|
|
||||||
+libobj-$(TARGET_SH4) += dummygl.o
|
|
||||||
libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
|
|
||||||
|
|
||||||
libobj-y += disas.o
|
|
||||||
Index: qemu-0.14.0/target-arm/dummygl.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ qemu-0.14.0/target-arm/dummygl.c
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
+#include <stdint.h>
|
|
||||||
+#include <X11/Xlib.h>
|
|
||||||
+#include <X11/Xutil.h>
|
|
||||||
+
|
|
||||||
+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void opengl_process_enable(void)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void mem_opengl(uint64_t ptr)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
Index: qemu-0.14.0/target-mips/dummygl.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ qemu-0.14.0/target-mips/dummygl.c
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
+#include <stdint.h>
|
|
||||||
+#include <X11/Xlib.h>
|
|
||||||
+#include <X11/Xutil.h>
|
|
||||||
+
|
|
||||||
+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void opengl_process_enable(void)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void mem_opengl(uint64_t ptr)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
Index: qemu-0.14.0/target-ppc/dummygl.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ qemu-0.14.0/target-ppc/dummygl.c
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
+#include <stdint.h>
|
|
||||||
+#include <X11/Xlib.h>
|
|
||||||
+#include <X11/Xutil.h>
|
|
||||||
+
|
|
||||||
+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void opengl_process_enable(void)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void mem_opengl(uint64_t ptr)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
Index: qemu-0.14.0/target-sh4/dummygl.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ qemu-0.14.0/target-sh4/dummygl.c
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
+#include <stdint.h>
|
|
||||||
+#include <X11/Xlib.h>
|
|
||||||
+#include <X11/Xutil.h>
|
|
||||||
+
|
|
||||||
+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void opengl_process_enable(void)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void mem_opengl(uint64_t ptr)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,65 +0,0 @@
|
|||||||
Allow releasing the GLXContext/Drawable with glXMakeCurrent.
|
|
||||||
|
|
||||||
---
|
|
||||||
commit d942ed4e853e08d2298f3e11e9a952c1d952bff5
|
|
||||||
tree f0a934efd8a8ff48e2d96f0d6fc7d70bef106bfe
|
|
||||||
parent 93619e6be184f8de08759d347825ee0d678a6f9c
|
|
||||||
author Andrzej Zaborowski <andrew.zaborowski@intel.com> Tue, 16 Jun 2009 22:22:05 +0200
|
|
||||||
committer Andrzej Zaborowski <andrew.zaborowski@intel.com> Tue, 16 Jun 2009 22:22:05 +0200
|
|
||||||
|
|
||||||
target-i386/opengl_exec.c | 31 ++++++++++++++++---------------
|
|
||||||
1 files changed, 16 insertions(+), 15 deletions(-)
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [configuration]
|
|
||||||
|
|
||||||
Index: qemu-0.14.0/target-i386/opengl_exec.c
|
|
||||||
===================================================================
|
|
||||||
--- qemu-0.14.0.orig/target-i386/opengl_exec.c
|
|
||||||
+++ qemu-0.14.0/target-i386/opengl_exec.c
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
This patch fix GL application start failure on qemu 0.14.0.
|
|
||||||
|
|
||||||
Some turn-on macro/variable are re-arranged, buffer pointer is extended to
|
|
||||||
support 32/64b combination of target/host.
|
|
||||||
|
|
||||||
This is not perfect fix, and we need consider other GL alternatives in future.
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [other (logical part of qemu-git-qemugl-host.patch)]
|
|
||||||
|
|
||||||
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
|
|
||||||
|
|
||||||
Index: qemu-0.14.0/target-i386/opengl_func.h
|
|
||||||
===================================================================
|
|
||||||
--- qemu-0.14.0.orig/target-i386/opengl_func.h 2011-04-08 16:43:46.000000000 +0800
|
|
||||||
+++ qemu-0.14.0/target-i386/opengl_func.h 2011-04-08 16:45:55.000000000 +0800
|
|
||||||
@@ -26,8 +26,9 @@
|
|
||||||
#include "mesa_glext.h"
|
|
||||||
|
|
||||||
/* Argument list are internally of a type that can hold a target pointer
|
|
||||||
- * or a host pointer. */
|
|
||||||
-typedef target_phys_addr_t arg_t;
|
|
||||||
+ * or a host pointer. If 32b target runs on 64b host, it should be big enough
|
|
||||||
+ * to hold host pointer */
|
|
||||||
+typedef long unsigned int arg_t;
|
|
||||||
|
|
||||||
enum {
|
|
||||||
TYPE_NONE,
|
|
||||||
Index: qemu-0.14.0/target-i386/translate.c
|
|
||||||
===================================================================
|
|
||||||
--- qemu-0.14.0.orig/target-i386/translate.c 2011-04-08 16:19:15.000000000 +0800
|
|
||||||
+++ qemu-0.14.0/target-i386/translate.c 2011-04-08 16:22:03.000000000 +0800
|
|
||||||
@@ -2652,17 +2652,19 @@
|
|
||||||
s->is_jmp = DISAS_TB_JUMP;
|
|
||||||
}
|
|
||||||
|
|
||||||
-int enable_gl = 0;
|
|
||||||
+extern int enable_gl;
|
|
||||||
|
|
||||||
/* an interrupt is different from an exception because of the
|
|
||||||
privilege checks */
|
|
||||||
static void gen_interrupt(DisasContext *s, int intno,
|
|
||||||
target_ulong cur_eip, target_ulong next_eip)
|
|
||||||
{
|
|
||||||
+#if !defined(CONFIG_USER_ONLY)
|
|
||||||
if (enable_gl && intno == 0x99) {
|
|
||||||
gen_helper_opengl();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (s->cc_op != CC_OP_DYNAMIC)
|
|
||||||
gen_op_set_cc_op(s->cc_op);
|
|
||||||
Index: qemu-0.14.0/vl.c
|
|
||||||
===================================================================
|
|
||||||
--- qemu-0.14.0.orig/vl.c 2011-04-08 16:11:43.000000000 +0800
|
|
||||||
+++ qemu-0.14.0/vl.c 2011-04-08 16:20:05.000000000 +0800
|
|
||||||
@@ -229,7 +229,7 @@
|
|
||||||
unsigned int nb_prom_envs = 0;
|
|
||||||
const char *prom_envs[MAX_PROM_ENVS];
|
|
||||||
int boot_menu;
|
|
||||||
-extern int enable_gl;
|
|
||||||
+int enable_gl = 0;
|
|
||||||
|
|
||||||
typedef struct FWBootEntry FWBootEntry;
|
|
||||||
|
|
||||||
@@ -1909,6 +1909,7 @@
|
|
||||||
return popt;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#define TARGET_OPENGL_OK
|
|
||||||
int main(int argc, char **argv, char **envp)
|
|
||||||
{
|
|
||||||
const char *gdbstub_dev = NULL;
|
|
||||||
@@ -13,10 +13,7 @@ FILESDIR = "${WORKDIR}"
|
|||||||
|
|
||||||
SRC_URI = "\
|
SRC_URI = "\
|
||||||
git://git.qemu.org/qemu.git;protocol=git \
|
git://git.qemu.org/qemu.git;protocol=git \
|
||||||
file://qemu-git-qemugl-host.patch \
|
|
||||||
file://no-strip.patch \
|
file://no-strip.patch \
|
||||||
file://fix-nogl.patch \
|
|
||||||
file://qemugl-allow-glxcontext-release.patch \
|
|
||||||
file://linker-flags.patch \
|
file://linker-flags.patch \
|
||||||
file://qemu-vmware-vga-depth.patch \
|
file://qemu-vmware-vga-depth.patch \
|
||||||
file://enable-i386-linux-user.patch"
|
file://enable-i386-linux-user.patch"
|
||||||
|
|||||||
Reference in New Issue
Block a user