platform/adaptation/emulator/emulator-yagl.git
9 years agoRevert "YaGL: Workaround for libevas gles version check" 45/45645/1 tizen_3.0.m1_mobile tizen_3.0.m1_tv accepted/tizen/mobile/20150810.080518 accepted/tizen/tv/20150810.080541 accepted/tizen/wearable/20150810.080559 submit/tizen/20150810.071326 submit/tizen_common/20151023.083358 submit/tizen_common/20151026.085049 tizen_3.0.m1_mobile_release tizen_3.0.m1_tv_release tizen_3.0.m2.a1_mobile_release tizen_3.0.m2.a1_tv_release
Vasiliy Ulyanov [Fri, 7 Aug 2015 15:52:28 +0000 (18:52 +0300)]
Revert "YaGL: Workaround for libevas gles version check"

This workaround appears no longer needed since the corresponding
fix has been applied to libevas. Besides it seems to cause
problems with cairo.

This reverts commit 1a1d13934f4bad7b779cd6093c0f00cc9f36ec03.

Change-Id: Iad9af1b3bcd6c2756963ebd0e10e97879245d496
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Modified the .spec & COPYING files. 38/45338/1
jinhyung.jo [Fri, 31 Jul 2015 07:57:30 +0000 (16:57 +0900)]
YaGL: Modified the .spec & COPYING files.

Modified to provide the correct license information.

Change-Id: Ie0689f070e6e6162132c07df6603a721c3fca453
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Updating the EGL header files 37/45337/1
jinhyung.jo [Tue, 21 Jul 2015 02:41:05 +0000 (11:41 +0900)]
YaGL: Updating the EGL header files

Update EGL header files to the version of May 2015, EGL spec 1.5.

Change-Id: Ifc7ba9cadebb0b229f1d1ee72171e241d2801a0a
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: mark eglMakeCurrent call as 'flushing' 36/45336/1
Vasiliy Ulyanov [Wed, 1 Jul 2015 07:49:30 +0000 (10:49 +0300)]
YaGL: mark eglMakeCurrent call as 'flushing'

According to EGL spec the currently bound context needs
to be flushed before being released or another context
is made current.

Without flushing we may miss some GL calls if there are
several threads rendering to a single context.

Change-Id: Id6680a086d895ba94b4c279b18443d93017838d1
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: keep at least 2 back buffers for dri3 drawables 35/45335/1
Vasiliy Ulyanov [Tue, 23 Jun 2015 13:53:20 +0000 (16:53 +0300)]
YaGL: keep at least 2 back buffers for dri3 drawables

With only one back buffer available the rendering freezes

Change-Id: I9b2cdbeddf4786bc57bef997574d606a15ebf4cb
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Avoid clamping with floating point textures 34/45334/1
Vasiliy Ulyanov [Thu, 11 Jun 2015 10:11:28 +0000 (13:11 +0300)]
YaGL: Avoid clamping with floating point textures

We need to pass the proper dst_internalformat to the host when
using a texture with floating-point components in glTexImage2D.

Change-Id: Ia588a6e84ad5e359d3ed6d6eaf7d8769569acc38
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Modified the startup script 33/45333/1
jinhyung.jo [Thu, 18 Jun 2015 02:19:59 +0000 (11:19 +0900)]
YaGL: Modified the startup script

Checks the device node instead of the kernel command

Change-Id: Ib14005a53dd989419b8c49ec72600f107af1ab50
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Add program link status check 32/45332/1
Vasiliy Ulyanov [Tue, 9 Jun 2015 16:06:21 +0000 (19:06 +0300)]
YaGL: Add program link status check

According to the OGLES2.0 spec:

    void UseProgram(uint program);

If program has not been successfully linked, the error
INVALID_OPERATION is generated and the current rendering
state is not modified.

Change-Id: I481a494c210e76ee4db319ae569d3491ade1d35a
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Generate error for rectangular cubemap images 31/45331/1
Vasiliy Ulyanov [Tue, 9 Jun 2015 15:53:47 +0000 (18:53 +0300)]
YaGL: Generate error for rectangular cubemap images

According to the OGLES2.0 spec:

    void TexImage2D(enum target, int level,
                    int internalformat, sizei width, sizei height,
                    int border, enum format, enum type, void *data);

When the target parameter to TexImage2D is one of the six cube map
two-dimensional image targets, the error INVALID_VALUE is generated
if the width and height parameters are not equal.

Change-Id: Ideb9172fa721cd7c92d1ef98a397d9fe48690e66
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Fix yagl_get_gles2_sym(...) resolution order 30/45330/1
Vasiliy Ulyanov [Tue, 9 Jun 2015 15:35:09 +0000 (18:35 +0300)]
YaGL: Fix yagl_get_gles2_sym(...) resolution order

dlsym(NULL, ...) may return a valid pointer to a local symbol. We
need to search it in libGLESv2 explicitly first.

Change-Id: I6200679d7b69444798d3feeb77b685e2772eb3a7
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Fix incorrect texture object release 29/45329/1
Vasiliy Ulyanov [Mon, 1 Jun 2015 06:54:06 +0000 (09:54 +0300)]
YaGL: Fix incorrect texture object release

EGL_KHR_gl_texture_2D_image: texture object is acquired in
yagl_gles_image_wrap_tex(...). Hence the release should be performed
in the corresponding destructor (i.e. yagl_gles_image_destroy(...)).

Change-Id: I92aaf0a4368201453e022859f4c52cdeb103af06
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Workaround for libevas gles version check 28/45328/1
Vasiliy Ulyanov [Thu, 28 May 2015 11:03:23 +0000 (14:03 +0300)]
YaGL: Workaround for libevas gles version check

