summaryrefslogtreecommitdiff
path: root/hw/vigs
AgeCommit message (Collapse)AuthorFilesLines
2018-06-20VIGS: add h/w conversion from ARGB to XBGRVladislav Andresov2-9/+172
Change-Id: I8def07093fce07cf6f1e19d6319ea5468f8a8a35 Signed-off-by: Vladislav Andresov <v.andresov@partner.samsung.com>
2017-11-21VIGS: Add support of hardware YUV420 conversionVladislav Andresov1-1/+208
For perfomance reasons this patch implements shader conversion on GPU for YUV420 surfaces into ARGB8888 format. This way takes much less time than software conversion. Change-Id: I03e110ed20651f5df233361d0456e433a1b61ef3 Signed-off-by: Vladislav Andresov <v.andresov@partner.samsung.com> Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2017-08-25VIGS: Implement hardware surface convertion cmdVladislav Andresov7-3/+139
Currently it is used only to y-invert surfaces. Proper format conversion is still to be implemented later. Change-Id: I07aa288d67d411bdb710d0255824883dabe378e9 Signed-off-by: Vladislav Andresov <v.andresov@partner.samsung.com> Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2016-12-09display: W/A for OpenGL context version mismatchJinhyung Jo2-4/+4
Now, VIGS & Qt5 GUI use the OpenGL 3.2 core profile. Later, we must solve this issue in the right way. TODO: - Improve the check GL version related function in VIGS. - Add check GL version function to the Qt5 GUI. - Add feature to match the verified GL version of Qt5 GUI and VIGS. Change-Id: I9d225c69ba9ab55a7b65ff9affa5633ed4462092 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2016-12-02display: fix blinking display issue with OpenGL 2.1Jinhyung Jo4-33/+97
Use the texture arrays to avoid collisions. The glBufferSubData function makes the display blink with OpenGL verion 2.1 have no glMapBufferRange support. The glMapBuffer function helps to solve this problem. Use the Qt5 class API(QOpenGLShaderProgram) instead of the OpenGL API. That's a little clearer and better to watch. Use multiple buffering to avoid performance degration. Change-Id: I819a52f7e0db5accded86b71c8a15fa1a9e65e28 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com> Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-12-02Revert "Revert "display: move display functionality to Qt5 GUI""Jinhyung Jo10-791/+125
This reverts commit f569c289168ec579bcb62231d2572a80be5d6d52. Conflicts: tizen/src/ui/mainwindow.cpp tizen/src/ui/qt5_supplement.cpp Change-Id: Iad8ebbf7c35e42f8bfd034a1ab932e011fe60ed4 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2016-11-09Merge branch 'develop' into develop_qemu_2.7SeokYeon Hwang1-0/+3
Change-Id: If718c77de19a889746a25a2dd51881dce52ef4b4 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-10-04Revert "display: move display functionality to Qt5 GUI"Jinhyung Jo10-125/+791
With AMD GPUs, reverted commit makes a ciritical bug that GUI is invisible. This reverts commit 99ffcba1997dade13316bd09023f93597db0f2df. Conflicts: tizen/src/ui/displayglwidget.cpp tizen/src/ui/qt5_supplement.cpp Change-Id: Ie5b4655bdf1beb228c788dd7dc874bb6f1cba63c Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2016-09-12Merge tag 'v2.7.0' into develop_qemu_2.7SeokYeon Hwang5-1/+8
v2.7.0 release Change-Id: Id5feb5a9404ab064f9ea3d0aa0d95eef17020fa3 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-09-12Merge branch 'features/newscreen' into developJinhyung Jo10-791/+128
Conflicts: tizen/src/ui/qt5_supplement.cpp Change-Id: Icd310f98594684aa96142b1a7c1af767d3cb16c5 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2016-09-08display: move display functionality to Qt5 GUIJinhyung Jo10-791/+128
Qt5 GUI paints final display with all processing, not in VIGS. The followings are in this commit. - VIGS: remove the code about display rendering - VIGS: modify the code about onscreen rendering server - VIGS: add functions to delivery the texture id to Qt5 UI - Qt5 UI: change the deprecated classes to the new classes - Qt5 UI: add OpenGL rendering functionality - Qt5 UI: fix the transparent issue with OpenGL - Qt5 UI: bug fix caused by image formats - etc. : minor modifications Change-Id: I39471237b5d526751fac95e9fe88f05f6939142c Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2016-07-26Merge branch 'develop' into develop_qemu_2.6SeokYeon Hwang1-0/+28
Change-Id: Iedd4489f6321fa251bd7cbe917e258cd1f60f21d Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-07-11vigs: add vblank emulation for headless emulatorSeokYeon Hwang1-0/+28
Change-Id: Iac85fa67399b51890bfb54c37698f56f2ef40468 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-06-21package: make it buildableSeokYeon Hwang7-0/+8
Follow-up header modification. (commit 90ce6e2644db2c47d72f364b4de57342e50bd10a) Follow-up virtio API modification. (commit 51b19ebe4320f3dcd93cea71235c1219318ddfd2) Change-Id: Ia7b5c2a25b6ad597ba0f506fc616a67984eae6e9 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2016-01-06gui: delete deprecated SWT GUIGiWoong Kim1-4/+0
- maru_sdl, maru_shm options - related source code Change-Id: I5d2444982753e909170af6b5a15eb688d916eadf Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
2015-10-20VIGS: Enabling NVidia GPU on Optimus systemsJinhyung Jo1-0/+3
Add global variable NvOptimusEnablement for the NVidia GPU. It can run with Release 302 driver or later. Add global vatiable AmdPowerXpressRequestHighPerformance for the AMD GPU. It can run with 13.35 driver or later. Change-Id: Ia917d46dd466fbfa2260c8013dab6baa7ffbb803 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com> Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2015-09-09Merge branch 'tizen_3.0_qemu_2.4' into tizen_3.0_developSeokYeon Hwang4-0/+162
Change-Id: Id041f1c920109207df64105feabf237dba5cbe37 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2015-08-26VIGS: add draw_pixels_scaled to winsys interfaceVasiliy Ulyanov4-0/+162
Needed to render images with custom dimensions scaled to a surface width and height. Change-Id: I69b34fe60e3075cfcd66202217a1416eb17c3a8f Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-08-25upstream: some API was renamed and renewedSeokYeon Hwang1-2/+2
Change-Id: I6ec4c1eb026574b8a2ac96bdb128e84145aa16af Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2015-07-30VIGS/YaGL: Modified the logging formatjinhyung.jo1-32/+32
Adjust the format of the tizen devices. Change-Id: I19502e3a030be6a60c472f3d48369e8ab35681e2 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2015-07-14VIGS: Inform the GL version currently used.jinhyung.jo1-0/+7
It output only the logs when using the GL backend. Change-Id: I570e57004269b36beec5e034030bc2ef059638e6 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2015-07-06VIGS/YaGL: gl_version property addedjinhyung.jo5-30/+33
Modified to use the device property instead of using the environment variable, GL_VERSION. Change-Id: I16eaa1b5d4775bf45fe7eb38c6a980c031a55768 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2015-07-03VIGS: clear color before compositing dpy imageVasiliy Ulyanov1-0/+3
Needs to be done to avoid artifacts with underlays (e.g. when bottom plane does not fit the whole screen and the root surface has alpha enabled). Change-Id: I58b1f3c98a9a6dac5042118441a553de23283491 Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-07-01VIGS: bind multitouch points to window coordinatesMunkyu Im2-10/+15
It seems a better solution than using guest coordinates since we no more need to take any special care about preserving mt points size (i.e. scaling/rotation stuff). Change-Id: I35243954dc9ac1e189c7eed9beec29e80d67dd0c Signed-off-by: Munkyu Im <munkyu.im@samsung.com> Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-06-16VIGS: make more strict GLX FBConfig choosingVasiliy Ulyanov1-0/+10
Certain GPUs (e.g. AMD) have several configs with identical IDs. Hence additional attributes need to be specified. Change-Id: Id60b9f44ed0e529dea9f07acca2ef5f5034d6528 Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-06-09VIGS: add multitouch points display overlayVasiliy Ulyanov3-0/+105
Currently it is a draft. There is a need to implement a generic interface for rendering on top of the main emulator display. Change-Id: Iaa06e9c8bc969d51be8d43180a86a2b50d5d19bc Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-05-14VIGS: add synchronous glReadPixels fallbackVasiliy Ulyanov2-2/+12
On some GPUs accessing OpenGL objects from different threads may lead to a deadlock inside the host video driver (e.g. AMD Radeon FGLRX). To workaround this problem new env var has been introduced: VIGS_SYNC_READ_PIXELS. It makes VIGS use a single work_queue for both rendering and pixels reading. Change-Id: Ib929fb41333233e928659dd7829875fb96a4370e Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-04-16VIGS: Modified the screen capture functionjinhyung.jo1-1/+4
Added the brightness composite routine. Change-Id: Ib81a032a07b8bae21c11bb63fc6cc94f7762466d Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2015-04-15display: Added new features to the Qt5 UIjinhyung.jo2-6/+4
1. Additional parameters to select a rendering mode -display maru_qt,rendering=<onscreen/offscreen> 2. Implemented brightness & rotation, scaling features in the offscreen mode Change-Id: I00169dde7f23ed16acb5426a073a144820d1cb67 Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2015-03-26screenshot: screenshot handling while display initializingGiWoong Kim1-1/+3
Emulator makes a black screen shot image for screenshot window if root surface has not been ready yet in VIGS. Change-Id: I72eeb10bff06f1bb892436dfff53863c9bf03d64 Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
2015-02-09VIGS: add new plane for cursor supportVasiliy Ulyanov2-3/+6
Change-Id: Ife6bd3219ecd338ccec1b35f00f912ae5cc35e44 Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
2015-01-20Direct Rendering: New feature addedjinhyung.jo20-406/+1949
Modified the vigs & the yagl device for the direct rendering Added Qt5 UI for the direct rendering This is a compressed many commits produced by several authors below into one. Change-Id: I455f607c363851c57d0a250f1220ede6027e1ea0 Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com> Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com> Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com> Signed-off-by: SungMin Ha <sungmin82.ha@samsung.com> Signed-off-by: hyunjin816.lee <hyunjin816.lee@samsung.com> Signed-off-by: Munkyu Im <munkyu.im@samsung.com> Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com> Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2014-12-10Merge 'v2.2.0' into tizen_next_qemu_2.2SeokYeon Hwang1-10/+2
v2.2.0 release Conflicts: blockdev.c configure cpu-exec.c exec.c hw/Makefile.objs hw/i386/pc_piix.c qom/object.c target-i386/translate.c util/oslib-posix.c util/oslib-win32.c vl.c xen-hvm.c Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com> Change-Id: I0f708eddfb51b98b9a7453e6e92f20c90a8b5aaf
2014-10-21VIGS & YaGL: Fixed the incorrect conditionjinhyung.jo1-1/+1
Fix a wrong variable name, dobj -> wqobj. Change-Id: I7dbd5e110e747343aeefb29c23ab4d28d35c873b Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
2014-08-22VIGS: Implement plane flip/rotateStanislav Vorobiov6-6/+138
Planes can now be horizontally/vertically flipped and rotated by 90, 180 or 270 degrees Change-Id: Icfd4f0b59e86cad6ec1ec4990aa280a8dcd135a7 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-08-21VIGS: Fix texture fetch for GL3Stanislav Vorobiov1-5/+5
Should be texture, not texture2D Change-Id: Ia4ba1ce99a6afa7e786f8ef6a7176eeba76cc504 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-08-21VIGS: Disable blending by defaultStanislav Vorobiov1-0/+2
Change-Id: Ib2d9f4bdbfe76be58964c78e7c8da958bdd71630 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-08-19VIGS: Support YUV420 planar formatStanislav Vorobiov4-4/+213
Change-Id: If015f4e6fece5c2d1463c0428565ad3e46083a5d Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-08-19VIGS: Support planar pixel formatsStanislav Vorobiov14-77/+612
Planar pixel formats such as NV21 need to be supported in order to be able to play video right from decoder's output buffer, i.e. without converting it to RGB. This is implemented via fragment shader that takes Y and CbCr channels from two different textures and combines them into a single RGB image Change-Id: Ic4ba78fda7f077a05c1524313a31b1ba79e46f72 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-08-19VIGS: Support underlays and alpha blendingStanislav Vorobiov5-82/+140
z-pos of planes has new meaning, if it's >= 0 - plane is an overlay, i.e. it's layered above root surface. if z-pos is < 0 - plane is underlay, i.e. it's layered beneath the root surface. This new logic has no meaning without alpha blending, so it's supported as well (for all types of planes) Change-Id: I61a80b48a1ef6c486fc83d0190d0bd5c1b7d4472 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-07-18display: fix compilation error when SDL and SHM are both disabledSeokYeon Hwang1-0/+1
Change-Id: Ie49c216469197a53383ef1f5403934c252122272 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2014-06-23YaGL/VIGS: QOM'ifyStanislav Vorobiov9-111/+422
YaGL and VIGS devices can now be created entirely from QEMU command line, it's also possible to tweak all their parameters via QEMU command line and even have 2 or more separate instances Change-Id: Ic1ae18f9ac6078f872d28519443e17974abefe82 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-06-23VIGS: move winsys headersStanislav Vorobiov2-0/+62
Change-Id: I86df47eb3d88038c373b44e450ef1174b39dc782 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-06-20yagl/vigs: quick fixes for upstreamStanislav Vorobiov1-20/+60
New options for YaGL, VIGS is introduced. -device vigs,backend=[backend] -device yagl Old options are still available. Change-Id: I8c19bde6fb66dbb75f9aaee434a8bc98160048fd Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com> Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2014-05-29YaGL/VIGS: Fix GL frambuffer functions lookupStanislav Vorobiov3-29/+59
With recent host OpenGL drivers (such as mesa 9.2.1) functions like glFramebufferXXXEXT no longer work right from within OpenGL 3.1+ contexts, glFramebufeerXXX (no EXT suffix) functions must be used instead Change-Id: I78525de16868bd65d3e30c6d0518ddae3dbb28df Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-05-13YaGL/VIGS: GLESv3 workarounds for Mac OS X 10.7Stanislav Vorobiov1-0/+24
Mac OS X 10.7 supports OpenGL 3.2, however, it doesn't have all the necessary functions implemented in order to implement GLESv3 on target. This workaround checks for some mandatory functions and if at least one of them is not present - we revert back to OpenGL 2.1. A nicer fix would be checking for OpenGL functions globally, not in CGL backend, this is a TODO Change-Id: I9c0acce3220af9ed7276a8586fa18b97d8223079 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-04-21vigs: fix compilation errorsSeokYeon Hwang5-2/+155
1. Some qemu function prototype modification. graphic_console_init() qemu_thread_create() 2. A "work_queue.c" is moved to "vigs". Change-Id: I066734b08bb8ad59aeb5afb67049065048bcdd63 Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
2014-04-15VIGS: Add framebuffer and temporary texture poolStanislav Vorobiov5-29/+427
In order not to waste host GPU resources we now have 2 OpenGL object pools - for temporary textures and for framebuffers. These used to be allocated for every surface, but now we allocate only one object per distinct format, i.e. one object per (width, height, format) tuple Change-Id: Ie63e571045a2477043e8e08da3a50765523e54fc Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
2014-04-14display: Add dirty flag for displayGiWoong Kim6-17/+45
At idle screen moment, there is no need to copy framebuffers to the display. Change-Id: I4006e5732de947ce1617161182ca901b179c9423 Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com> Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
2014-03-25Merge "VIGS: Fix bad DisplaySurface access" into tizenSeokYeon Hwang1-0/+6