diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/ui/sdl2-2d.c | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/ui/sdl2-2d.c')
-rw-r--r-- | qemu/ui/sdl2-2d.c | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/qemu/ui/sdl2-2d.c b/qemu/ui/sdl2-2d.c deleted file mode 100644 index 95930061e..000000000 --- a/qemu/ui/sdl2-2d.c +++ /dev/null @@ -1,161 +0,0 @@ -/* - * QEMU SDL display driver - * - * Copyright (c) 2003 Fabrice Bellard - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -/* Ported SDL 1.2 code to 2.0 by Dave Airlie. */ - -#include "qemu/osdep.h" -#include "qemu-common.h" -#include "ui/console.h" -#include "ui/input.h" -#include "ui/sdl2.h" -#include "sysemu/sysemu.h" - -void sdl2_2d_update(DisplayChangeListener *dcl, - int x, int y, int w, int h) -{ - struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl); - DisplaySurface *surf = qemu_console_surface(dcl->con); - SDL_Rect rect; - - assert(!scon->opengl); - - if (!surf) { - return; - } - if (!scon->texture) { - return; - } - - /* - * SDL2 seems to do some double-buffering, and trying to only - * update the changed areas results in only one of the two buffers - * being updated. Which flickers alot. So lets not try to be - * clever do a full update every time ... - */ -#if 0 - rect.x = x; - rect.y = y; - rect.w = w; - rect.h = h; -#else - rect.x = 0; - rect.y = 0; - rect.w = surface_width(surf); - rect.h = surface_height(surf); -#endif - - SDL_UpdateTexture(scon->texture, NULL, surface_data(surf), - surface_stride(surf)); - SDL_RenderCopy(scon->real_renderer, scon->texture, &rect, &rect); - SDL_RenderPresent(scon->real_renderer); -} - -void sdl2_2d_switch(DisplayChangeListener *dcl, - DisplaySurface *new_surface) -{ - struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl); - DisplaySurface *old_surface = scon->surface; - int format = 0; - - assert(!scon->opengl); - - scon->surface = new_surface; - - if (scon->texture) { - SDL_DestroyTexture(scon->texture); - scon->texture = NULL; - } - - if (!new_surface) { - sdl2_window_destroy(scon); - return; - } - - if (!scon->real_window) { - sdl2_window_create(scon); - } else if (old_surface && - ((surface_width(old_surface) != surface_width(new_surface)) || - (surface_height(old_surface) != surface_height(new_surface)))) { - sdl2_window_resize(scon); - } - - SDL_RenderSetLogicalSize(scon->real_renderer, - surface_width(new_surface), - surface_height(new_surface)); - - switch (surface_format(scon->surface)) { - case PIXMAN_x1r5g5b5: - format = SDL_PIXELFORMAT_ARGB1555; - break; - case PIXMAN_r5g6b5: - format = SDL_PIXELFORMAT_RGB565; - break; - case PIXMAN_x8r8g8b8: - format = SDL_PIXELFORMAT_ARGB8888; - break; - case PIXMAN_r8g8b8x8: - format = SDL_PIXELFORMAT_RGBA8888; - break; - default: - g_assert_not_reached(); - } - scon->texture = SDL_CreateTexture(scon->real_renderer, format, - SDL_TEXTUREACCESS_STREAMING, - surface_width(new_surface), - surface_height(new_surface)); - sdl2_2d_redraw(scon); -} - -void sdl2_2d_refresh(DisplayChangeListener *dcl) -{ - struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl); - - assert(!scon->opengl); - graphic_hw_update(dcl->con); - sdl2_poll_events(scon); -} - -void sdl2_2d_redraw(struct sdl2_console *scon) -{ - assert(!scon->opengl); - - if (!scon->surface) { - return; - } - sdl2_2d_update(&scon->dcl, 0, 0, - surface_width(scon->surface), - surface_height(scon->surface)); -} - -bool sdl2_2d_check_format(DisplayChangeListener *dcl, - pixman_format_code_t format) -{ - /* - * We let SDL convert for us a few more formats than, - * the native ones. Thes are the ones I have tested. - */ - return (format == PIXMAN_x8r8g8b8 || - format == PIXMAN_b8g8r8x8 || - format == PIXMAN_x1r5g5b5 || - format == PIXMAN_r5g6b5); -} |