Change-Id: Ieac95a502e98b516e1870d5ea38513931a19881b
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agobuild: enable the x86_64 build 51/42851/1 accepted/tizen/mobile/20150713.013324 accepted/tizen/tv/20150713.013331 accepted/tizen/wearable/20150713.013339 submit/tizen/20150712.051840
Sooyoung Ha [Fri, 3 Jul 2015 05:47:08 +0000 (14:47 +0900)]
build: enable the x86_64 build

Change-Id: I0c704d04835972410eb92798b8053656b8a7afe8
Signed-off-by: Sooyoung Ha <yoosah.ha@samsung.com>
9 years agopackaging: only build for emulator repositories 53/40053/1 tizen_3.0.2015.q2_common accepted/tizen/common/20150602.115917 accepted/tizen/mobile/20150602.130624 accepted/tizen/tv/20150602.130645 accepted/tizen/wearable/20150602.130610 submit/tizen/20150602.060514
Stephane Desneux [Thu, 28 May 2015 08:46:55 +0000 (10:46 +0200)]
packaging: only build for emulator repositories

This package should only be built when _with_emulator is defined in project conf.

Change-Id: If9a489968d5fc483de1f51c5d9e1fa39534ebcdf
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
9 years agoYaGL: Fix EGL extensions string submit/tizen/20150528.052613
Vasiliy Ulyanov [Tue, 26 May 2015 09:20:58 +0000 (12:20 +0300)]
YaGL: Fix EGL extensions string

Change-Id: I03dbadfbe7760586a7c9c2e3d2995a56580bc894
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Fix gl_PointSize shader variable issue
Vasiliy Ulyanov [Thu, 21 May 2015 13:53:56 +0000 (16:53 +0300)]
YaGL: Fix gl_PointSize shader variable issue

If GL_POINT_SPRITE is not enabled explicitly gl_PointSize shader
variable appears to be always 0.

Change-Id: I8198a0586467eb3f341a330afaddd6d3a263a617
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Add EGL_TIZEN_image_native_surface support
Vasiliy Ulyanov [Thu, 7 May 2015 13:45:39 +0000 (16:45 +0300)]
YaGL: Add EGL_TIZEN_image_native_surface support

eglCreateImageKHR(...) now supports EGL_NATIVE_SURFACE_TIZEN
target (onscreen backend only)

Change-Id: I9ac7016cb3f0c05d7c35a31135506142c22bcb0c
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Add EGL_KHR_gl_texture_2D_image support
Vasiliy Ulyanov [Mon, 18 May 2015 12:53:58 +0000 (15:53 +0300)]
YaGL: Add EGL_KHR_gl_texture_2D_image support

eglCreateImageKHR(...) now supports EGL_GL_TEXTURE_2D_KHR
target (onscreen backend only)

Change-Id: Ie41c494246237ce79e36fde63b49bb7cf876737b
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Added the boilerplate
jinhyung.jo [Thu, 21 May 2015 02:08:24 +0000 (11:08 +0900)]
YaGL: Added the boilerplate

Added a boilerplate to the DRI3 EGL backend

Change-Id: I1c7d2f8982af07f0926ab116435504ca46867932
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Fix hangling of GL_QUERY_RESULT flag
Vasily Golubev [Thu, 21 Aug 2014 11:24:50 +0000 (15:24 +0400)]
YaGL: Fix hangling of GL_QUERY_RESULT flag

In the case of calling glGetQueryObjectuiv() with
GL_QUERY_RESULT flag we must wait while passed
samples counter will be available

Change-Id: Ieff4d40c475e7738a4028f1d49c0725be9ea6e8a
Signed-off-by: Vasily Golubev <v.golubev@samsung.com>
9 years agoYaGL: Fix eglQueryContext(...) return value
Vasiliy Ulyanov [Mon, 18 May 2015 10:26:45 +0000 (13:26 +0300)]
YaGL: Fix eglQueryContext(...) return value

Now it returns EGL_TRUE on success

Change-Id: I16aecdd4b2f1f2456978b2b8f24dcea323333692
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: implement DRI3 EGL backend
Vasiliy Ulyanov [Tue, 31 Mar 2015 14:59:22 +0000 (17:59 +0300)]
YaGL: implement DRI3 EGL backend

Change-Id: Ia9def69b3394f5b9ae9151e5e80e946ef23c6e67
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
9 years agoYaGL: Export dummy libs symbols
jinhyung.jo [Mon, 23 Feb 2015 12:18:25 +0000 (21:18 +0900)]
YaGL: Export dummy libs symbols

Added missing attribute tags, __attribute__((visibility("default"))).

Change-Id: I3eb51f0a165b2be8baac31e651d7248a9c6b3dc4
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Modified the setup script while booting time
jinhyung.jo [Mon, 24 Nov 2014 10:28:19 +0000 (19:28 +0900)]
YaGL: Modified the setup script while booting time

Modified the setup script while booting time to obtain permission.
It will be executed when the systemd runs the xorg.service.
So, removed the service files in this repo.

Change-Id: Idc69d0ae9c69bd4e65f754f997cd4d786f0864f3
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Source cleanup
jinhyung.jo [Thu, 8 Jan 2015 08:01:10 +0000 (17:01 +0900)]
YaGL: Source cleanup

Add MIT(or LGPL3.0) boilerplate to the header of the files
Add a rule for license file in the spec file
Add LICENSE & NOTICE, AUTHOR, COPYING, etc files

Change-Id: If2b5c1c07834aaa0f463fb9f47240a2ab463eeff
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Modified packaging rules
jinhyung.jo [Thu, 8 May 2014 10:32:41 +0000 (19:32 +0900)]
YaGL: Modified packaging rules

Remove the dependency of the packages, simulator-opengl & opengl-es-virtual-drv

Change-Id: I6b8f0807df98762dc3d2391de1d1a4021f1b1ff8
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agoYaGL: Modified the startup script 35/32135/2 archives/tizen_20150513
jinhyung.jo [Tue, 16 Dec 2014 05:49:24 +0000 (14:49 +0900)]
YaGL: Modified the startup script

