Age | Commit message (Collapse) | Author | Files | Lines |
|
vigs_server_update_display may update DisplaySurface,
so vigs_hw_update must fetch it again
Change-Id: Iaabe9be4d3467d96a0b8c5360360437bc9dbb2a2
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
|
|
yagl_server.c
Add a null-pointer checking statement
yagl_device.c & vigs_gl_backend.c
Remove statements that is not used, because the conditions cannot be true.
Change-Id: Iee478bf6caafe5dab352f26afc4c3ac1413f6ef4
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
|
|
GLESv3 merge version bump
Change-Id: Ic270b317b943ff082a4c1580845cc01a8a655173
|
|
Change-Id: I42617a10c8cfc7535aefd633d9d95571c5106804
|
|
We need to use 120 shaders when in legacy mode and
140 shaders when in GL3 mode
Change-Id: Ic9cd8aee5a9dd936c57f40c9d255f7497f158c45
|
|
On windows we use WGL_ARB_create_context for that
Change-Id: Ib032f4dc45d36d50b1af440f71d8d97ba5eb950a
|
|
Change-Id: Ib6e053a9680832c1651798f688d74ce4f47c98fb
|
|
glBufferSubData is broken on windows, it cannot be used to
subsequently replace part of buffer data between drawing
calls, so use glMapBufferRange instead. If glMapBufferRange
is not available then use glFinish + glBufferSubData to
guarantee synchronization
Change-Id: Ic9ff0ad0ca0f18f38c92dddfc382e504b3573761
|
|
AGL is a deprecated API and it doesn't
allow one to create OpenGL 3.2 contexts, so
use CGL instead
Change-Id: Iaa63fee0aeda7348c256f177b3a96b10142870d4
|
|
VIGS and YaGL should use the same env variable,
so that they could create compatible contexts
Change-Id: Ibe63f5d8abdb281a71f62118af0d0413ea8c8a7d
|
|
We've reimplemented everything using shaders
and VBOs, since this is the only way to go
in OpenGL 3.1+ core
Change-Id: I7a6787c74910e52fe06242499535d1be9137b3ef
|
|
We introduce new method to winsys_surface - draw_pixels,
some winsys_interface users just want to write raw pixel data
to surfaces, they don't care if it's OpenGL texture
or some memory chunk or something else, so we provide
a generic way to write pixel data to winsys surfaces
Change-Id: I9d2e2ac17c88ea844c02d2160986c44642285735
|
|
We now support up to 2 hardware planes
with z-ordering and scaling. This patch also
adds surface scanout flag support. Surface scanout
flag is used as a hint that helps the host to decide
how to process the surface - either upload it to texture
or continously scanout data out of surface's VRAM
Change-Id: Ia5ac6014cfd0b49f80c4593763ee86966cf23c2a
|
|
It's incorrect to have vblank enable/disable flag
in INT register, it can cause fence ack losses, consider
the following scenario:
1. Fence interrupt is set on host, fence_pending bit is
set in INT register
2. vblank is turned off on guest, INT register is being
written to and since fence_pending bit is 1 it's
CLEARED on host
3. Now guest handles fence IRQ, but fence_pending bit
is 0, thus, fence ack is lost
The solution is to have separate register - CON and
vblank enable/disable bit should be there
Change-Id: I1ff97d4cf8cddaec65dfe9d4c1afef3d901b4825
|
|
Conflicts:
hw/vigs/vigs_gl_backend_glx.c
hw/yagl/yagl_apis/gles/yagl_gles_calls.c
hw/yagl/yagl_backends/egl_offscreen/yagl_egl_offscreen_context.c
hw/yagl/yagl_backends/egl_onscreen/yagl_egl_onscreen_surface.c
hw/yagl/yagl_inc/GLES/egl.h
hw/yagl/yagl_inc/GLES/gl.h
hw/yagl/yagl_inc/GLES/glext.h
hw/yagl/yagl_inc/GLES/glplatform.h
hw/yagl/yagl_inc/GLES2/gl2.h
hw/yagl/yagl_inc/GLES2/gl2ext.h
hw/yagl/yagl_inc/GLES2/gl2platform.h
hw/yagl_apis/gles/yagl_gles_api_ts.c
hw/yagl_apis/gles/yagl_gles_api_ts.h
hw/yagl_drivers/gles_ogl/yagl_gles_ogl.h
hw/yagl_egl_backend.c
hw/yagl_egl_driver.c
hw/yagl_egl_interface.h
hw/yagl_gles_driver.c
hw/yagl_transport.c
hw/yagl_transport.h
hw/yagl_types.h
hw/yagl_version.h
Change-Id: Icc72fbe2ff253ae282d3f2972e216b1fc42c1b02
|
|
With some GPUs (like Intel HD Graphics 2000) glDrawPixels
with glPixelZoom doesn't work very well, it may do
software fallback or produce ban rendering, so it's
better to use glTexSubImage2D
Change-Id: I827f0985d558493067954a95c05e227dc064fe88
|
|
On Mac OS X glReadPixels with GL_UNSIGNED_BYTE may introduce stalls
even when it's used with PBO, so use
GL_UNSIGNED_INT_8_8_8_8_REV - it's the same
thing and it doesn't stall glReadPixels
Change-Id: I40ae1981579b3596f42f9a22604fd3d7fad8e335
|
|
With some GPUs (like Intel HD Graphics 2000)
GL_PACK_ALIGNMENT == 4 may introduce glReadPixels stalls even when
it's used with PBO, so use GL_PACK_ALIGNMENT == 1 - it's the same
thing and it doesn't stall glReadPixels
Change-Id: Id34e7f0d00a9e65813859b4e9ad931db7149fa0d
|
|
On somy GPUs like Intel HD Graphics 2000 glReadPixels is too
slow, so we use so called asynchronous version of
glReadPixels - it uses PBO for pixel storage and separate work
queue to read back results
Change-Id: I43f30daf57166a30cecf356fa2170da640de1ae3
|
|
We now use multicore rendering, i.e. we offload all
rendering to a separate thread and use fences to wait
until certain parts of it are complete
Change-Id: I9e3f31d07d0a7e575e73996d7762f3a0300ca83d
|
|
|
|
GPUs like Intel HD Graphics 2000 and some ATI cards may crash
when using wglMakeContextCurrentARB when draw_sfc == read_sfc. We
work around this by using wglMakeCurrent in this case
Change-Id: I80735a546d6e506ecc3581a5e78fdc8e04f3a95c
|
|
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Conflicts:
VERSION
block/cow.c
block/raw-win32.c
block/stream.c
block/vmdk.c
blockdev.c
exec.c
hw/i386/pc_piix.c
hw/scsi/scsi-bus.c
include/qom/cpu.h
include/sysemu/kvm.h
qemu-img.c
tcg/tcg.c
tcg/tcg.h
vl.c
Change-Id: Ib8de93ad2c05150934e17e63d7f8e90ffdfccc62
|
|
Though we use single host thread for all OpenGL operations
it's still not guaranteed that commands in different contexts will
be processed in order, thus, single glFinish in VIGS will not wait
for GL commands to be processed in YaGL. Because of this contents
of windows on target may appear incomplete, this was observed on
Mac OS X in particular. glFinish will reduce performance, but it'll
ensure correct rendering. Later we'll implement another approach
that'll use GL fences in order not to wait for rendering to be
completed
Change-Id: I4eae90b73f4d66cd8c7fa1939db1c18ad9751051
|
|
Make new directories for each module in the hw directory
, move the sources and add makefiles.
Change-Id: Ife82c2770f6ae8917c854d70e8b89c44edbc1e9c
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
|