]> xenbits.xen.org Git - xenclient/ioemu-pq.git/commitdiff
Force the linear mode while we call intel focus if the
authorJean Guyader <jean.guyader@eu.citrix.com>
Fri, 31 Jul 2009 18:54:57 +0000 (19:54 +0100)
committerJean Guyader <jean.guyader@eu.citrix.com>
Fri, 31 Jul 2009 18:54:57 +0000 (19:54 +0100)
guest_framebuffer is null.

master/intel

index 784d9e8337b73f3f315cb66e5a38dad79bda59cc..9a76e642fb1ddd78a5daa4e0f93d31e8b12bf6a8 100644 (file)
@@ -33,7 +33,7 @@ index 97214c0..8c9b09b 100644
 +void intel_display_init(DisplayState *ds);
  #endif
 diff --git a/dom0_driver.c b/dom0_driver.c
-index a747911..bdfe37c 100644
+index a0fa64e..c8b376e 100644
 --- a/dom0_driver.c
 +++ b/dom0_driver.c
 @@ -43,6 +43,7 @@
@@ -44,7 +44,7 @@ index a747911..bdfe37c 100644
  
  static void dom0_driver_state_change(const char *path, void *opaque);
  static void dom0_driver_command(const char *path, void *opaque);
-@@ -697,6 +698,11 @@ void dom0_driver_init(const char *position)
+@@ -698,6 +699,11 @@ void dom0_driver_init(const char *position)
        driver.enter = dom0_driver_unblank;
        driver.leave = dom0_driver_blank;
      }
@@ -215,10 +215,10 @@ index 90bd544..a2b8744 100644
      vga_update_display(s);
 diff --git a/intel.c b/intel.c
 new file mode 100644
-index 0000000..eb0b9c0
+index 0000000..c071866
 --- /dev/null
 +++ b/intel.c
-@@ -0,0 +1,448 @@
+@@ -0,0 +1,453 @@
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <stdint.h>
@@ -565,6 +565,11 @@ index 0000000..eb0b9c0
 +        IntelPitch = intel_get_reg(REG_DR_DSPASTRIDE);
 +        IntelX = ((intel_get_reg(REG_DE_PIPEASRC) >> 16) & 0xfff) + 1;
 +        IntelY = (intel_get_reg(REG_DE_PIPEASRC) & 0xfff) + 1;
++
++        if (!guest_framebuffer)
++            intel_force_linear(0);
++        memset((uint8_t *)(intel_mem + intel_get_reg(REG_DR_DSPASURF)), 0,
++                IntelX * IntelY * 4);
 +    }
 +    vga_hw_invalidate();
 +    vga_hw_update();