Checks the device node instead of the kernel command.

Change-Id: I69aa6e322eb45d22454b56199eb12ff661c16439
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
10 years agoRemove static variable for identifying wl_drm buffers 86/25086/4
Tina Zhang [Mon, 21 Jul 2014 08:50:30 +0000 (16:50 +0800)]
Remove static variable for identifying wl_drm buffers

libwayland-drm.a is static link for libEGL.so and libgbm-yagl.so.
We can't rely on comparing the address of a static vtable symbol
in libwayland-drm.a to determine if a wl_buffer is a wl_drm_buffer.
Instead, we move the vtable into the wl_drm struct and use that
for comparing.

Change-Id: I38e397f2d4806178ebb51bb3850040fad7961b0f
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
10 years agoYaGL: Block for the frame callback in lock_back not swap_buffers 65/27565/1
Tina Zhang [Tue, 16 Sep 2014 07:01:04 +0000 (15:01 +0800)]
YaGL: Block for the frame callback in lock_back not swap_buffers

If the throttle only be used in the yagl_wayland_window_swap_buffers(),
then in some situations the yagl_wayland_window_get_buffer() may get the
NULL buffer. This could let the App draw into the wrong surface.
Do throttle in the yagl_wayland_window_lock_back() will solve the problem.

Change-Id: Id1d2bc8f1c95b3c956118b36b07b20cc1615046c
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
10 years agoRevert "Remove static variable for identifying wl_drm buffers" 84/25084/1
Stanislav Vorobiov [Tue, 29 Jul 2014 06:23:14 +0000 (10:23 +0400)]
Revert "Remove static variable for identifying wl_drm buffers"

This reverts commit f19f89d68723c868e3b1d8bbf75e04cf4e1809ba.

Change-Id: Iab08ab64a0ede945298e5006cb441ea0c1d4ca4f
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoRemove static variable for identifying wl_drm buffers
Tina Zhang [Mon, 21 Jul 2014 08:50:30 +0000 (16:50 +0800)]
Remove static variable for identifying wl_drm buffers

libwayland-drm.a is static link for libEGL.so and libgbm-yagl.so.
We can't rely on comparing the address of a static vtable symbol
in libwayland-drm.a to determine if a wl_buffer is a wl_drm_buffer.
Instead, we move the vtable into the wl_drm struct and use that
for comparing.

Change-Id: I38e397f2d4806178ebb51bb3850040fad7961b0f
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
10 years agoYaGL: Don't report GL_EXT_texture_storage support 43/22343/1 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi tizen_3.0.2014.q3_common tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common tizen_3.0.m14.2_ivi tizen_3.0.m14.3_ivi tizen_3.0_ivi accepted/tizen/common/20140610.160436 accepted/tizen/ivi/20140624.123215 submit/tizen_common/20140602.082932 submit/tizen_ivi/20140602.082939 submit/tizen_ivi/20140623.104834 submit/tizen_mobile/20141120.000000 tizen_3.0.2014.q3_common_release tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release tizen_3.0_ivi_release
Stanislav Vorobiov [Mon, 2 Jun 2014 06:16:54 +0000 (10:16 +0400)]
YaGL: Don't report GL_EXT_texture_storage support

We do support glTexStorageXXX in GLESv3, however,
GL_EXT_texture_storage is different. GL_EXT_texture_storage
requires supporting a lot of additional internal formats,
which is hard to do for all possible host OpenGL
versions, especially for OpenGL 2.1. Thus, we don't report
GL_EXT_texture_storage support anymore

Change-Id: I53bc097c453afac93c42f72b018e04a4e5a7438c
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Report GL_OES_surfaceless_context support 42/22342/1
Stanislav Vorobiov [Mon, 2 Jun 2014 05:56:46 +0000 (09:56 +0400)]
YaGL: Report GL_OES_surfaceless_context support

EGL_KHR_surfaceless_context can be used only with
contexts that support GL_OES_surfaceless_context. YaGL
supports GL_OES_surfaceless_context for any kind
of context, so report this always

Change-Id: I6d515b8b6eccff8a030508f1c2f1fc12db58d520
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Don't report GL_ARB_texture_rectangle support 41/22341/1
Stanislav Vorobiov [Mon, 2 Jun 2014 05:50:54 +0000 (09:50 +0400)]
YaGL: Don't report GL_ARB_texture_rectangle support

We don't support GL_ARB_texture_rectangle, so don't report
it in extension string

Change-Id: Ib341b3cff3bd3ea70a5c70d6b3b5557d0c68d390
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoadd conditionnal build for emulator repos only 30/21630/1 accepted/tizen/ivi/20140612.112222 submit/tizen/20140528.103449 submit/tizen_common/20140523.214219 submit/tizen_ivi/20140528.131238
Stephane Desneux [Fri, 23 May 2014 18:44:04 +0000 (20:44 +0200)]
add conditionnal build for emulator repos only

Package will be excluded from build except if the %with_emulator
flag is defined in the project config.

Change-Id: I1aab2e922399bd5a36c96ee9e6956b40be381826
Bug-Tizen: TIVI-2243
Bug-Tizen: TC-9
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
10 years agoYaGL: Remove X11 dependency from EGL headers 76/20376/1 accepted/tizen/common/20140506.152918 submit/tizen/20140506.063317 submit/tizen_common/20140523.073647
Stanislav Vorobiov [Tue, 6 May 2014 06:31:42 +0000 (10:31 +0400)]
YaGL: Remove X11 dependency from EGL headers

Change-Id: I145130455797df19fbd3706b76e92fa72c65d20b
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Remove X11 dependency for wayland builds 75/20375/2 submit/tizen/20140506.061245
Stanislav Vorobiov [Tue, 6 May 2014 06:08:41 +0000 (10:08 +0400)]
YaGL: Remove X11 dependency for wayland builds

Change-Id: I1f6fdbfe354c7ee8c22ec30a5b4941be697e68a1
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix glTexImageXXX NULL pointer offset bug 60/20160/1 submit/tizen/20140428.162945
Stanislav Vorobiov [Mon, 28 Apr 2014 15:36:33 +0000 (19:36 +0400)]
YaGL: Fix glTexImageXXX NULL pointer offset bug

If we set non-0 GL_UNPACK_SKIP_XXX and call glTexImageXXX
with NULL pointer then NULL will get offset and it'll result in
guest app crash. We should offset NULL data pointer only
if unpack PBO is bound, when no unpack PBO bound we
should just calculate the size and don't offset the pointer

Change-Id: Ie921016f0245f7042393cae98f04f80300bc85a1
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Optimize glGetXXX 35/19535/1 submit/tizen/20140422.144844
Stanislav Vorobiov [Mon, 14 Apr 2014 12:13:56 +0000 (16:13 +0400)]
YaGL: Optimize glGetXXX

1. Keep track of all remaining context state, thus, glGetXXX queries
   will return state values without vmexit
2. Cache glGetXXX results on target, queries such as GL_XXX_MAX don't
   change over time, so no need to vmexit every time user wants to
   read them

Change-Id: I08de6a51b88ff70d60e6aaf1c7cf2161ea3b06b6
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Configurable behavior for glBlitFramebuffer 50/18950/1
Stanislav Vorobiov [Thu, 3 Apr 2014 11:33:48 +0000 (15:33 +0400)]
YaGL: Configurable behavior for glBlitFramebuffer

Currently minifying and magnifying blits in
glBlitFramebuffer are disabled because of host
OpenGL driver problems on many GPUs, they simply crash.
But we want to be able to enable this for
some apps that require it, thus we introduce
YAGL_MIN_MAG_BLITS environment variable.
We currently use this to run nintendo wii games
with dolphin-emu, since dolphin-emu uses minifying
glBlitFramebuffer every frame. For GameCube games however
dophin-emu doesn't use it, so they can be run as usual

Change-Id: Ie11a852bc53700231ce012938a8a531bb4e88394
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Report OpenGL ES 3.0 support in eglQueryString 59/18759/1 accepted/tizen_ivi_panda accepted/tizen/ivi/20140410.160645 accepted/tizen/ivi/panda/20140402.181503 submit/tizen/20140402.053430
Stanislav Vorobiov [Mon, 31 Mar 2014 12:12:38 +0000 (16:12 +0400)]
YaGL: Report OpenGL ES 3.0 support in eglQueryString

Change-Id: Ibf432697aa363911d911790a14df4d23c6ca46f9
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix separate depth/stencil attachments 83/18383/1 accepted/tizen/ivi/panda/20140327.194438 submit/tizen/20140327.052722
Stanislav Vorobiov [Fri, 21 Mar 2014 10:25:27 +0000 (14:25 +0400)]
YaGL: Fix separate depth/stencil attachments

Separate depth/stencil attachments are almost never
supported on desktop OpenGL, so return GL_FRAMEBUFFER_UNSUPPORTED
in this case, standard allows it

Change-Id: Ia141c1990b072dd38bc96218dc9b99a1c59211bc
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix glClientWaitSync and glGetSynciv 71/18371/1
Stanislav Vorobiov [Fri, 21 Mar 2014 09:04:38 +0000 (13:04 +0400)]
YaGL: Fix glClientWaitSync and glGetSynciv

Return proper error codes and statuses

Change-Id: Ic75f7605c3eabe8aae8074188b9669ecb7c007c3
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix buffer object unbinding 31/18331/2
Stanislav Vorobiov [Thu, 20 Mar 2014 15:24:25 +0000 (19:24 +0400)]
YaGL: Fix buffer object unbinding

When unbinding buffer object we should detach it
from all attachment points, not just the first one

Change-Id: I61dc449a6d20cbda112137ea12d8b084d6dfdeb2
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix pixel format bpp data type 30/18330/2
Stanislav Vorobiov [Thu, 20 Mar 2014 14:58:20 +0000 (18:58 +0400)]
YaGL: Fix pixel format bpp data type

Should be int, not unsigned int

Change-Id: I1a12d41addf1d5b965147078c819467dc2875109
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE query 29/18329/2
Stanislav Vorobiov [Thu, 20 Mar 2014 09:52:56 +0000 (13:52 +0400)]
YaGL: Fix GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE query

This query should fail when attachment is GL_DEPTH_STENCIL_ATTACHMENT

Change-Id: I79efaf1a075d02a0e540ce586fcfbcf3ca1764a4
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix ETC2 textures unpacking 28/18328/2
Stanislav Vorobiov [Thu, 20 Mar 2014 09:10:03 +0000 (13:10 +0400)]
YaGL: Fix ETC2 textures unpacking

ETC2 textures were unpacking incorrectly if
width or height were not multiple of block size. This
is now fixed

Change-Id: I68f249b61e285af8142115c4f7e907f66483ec78
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoYaGL: Fix sized GL_DEPTH_COMPONENT textures 27/18327/2
Stanislav Vorobiov [Thu, 20 Mar 2014 07:07:09 +0000 (11:07 +0400)]
YaGL: Fix sized GL_DEPTH_COMPONENT textures

Sized GL_DEPTH_COMPONENT textures are treated as luminance
textures in desktop OpenGL, but according to OpenGL ES 3.0
they should be red, thus, we need to swizzle them.
Also, when texture data is respecified we should unswizzle
the texture when needed

Change-Id: Ia1d5d3de860c04848a09bf84ac4a98f94466ea97
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
10 years agoMerge branch 'glesv3' into tizen 74/17374/1
Stanislav Vorobiov [Thu, 6 Mar 2014 15:32:49 +0000 (19:32 +0400)]
Merge branch 'glesv3' into tizen

Change-Id: Iccd757b9ff0096faf69619a9ff5e1344ae0cab7e

10 years agoYaGL: Version bump 64/17364/1 glesv3
Stanislav Vorobiov [Thu, 6 Mar 2014 13:49:45 +0000 (17:49 +0400)]
YaGL: Version bump

GLESv3 merge version bump

Change-Id: Ice426f2047d3669b33d75ad0d17141bb0f0ffcc1

10 years agoYaGL: Fixes for Mac OS X 15/17315/1
Stanislav Vorobiov [Thu, 6 Mar 2014 07:14:51 +0000 (11:14 +0400)]
YaGL: Fixes for Mac OS X

* glClearBufferfv must clamp floats by itself or else
  host OpenGL driver will crash
* Don't call glGetIntegerv(GL_MAX_VARYING_COMPONENTS)
* Features that are in core profile are not exposed in extension list,
  take this into account while creating our own extension list

Change-Id: Ia9d1744b3a4880a2f20ea104e94811df34f2e241

10 years agoYaGL: Don't call host's glGetIntegerv(GL_XXX_BITS) 15/17215/1
Stanislav Vorobiov [Wed, 5 Mar 2014 13:39:30 +0000 (17:39 +0400)]
YaGL: Don't call host's glGetIntegerv(GL_XXX_BITS)

GL_XXX_BITS is deprecated in OpenGL 3.1+ core, so
implement it ourselves

Change-Id: I8c44feb22350c852d9f003985d41e0bb728d00f0

10 years agoYaGL: Always strip #extension constucts 98/17198/1
Stanislav Vorobiov [Wed, 5 Mar 2014 07:12:50 +0000 (11:12 +0400)]
YaGL: Always strip #extension constucts

Just moving these to the header isn't right,
they can be enclosed in preprocessor. We can
just strip them instead, it's pretty safe thing to do

Change-Id: Idd61f3dab899c47e0cf1236cb4e971865ebfc3cc

10 years agoYaGL: Fix for texture2D, texture2DProj, etc. bias parameter 97/17197/1
Stanislav Vorobiov [Tue, 4 Mar 2014 16:01:02 +0000 (20:01 +0400)]
YaGL: Fix for texture2D, texture2DProj, etc. bias parameter

bias parameter in texture2D, texture2DProj, etc. is
only available in fragment shader

Change-Id: Ica52e929d68e114237c970623197d81b32c12098

10 years agoYaGL: Convert textures properly 96/17196/1
Stanislav Vorobiov [Tue, 4 Mar 2014 15:30:11 +0000 (19:30 +0400)]
YaGL: Convert textures properly

1. GL_ALPHA to GL_RGBA conversion is wrong after all, previous
   conversion was correct
2. GLESv1_CM should never convert textures since it always uses
   legacy host OpenGL context

Change-Id: I1b8062c85f377b32bc2f75a58ff969e83acd65d0

10 years agoYaGL: Move GLSL #extension constructs to the header 63/17163/1
Stanislav Vorobiov [Tue, 4 Mar 2014 09:04:56 +0000 (13:04 +0400)]
YaGL: Move GLSL #extension constructs to the header

If original GLSL source has #extension constructs then
we need to move them to the header, so that our own
declarations go after it

Change-Id: Id8f8f85b520fe71ad86dd618ce30c6bfb19478b5

10 years agoYaGL: Patch texture2D, texture2DProj, etc. properly 89/17089/1
Stanislav Vorobiov [Mon, 3 Mar 2014 15:27:25 +0000 (19:27 +0400)]
YaGL: Patch texture2D, texture2DProj, etc. properly

Replacing texture2D, texture2DProj, etc. with texture,
textureProj, etc. is not enough because there
might be things like this in the shader:

uniform sampler2D texture;
texture2D(texture, ...);

thus, after replacement this code will turn
into:

uniform sampler2D texture;
texture(texture, ...);

it'll lead to implementation-defined behavior in
most cases it'll just output blackness. Now we
workaround such situations by defining thunk
texture2D, texture2DProj, etc. at the top of the
shader, according to GLSL standard it's allowed
and it'll shadow builtin functions. Inside we
make a call to texture, textureProj, etc. Since
our function is just a thunk any decent GLSL
compiler will optimize it out, so no performance
penalty is introduced

Change-Id: I80449a6f9afdc17d1a6ab71e77501c84d41f3a25

10 years agoYaGL: Make glGetUniformLocation conformant again 88/17088/1
Stanislav Vorobiov [Mon, 3 Mar 2014 09:36:42 +0000 (13:36 +0400)]
YaGL: Make glGetUniformLocation conformant again

We used to set 'gen_locations' to 1 by default, but that's bad,
since app may do something like this:
if (glGetUniformLocation(p, "my_uniform") == -1) {
    // do logic when 'my_uniform' is not in the shader
} else {
    // do logic when 'my_uniform' is in the shader
}
i.e. 'gen_locations == 1' will break this logic, thus, we
now set gen_locations to 0 by default

Change-Id: I75bc2935f763979dda82fbf91e5e0af60a06f83d

10 years agoYaGL: Replace gl_MaxVaryingFloats when necessary 87/17087/1
Stanislav Vorobiov [Mon, 3 Mar 2014 08:30:26 +0000 (12:30 +0400)]
YaGL: Replace gl_MaxVaryingFloats when necessary

gl_MaxVaryingFloats was replaced with gl_MaxVaryingComponents
in OpenGL 3.1 and gl_MaxVaryingComponents in turn was
removed in OpenGL 3.2, thus, we just use a constant when
host OpenGL version is >= 3.1.
Also, patch for textureXXProj, textuureXXLod and textureXXProjLod
was added

Change-Id: Ia952cb2644fe7fd9ebbeee6158a72830f98468e6

10 years agoYaGL: Using flex/bison-based GLSL ES patcher 26/17026/1
Stanislav Vorobiov [Wed, 26 Feb 2014 14:24:40 +0000 (18:24 +0400)]
YaGL: Using flex/bison-based GLSL ES patcher

Our old method of GLSL ES patching via simple tokenization
isn't feasible for GLESv3 support, there're many GLSL ES
and desktop GLSL variations and we must handle all of them.
Also, we would like to have full shader validation in
the future, thus, we can just extend this parser instead of
introducing a new one

Change-Id: Ib505a0b22c6dfa810b99a7353b15e8800ff5b55f

10 years agoYaGL: Fix for weston incorrect glTexSubImage2D call 52/16652/1
Stanislav Vorobiov [Thu, 20 Feb 2014 11:00:26 +0000 (15:00 +0400)]
YaGL: Fix for weston incorrect glTexSubImage2D call

weston can call glTexSubImage2D with
format = GL_RGB and type = GL_UNSIGNED_SHORT_5_6_5
while texture's internal format is GL_BGRA. Such
combination is not allowed in OpenGL ES, but we allow
it

Change-Id: Ifce29ec49108d26801ea3c56307a13db71b7f42f

10 years agoYaGL: Updated for surface scanout flag 51/16651/1
Stanislav Vorobiov [Mon, 10 Feb 2014 16:34:38 +0000 (20:34 +0400)]
YaGL: Updated for surface scanout flag

Change-Id: Ia61a404a1104fb5a68194ddb6978cb9567778cc9

10 years agoMerge branch 'tizen' into glesv3 50/16650/1
Stanislav Vorobiov [Thu, 20 Feb 2014 08:27:32 +0000 (12:27 +0400)]
Merge branch 'tizen' into glesv3

Change-Id: Ie75f90abff3a430c6a3647f3ba8d38c7ebe5dd16

10 years agoYaGL: Allow zero draw/read fbo in glBlitFramebuffer 42/16642/1
Stanislav Vorobiov [Thu, 20 Feb 2014 06:35:00 +0000 (10:35 +0400)]
YaGL: Allow zero draw/read fbo in glBlitFramebuffer

Change-Id: I8230f24bf40ffb46556969b35d7f4a7354b1c012

10 years agoYaGL: Disable minifying/magnifying blits in glBlitFramebuffer 04/16604/1
Stanislav Vorobiov [Wed, 19 Feb 2014 14:31:56 +0000 (18:31 +0400)]
YaGL: Disable minifying/magnifying blits in glBlitFramebuffer

They cause crashes with some host OpenGL drivers, so
disable them for now

Change-Id: Ice85c38758556b6aded15de57bc86422d918f725

10 years agoYaGL: Fix transform feedback checks 03/16603/1
Stanislav Vorobiov [Wed, 19 Feb 2014 14:01:14 +0000 (18:01 +0400)]
YaGL: Fix transform feedback checks

Some more transform feedback checks, we
now pass khronos CTS 3.0 transform_feedback
and transform_feedback2 tests (except for
overflow tests, these will be fixed later)

Change-Id: Ia3af2deac6e0cb75d33b3a35382e9119a5841b65

10 years agoYaGL: Correct draw/read buffer set/get 02/16602/1
Stanislav Vorobiov [Wed, 19 Feb 2014 11:09:08 +0000 (15:09 +0400)]
YaGL: Correct draw/read buffer set/get

Draw/read buffers must reside inside framebuffer object as
well as inside context. When no framebuffer is bound context's
values are used, when framebuffer is bound values from framebuffer
are used

Change-Id: I14af385e9c1d70870dfd6455305a608f13e9f2b6

10 years agoYaGL: Support more glGetFramebufferAttachmentParameteriv queries 01/16601/1
Stanislav Vorobiov [Wed, 19 Feb 2014 09:52:39 +0000 (13:52 +0400)]
YaGL: Support more glGetFramebufferAttachmentParameteriv queries

And khronos CTS 3.0 framebuffer_srgb test now passes

Change-Id: I7b8eeece78b1ca71693c9e5c85fe305f632d908c

10 years agoYaGL: Proper GL_ALPHA/GL_LUMINANCE/GL_LUMINANCE_ALPHA 00/16600/1
Stanislav Vorobiov [Sat, 15 Feb 2014 13:12:25 +0000 (17:12 +0400)]
YaGL: Proper GL_ALPHA/GL_LUMINANCE/GL_LUMINANCE_ALPHA

These texture formats are not supported in OpenGL 3.1+ core, so we
implemented them by converting to RGBA. However, just converting
pixel data to RGBA is not enough, we have to make sure that
glCopyTexImage2D works and that texture is sampled correctly from
shaders. To make this work we use swizzles and since swizzles are not
available in OpenGL 2.1 we revert back to using these formats as they
are and perform no converions when in OpenGL 2.1 mode

Change-Id: I6fc4a58817253767d088975b94856a16c0c4adc4

10 years agoYaGL: Fix GL_ALPHA to GL_BGRA conversions 01/16401/1
Stanislav Vorobiov [Sat, 15 Feb 2014 13:12:25 +0000 (17:12 +0400)]
YaGL: Fix GL_ALPHA to GL_BGRA conversions

Change-Id: Id3548ee62dc4f76eb45934cdfe189ea94320404d

10 years agoYaGL: Support texture zero 00/16400/1
Stanislav Vorobiov [Sat, 15 Feb 2014 14:16:47 +0000 (18:16 +0400)]
YaGL: Support texture zero

Now that we have much better validations
we also need to have an object for texture zero, so
that operations on texture zero wouldn't fail

Change-Id: I4279a6b54abd866a3d0994def7aeb2fcee3bd791

10 years agoYaGL: Enable SRGB framebuffer 99/16399/1
Stanislav Vorobiov [Sat, 15 Feb 2014 09:37:44 +0000 (13:37 +0400)]
YaGL: Enable SRGB framebuffer

GLESv3 has SRGB framebuffer turned on by default

Change-Id: I2bb9f027059f5150120f7ae3315f36a7d056ce83

10 years agoYaGL: Various format validation fixes 97/16397/1
Stanislav Vorobiov [Fri, 14 Feb 2014 13:51:42 +0000 (17:51 +0400)]
YaGL: Various format validation fixes

Correct validation in glReadPixels, glCopyTexImage2D,
glTexImage3D, glTexStorage3D, etc.

Change-Id: Ifc7e1d99d3d5f72dc6e8d81ed717c92c8923d414

10 years agoYaGL: Fixed drawing calls without vertex array pointer 83/16083/1
Stanislav Vorobiov [Thu, 6 Feb 2014 08:39:00 +0000 (12:39 +0400)]
YaGL: Fixed drawing calls without vertex array pointer

The right thing to do here is crash, that's what host
OpenGL drivers do, but we don't want to crash on host, we
want to crash the app on target

Change-Id: I4d92076352775f17bbc3ab8db9b70422beb88a43

10 years agoYaGL: Expose GLESv2 extensions in GLESv3 contexts 82/16082/1
Stanislav Vorobiov [Thu, 6 Feb 2014 07:29:10 +0000 (11:29 +0400)]
YaGL: Expose GLESv2 extensions in GLESv3 contexts

This sounds illogical, but adreno does this. Also, khronos CTS 3.0
attempts to test GLESv2 extensions with GLESv3 context, so
it's probably ok

Change-Id: Ie5f9940ce9fe7b57e6c5ec411d76942245607071

10 years agoYaGL: Better pixel format handling and validation 56/16056/1
Stanislav Vorobiov [Wed, 5 Feb 2014 15:59:29 +0000 (19:59 +0400)]
YaGL: Better pixel format handling and validation

We introduce yagl_pixel_format that is now used to describe
pixel formats, it's also capable of doing target <-> host conversions.
This is much better than old approach, it allows us to have all
format descriptions in one place, validation is also easier and
adding new format is a matter of adding new yagl_pixel_format

Change-Id: I81cedb55ef2f871420aaf80c7b9d47d9fbf9aca2

10 years agoYaGL: Minor fixes 10/16010/1
Stanislav Vorobiov [Tue, 4 Feb 2014 15:41:59 +0000 (19:41 +0400)]
YaGL: Minor fixes

* yagl_gles_get_stride made static, it's now only used inside yagl_gles_utils.c
* removed assert(count > 0) from yagl_gles2_context_pre_draw, this can happen
  on integer overflow and it's normal

Change-Id: I246a501288a7e8f115d96e76b8eefc7c6b3acfc4

10 years agoYaGL: Fixes for khronos CTS 3.0 / uniform_buffer_object 97/15997/1
Stanislav Vorobiov [Tue, 4 Feb 2014 10:47:45 +0000 (14:47 +0400)]
YaGL: Fixes for khronos CTS 3.0 / uniform_buffer_object

Change-Id: I81e7dbb3b5ca04cf0849a0af57f8bfd6fc3804d2

10 years agoYaGL: Fixed vertex attribute 0 problem 87/15987/1
Stanislav Vorobiov [Tue, 4 Feb 2014 08:08:24 +0000 (12:08 +0400)]
YaGL: Fixed vertex attribute 0 problem

Host OpenGL vertex attribute 0 is "magic", OpenGL ES
vertex attribute 0 is usual, we now handle this properly

Change-Id: Ic3e4a021f17c0e1cff18248c4a8f32fe2e260b38

10 years agoYaGL: Fixed khronos CTS 3.0 host crashes 72/15972/1
Stanislav Vorobiov [Mon, 3 Feb 2014 10:08:33 +0000 (14:08 +0400)]
YaGL: Fixed khronos CTS 3.0 host crashes

Change-Id: If46861bb32664c86d9f40018bd611fe12d2f5cdd

10 years agoYaGL: Some more minor fixes for khronos CTS 3.0 71/15971/1
Stanislav Vorobiov [Mon, 3 Feb 2014 09:42:17 +0000 (13:42 +0400)]
YaGL: Some more minor fixes for khronos CTS 3.0

Change-Id: If8cbec23351b9f91d822ff11e4b138d3e5ef05e2

10 years agoYaGL: Fixes for khronos CTS 3.0 / ES30 GLCoverage 70/15970/1
Stanislav Vorobiov [Mon, 3 Feb 2014 07:08:37 +0000 (11:08 +0400)]
YaGL: Fixes for khronos CTS 3.0 / ES30 GLCoverage

Change-Id: Ia18a7846faac041e7b75e0b4877cd70528e8dfc5

10 years agoYaGL: GLESv3 function stub file removed 42/15942/1
Stanislav Vorobiov [Fri, 31 Jan 2014 11:33:37 +0000 (15:33 +0400)]
YaGL: GLESv3 function stub file removed

All GLESv3 functions have been implemented, so no
need for dummy.c anymore. Remaining functions were
program binary related, we don't support them for now,
so they just generate GL_INVALID_OPERATION

Change-Id: I6f020406c422eabb35eaefd47ea4463b6ce183c7

10 years agoYaGL: glDrawRangeElements implemented 41/15941/1
Stanislav Vorobiov [Fri, 31 Jan 2014 11:03:51 +0000 (15:03 +0400)]
YaGL: glDrawRangeElements implemented

Change-Id: I5e885bfc96992505863febd400e420ea9f7f309d

10 years agoYaGL: glGetFragDataLocation implemented 40/15940/1
Stanislav Vorobiov [Fri, 31 Jan 2014 10:23:34 +0000 (14:23 +0400)]
YaGL: glGetFragDataLocation implemented

Change-Id: Idd5428a0da0cc02cda08e584f78bb4786e8449b3

10 years agoYaGL: glFramebufferTexture3D dummy 39/15939/1
Stanislav Vorobiov [Fri, 31 Jan 2014 09:57:29 +0000 (13:57 +0400)]
YaGL: glFramebufferTexture3D dummy

We can implement glFramebufferTexture3D, but it's not
needed for GLESv3, so we just place a dummy for now

Change-Id: I6e74a2d83056df8a71a8739403c910bf2dfd92fa

10 years agoYaGL: Implemented glUniformMatrixAxBfv 38/15938/1
Stanislav Vorobiov [Fri, 31 Jan 2014 09:50:29 +0000 (13:50 +0400)]
YaGL: Implemented glUniformMatrixAxBfv

Change-Id: I582da14c8bfba8721abd5c333b4724f0014a406b

10 years agoYaGL: glClearBuffer and glInvalidateSubFramebuffer implemented 37/15937/1
Stanislav Vorobiov [Fri, 31 Jan 2014 09:12:56 +0000 (13:12 +0400)]
YaGL: glClearBuffer and glInvalidateSubFramebuffer implemented

glInvalidateSubFramebuffer is currently a no-op

Change-Id: Ic2fd7d5cf1872f69dca466016b2196b7e13c1cfe

10 years agoYaGL: Integer vertex attributes and uniforms supported 36/15936/1
Stanislav Vorobiov [Fri, 31 Jan 2014 08:20:42 +0000 (12:20 +0400)]
YaGL: Integer vertex attributes and uniforms supported

Change-Id: I3f6d7ab114f627da0463eb6bc0898e7a6d6629fb

10 years agoYaGL: 64-bit parameter queries and indexed queries implemented 25/15925/1
Stanislav Vorobiov [Thu, 30 Jan 2014 14:56:38 +0000 (18:56 +0400)]
YaGL: 64-bit parameter queries and indexed queries implemented

Change-Id: I8b9f797b1de8190699e6411959d1e162284101c6

10 years agoYaGL: EGL_KHR_fence_sync and GLESv3 sync objects implemented 18/15918/1
Stanislav Vorobiov [Fri, 24 Jan 2014 14:19:11 +0000 (18:19 +0400)]
YaGL: EGL_KHR_fence_sync and GLESv3 sync objects implemented

Change-Id: I99eb93e66f2614306e9e91de20b46a46dff727cb

10 years agoYaGL: GL_EXT_unpack_subimage and GL_NV_pack_subimage implemented 83/15583/1
Stanislav Vorobiov [Thu, 23 Jan 2014 16:06:53 +0000 (20:06 +0400)]
YaGL: GL_EXT_unpack_subimage and GL_NV_pack_subimage implemented

Change-Id: I56d770ae18273ee9c2d1a6c28c4a375fe9028d46

10 years agoYaGL: GL_OES_compressed_ETC1_RGB8_texture implemented 75/15575/1
Stanislav Vorobiov [Thu, 23 Jan 2014 11:51:07 +0000 (15:51 +0400)]
YaGL: GL_OES_compressed_ETC1_RGB8_texture implemented

Change-Id: Ic2dff3f5b7b219919ff5013819063a6036f34c3a

10 years agoYaGL: Buffer object copying implemented 13/15513/1
Stanislav Vorobiov [Wed, 22 Jan 2014 12:58:02 +0000 (16:58 +0400)]
YaGL: Buffer object copying implemented

Change-Id: Ic98ee60fcf3c967374402c6a619584ce5129d756

10 years agoYaGL: Multisampled renderbuffer implemented 04/15504/1
Stanislav Vorobiov [Wed, 22 Jan 2014 11:07:09 +0000 (15:07 +0400)]
YaGL: Multisampled renderbuffer implemented

This is basically glRenderbufferStorageMultisample
part of GL_EXT_multisampled_render_to_texture

Change-Id: Id2b14ab759d1a88c22ae3dd216591ebbfb4f1ac3

10 years agoYaGL: GL_NV_read_buffer implemented 03/15503/1
Stanislav Vorobiov [Wed, 22 Jan 2014 10:48:54 +0000 (14:48 +0400)]
YaGL: GL_NV_read_buffer implemented

Change-Id: Id6fbcd6a8c175a99c2263064bd8a4bf4683ad573

10 years agoYaGL: Full GL_NV_pixel_buffer_object support 97/15497/1
Stanislav Vorobiov [Wed, 22 Jan 2014 09:15:37 +0000 (13:15 +0400)]
YaGL: Full GL_NV_pixel_buffer_object support

Change-Id: Id1ac9c7cc4b17cac12a52a2598446dc362d314d1

10 years agoYaGL: Fix get_stride bug 96/15496/1
Stanislav Vorobiov [Wed, 22 Jan 2014 06:16:18 +0000 (10:16 +0400)]
YaGL: Fix get_stride bug

Change-Id: I57c6dec95cc9c4f85062f79b23070412fb58b97a

10 years agoYaGL: Implemented GL_OES_texture_3D compressed API 54/15454/1
Stanislav Vorobiov [Tue, 21 Jan 2014 09:04:32 +0000 (13:04 +0400)]
YaGL: Implemented GL_OES_texture_3D compressed API

Compressed API part of GL_OES_texture_3D is now
implemented

Change-Id: Ie53238ef69a33715c75202549a6027191b0c84e3

10 years agoYaGL: Basic GL_NV_pixel_buffer_object support 53/15453/1
Stanislav Vorobiov [Tue, 21 Jan 2014 08:00:13 +0000 (12:00 +0400)]
YaGL: Basic GL_NV_pixel_buffer_object support

Automatic PBO transfers between host and guest not
implemented yet

Change-Id: I48e171983ff7c8b4be2adaf6a1d70952e6e8075b