OSDN Git Service

android-x86/device-generic-goldfish-opengl.git
7 years agoRevert "Emulator: create host color buffer for Vedio encoder"
Bo Hu [Sun, 7 Aug 2016 05:10:11 +0000 (05:10 +0000)]
Revert "Emulator: create host color buffer for Vedio encoder"

temp revert to track down CTS regression starting with build 107
where massive cases were not executed

This reverts commit 1454b715016822c276b8bcaaeabca2d8f5b4857c.

Change-Id: I88b37b6087dcb6677c7afb863022063db6ee5893

7 years agoEmulator: create host color buffer for Vedio encoder
bohu [Thu, 4 Aug 2016 19:19:22 +0000 (12:19 -0700)]
Emulator: create host color buffer for Vedio encoder

MediaCodec has GRALLOC_USAGE_HW_VIDEO_ENCODER usage flag
when it creates colorbuffer and renders to it.

We need to create corresponding colorbuffer on the
host to support such usage type.

Bug: 30088791
Change-Id: I911b1ecfb563eab5634abb2249657c1caa668a73

7 years agoMerge "Emulator: Support YV12 format in gralloc"
Bo Hu [Fri, 29 Jul 2016 19:10:31 +0000 (19:10 +0000)]
Merge "Emulator: Support YV12 format in gralloc"

7 years agoEmulator: Support YV12 format in gralloc
bohu [Mon, 18 Jul 2016 23:05:38 +0000 (16:05 -0700)]
Emulator: Support YV12 format in gralloc

The YV12 format is used by codec when it generates output.
Need to support it to pass android.media.cts.ImageReaderDecoderTest

Note:
This YV12 format and other yuv formats are only meant to be used
as software read/write buffer; they are not supported by the
host GL's colorbuffer. so when we want to render it to the host
screen, we have to convert to RGB565 format or other RGB format.

Bug: 30112142
Change-Id: I874e8f2e040fd15ad02ce48c0d65bed1cd08a791

7 years agoFix build
Lingfeng Yang [Thu, 28 Jul 2016 18:21:04 +0000 (11:21 -0700)]
Fix build

Change-Id: I22cc97d7931bfe87e86a0c5203e7e36dac9d327b

7 years agoMerge changes from topic 'emu-glsync-guest-v2'
Lingfeng Yang [Thu, 28 Jul 2016 18:00:10 +0000 (18:00 +0000)]
Merge changes from topic 'emu-glsync-guest-v2'

* changes:
  More efficient swapBuffers
  Implement EGL_KHR_fence_sync/EGL_ANDROID_native_fence_sync for emulator
  Add backing implementation of EGLSyncKHR objects
  Add DEBUG_EGL / DPRINT macros for debug logging EGL.
  Goldfish sync driver user-space interface
  Add encoder entries for EGL_KHR_fence_sync
  ANDROID_EMU_ASYNC_SWAP extension searching + setting

7 years agoMore efficient swapBuffers
Lingfeng Yang [Fri, 22 Jul 2016 22:21:58 +0000 (15:21 -0700)]
More efficient swapBuffers

Previously, we were using glFinish() in the host to make sure
that a buffer that we are presenting has been completely written to.
That is bad for performance, because it usually means to block the CPU
until the GPU's command queue is completely empty and all operations
have completed.

This CL uses eglCreateSyncKHR with a native fence FD to guarantee
the draw buffer is finished before presenting. The idea is that
after rcFlushWindowColorBufferAsync has queued up GPU commands to
finish up the draw buffer, eglCreateSyncKHR follows that up with a fence
command.

The fence command in turn is represented by a FD (by providing
EGL_SYNC_NATIVE_FENCE_ANDROID as the sync object type). Giving that FD
to queueBuffer tells SurfaceFlinger/BufferQueue not to do anything
that depends on the contents of that buffer until the fence command
has completed.

Theoretically, we are supposed to wait on the FD coming from dequeueBuffer
as well, to make sure no one else is using it, but in practice,
it matters much less; we will just overwrite the contents anyway, and it
has not proved to be any problem in terms of visual artifacts.

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570 <- needed
https://googleplex-android-review.git.corp.google.com/1219571 <- this CL

Change-Id: I3dd1b69c77665ac0143bd5a302e6a5a04736c9ea

7 years agoImplement EGL_KHR_fence_sync/EGL_ANDROID_native_fence_sync for emulator
Lingfeng Yang [Thu, 14 Jul 2016 00:44:03 +0000 (17:44 -0700)]
Implement EGL_KHR_fence_sync/EGL_ANDROID_native_fence_sync for emulator

The core purpose of these two extensions is to provide a way for one thread
to know when an EGL command has finished processing in another thread,
so that it is safe to do work that touches common memory regions,
such as frame buffers in a concurrent draw/present setup.

eglCreateSyncKHR inserts a fence command into the current context's
command queue, and returns a handle to that command. eglClientWaitSyncKHR
takes such a handle as input and blocks the CPU until that fence command
is completed.

For the emulator, we implement these commands by wrapping underlying
host implementations. That is enough for EGL_KHR_fence_sync, but we also
include an interface to the Goldfish Sync driver in order to have
EGL_ANDROID_native_fence_sync. Goldfish Sync driver adds the ability for
these fence commands and their completed/not completed state
to be represented as FDs, which the rest of the Android platform
uses for doing graphics asynchronously.

Related specs:

https://www.khronos.org/registry/vg/extensions/KHR/EGL_KHR_fence_sync.txt
https://www.khronos.org/registry/egl/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570 <- uses this

All changes above, including host-side, are needed for this to work.
The following CL uses the functionality in this one:

https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: I9bf0ba0994b2e8689a6bed9c5eeee206a5e21f45

7 years agoAdd backing implementation of EGLSyncKHR objects
Lingfeng Yang [Thu, 14 Jul 2016 00:24:59 +0000 (17:24 -0700)]
Add backing implementation of EGLSyncKHR objects

For EGL_KHR_fence_sync and related extensions in the emulator,
we'll need an object that can track host-side sync objects
along with any Android sync framework fence fd's that
may be produced, and be able to maintain the type and status
of sync objects (generally, EGL fence vs. EGL fence + fence fd,
and signaled vs. unsignaled).

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539 <- this CL
https://googleplex-android-review.git.corp.google.com/1219570 <- uses this
https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: Ic20d11500f3a6e7164c1a5919937b26a885b1987

7 years agoAdd DEBUG_EGL / DPRINT macros for debug logging EGL.
Lingfeng Yang [Thu, 14 Jul 2016 00:11:47 +0000 (17:11 -0700)]
Add DEBUG_EGL / DPRINT macros for debug logging EGL.

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538 <- this CL
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570 <- uses this
https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: I3041732beffb3bbc92196a082dc73d3dd74a0c4e

7 years agoGoldfish sync driver user-space interface
Lingfeng Yang [Thu, 14 Jul 2016 00:05:09 +0000 (17:05 -0700)]
Goldfish sync driver user-space interface

goldfish_sync.h implements the ioctls that interface
with the goldfish sync driver and the goldfish sync
virtual device on the host.

goldfish_sync_open() tells the kernel driver that
there is a new context in which sync work
may be required. This is represented by a user-space
FD. Note that this is not a timeline FD
as with SW_SYNC_USER.

The intention is to associate each EGL context
with a sync context, reflected in getGoldfishSyncFd()
in the EGLContext_t class.

The IOC_QUEUE_WORK ioctl may return a valid fence FD
that can be used by the system to do work while
waiting for that fence FD to be signaled.

In order to avoid bad behavior, timelines and sync fence objects
are still completely maintained and signaled by the
kernel driver and underlying host system.

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

In particular, the ioctl() implementation is listed in

https://android-review.googlesource.com/238399

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537 <- this CL
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570 <- uses this
https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: I74b92415acd95b4bf2ec8aa3a6ff5392d86cf0b3

7 years agoAdd encoder entries for EGL_KHR_fence_sync
Lingfeng Yang [Wed, 13 Jul 2016 23:27:43 +0000 (16:27 -0700)]
Add encoder entries for EGL_KHR_fence_sync

- also update encoder templates to latest version

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535
https://googleplex-android-review.git.corp.google.com/1219536 <- this CL
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570 <- uses this
https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: Ief436ccf8947d35c4b7719dc9ef6def4488cb3f0

7 years agoANDROID_EMU_ASYNC_SWAP extension searching + setting
Lingfeng Yang [Wed, 13 Jul 2016 23:26:10 +0000 (16:26 -0700)]
ANDROID_EMU_ASYNC_SWAP extension searching + setting

In order for the async frame swapping feature to work
with all combinations of new/old emulators and system images,
one way to do it is to introduce an emulator-specific GL
extension. This is the same way the checksum calculation
support works.

This is a port to device/generic/goldfish-opengl, based on

https://googleplex-android-review.git.corp.google.com/#/c/1065345/

This is part of a sequential, multi-CL change. There is also
a corresponding multi-CL change on the host side:

https://android-review.googlesource.com/#/q/topic:emu-glsync-host

The changes in the system image are as follows:

platform/build:

https://googleplex-android-review.git.corp.google.com/1024926

device/generic/goldfish:

https://googleplex-android-review.git.corp.google.com/1230942

device/generic/goldfish-opengl:

https://googleplex-android-review.git.corp.google.com/1219535 <- this CL
https://googleplex-android-review.git.corp.google.com/1219536
https://googleplex-android-review.git.corp.google.com/1219537
https://googleplex-android-review.git.corp.google.com/1219538
https://googleplex-android-review.git.corp.google.com/1219539
https://googleplex-android-review.git.corp.google.com/1219570
https://googleplex-android-review.git.corp.google.com/1219571

Change-Id: Id07a72e5cb3397ff9d0b55788b8ad763c15050f3

7 years agoEmulator: allow swread of GRALLOC_USAGE_HW_VIDEO_ENCODER buffer
bohu [Mon, 25 Jul 2016 19:25:18 +0000 (12:25 -0700)]
Emulator: allow swread of GRALLOC_USAGE_HW_VIDEO_ENCODER buffer

Because either hardware or software encoder can be used, a buffer
created with GRALLOC_USAGE_HW_VIDEO_ENCODER should allow both to
read the buffer.

Bug: 30088791
Change-Id: I3cb6c1449628fcd0f676858f52c6dce01577fa95

7 years agoFix gralloc pipe and add flush to rcCloseColorBufferPuid
Yahan Zhou [Fri, 22 Jul 2016 20:51:14 +0000 (13:51 -0700)]
Fix gralloc pipe and add flush to rcCloseColorBufferPuid

There is a typo in gralloc pipe. Also rcCloseColorBufferPuid needs to be
flushed to function correctly.

Change-Id: Ic006578f560dede0bdc073d6ab862e588b71e452

7 years agoMerge "Fix master build"
Colin Cross [Thu, 21 Jul 2016 04:47:57 +0000 (04:47 +0000)]
Merge "Fix master build"

7 years agoMerge "Revert "Use the new <system/qemu_pipe.h>.""
Christopher Ferris [Thu, 21 Jul 2016 02:09:47 +0000 (02:09 +0000)]
Merge "Revert "Use the new <system/qemu_pipe.h>.""

7 years agoRevert "Use the new <system/qemu_pipe.h>."
Christopher Ferris [Thu, 21 Jul 2016 02:08:53 +0000 (02:08 +0000)]
Revert "Use the new <system/qemu_pipe.h>."

This reverts commit a4b8bbbcc63dd03305bcdb6acf4d916da2889206.

Change-Id: I3bd5b8b88c9462f7af744c6ec626ff7fe0432dc2

7 years agoMerge "Use the new <system/qemu_pipe.h>."
Christopher Ferris [Thu, 21 Jul 2016 01:45:04 +0000 (01:45 +0000)]
Merge "Use the new <system/qemu_pipe.h>."

7 years agoUse the new <system/qemu_pipe.h>.
Christopher Ferris [Thu, 21 Jul 2016 01:42:55 +0000 (18:42 -0700)]
Use the new <system/qemu_pipe.h>.

The old qemu_pipe.h was moved so change to use the new location of the
header.

Change-Id: I032a9444a430f3426ec430fff27f6b117443b5ca

7 years agoFix master build
Yahan Zhou [Thu, 21 Jul 2016 00:15:15 +0000 (17:15 -0700)]
Fix master build

Change-Id: Ib81144748f520a9812c98c3cd23f114ba490d297

7 years agoMerge "Fix jb build"
Yahan Zhou [Wed, 20 Jul 2016 23:26:20 +0000 (23:26 +0000)]
Merge "Fix jb build"

7 years agoFix jb build
Yahan Zhou [Wed, 20 Jul 2016 23:12:02 +0000 (16:12 -0700)]
Fix jb build

Change-Id: I31b9e3e44523819f54da362e688b2c5098ec27bd

7 years agoMerge "Fix jb arm boot"
Bo Hu [Wed, 20 Jul 2016 21:37:20 +0000 (21:37 +0000)]
Merge "Fix jb arm boot"

7 years agoFix jb arm boot
Yahan Zhou [Wed, 20 Jul 2016 21:31:33 +0000 (14:31 -0700)]
Fix jb arm boot

Change-Id: Ibf124424f703cc30ee7b5db7c3589b69728a4c32

7 years agoMerge "Misc fix in gralloc pipe"
Yahan Zhou [Tue, 19 Jul 2016 23:27:32 +0000 (23:27 +0000)]
Merge "Misc fix in gralloc pipe"

7 years agoMisc fix in gralloc pipe
Yahan Zhou [Mon, 18 Jul 2016 23:14:21 +0000 (16:14 -0700)]
Misc fix in gralloc pipe

Fix size and have a confirmation message in gralloc pipe. Also fix the
naming of puid.

Change-Id: I0b87b9e6bcf88172792705ac9643e150b227be96

7 years agoMerge "Create pre-process gralloc pipe on the guest"
Yahan Zhou [Mon, 18 Jul 2016 23:03:25 +0000 (23:03 +0000)]
Merge "Create pre-process gralloc pipe on the guest"

7 years agoMerge "Make goldfish-opengl compatible with master"
Yahan Zhou [Mon, 18 Jul 2016 23:03:08 +0000 (23:03 +0000)]
Merge "Make goldfish-opengl compatible with master"

7 years agoCreate pre-process gralloc pipe on the guest
Yahan Zhou [Mon, 11 Jul 2016 18:51:43 +0000 (11:51 -0700)]
Create pre-process gralloc pipe on the guest

https://buganizer.corp.google.com/issues/29457657

This patch create a pre-process pipe in gralloc. It tells the host which
process holds which color buffer, so that on process exit the host can
correctly reduce the reference counters of all gralloc color buffers.

Each process will get a 64bit identifier from the host, to help the host
identifying it.

It works with host patch:
https://android-review.googlesource.com/#/c/246823/

Change-Id: I8d9a512a1f151f4f29a3b318ccf17d62d8f46512

7 years agoMake goldfish-opengl compatible with master
Yahan Zhou [Mon, 18 Jul 2016 19:20:04 +0000 (12:20 -0700)]
Make goldfish-opengl compatible with master

Change-Id: I103424ff9e2bfdad8181850a216b7a0ee0290267

7 years ago[cherry-pick] Fix misc-macro-parentheses warnings in goldfish/opengl.
Chih-Hung Hsieh [Thu, 9 Jun 2016 21:02:30 +0000 (14:02 -0700)]
[cherry-pick] Fix misc-macro-parentheses warnings in goldfish/opengl.

Add parentheses around macro arguments used beside operators.
Use NOLINT to suppress warning or clang-tidy can put parentheses at
wrong places.

Bug: 28705665

cherry-pick from https://android-review.googlesource.com/#/c/237790/
Change-Id: I40653d3e617f84c07b308bb9c2869219f6563706
Test: build with clang-tidy

7 years ago[cherry-pick] Delete some useless files
Tina Zhang [Mon, 7 Sep 2015 02:47:07 +0000 (10:47 +0800)]
[cherry-pick] Delete some useless files

Currently, some files are not used by the guest part of
GL emulation any more.

cherry-pick from https://android-review.googlesource.com/#/c/169695/

Change-Id: I1fb87614aaba19be6863d6fb85e80937d0778384
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
7 years ago[cp] Build camera related goldfish HALs as brilloemulator for Brillo
Christopher Wiley [Fri, 12 Feb 2016 20:37:09 +0000 (12:37 -0800)]
[cp] Build camera related goldfish HALs as brilloemulator for Brillo

Brillo runs a reduced subset of the graphics stack and a different
system configuration from goldfish.  However, many of these HALs still
make sense for Brillo.  Build the HALs with a board name that will allow
the camera and graphics subsystems to pick them up.

Bug: 26936651
Test: brilloemulator is able to pick up and use these HALs to take
      fake pictures.

cherry-pick from:

https://android-review.googlesource.com/#/c/202700/

Change-Id: I79265ada33a5a97c6f670b79f9c239606465c9fc

7 years ago[cherry-pick] Refactor gralloc HAL to not repeat defintions
Christopher Wiley [Fri, 12 Feb 2016 20:32:07 +0000 (12:32 -0800)]
[cherry-pick] Refactor gralloc HAL to not repeat defintions

Bug: 26936651

cherry-pick from:

https://android-review.googlesource.com/#/c/202619/

Change-Id: If11a2af0496cdaf86e3bc87ded37fc8d93b7fa16

7 years ago[cherry-pick] GPU: Build gralloc.ranchu.so
Miroslav Tisma [Wed, 23 Sep 2015 10:54:56 +0000 (12:54 +0200)]
[cherry-pick] GPU: Build gralloc.ranchu.so

cherry-pick from:

https://android-review.googlesource.com/#/c/172935/

Change-Id: Ie449043b06b6fefa52bdbd68c243a1165ec95ee1

7 years agoMake it compatible with ics-mr1
Yahan Zhou [Fri, 1 Jul 2016 22:47:21 +0000 (15:47 -0700)]
Make it compatible with ics-mr1

Change-Id: I8661fa4cc93111dfdb5fe9fa73f8a47b2820f615

7 years agoMerge "Make opengl compatible with gingerbread"
Yahan Zhou [Thu, 30 Jun 2016 21:16:16 +0000 (21:16 +0000)]
Merge "Make opengl compatible with gingerbread"

7 years agoMerge "Revert "Workaround: disable checksum for a problem in glTexSubImage2D""
Yahan Zhou [Thu, 30 Jun 2016 21:09:10 +0000 (21:09 +0000)]
Merge "Revert "Workaround: disable checksum for a problem in glTexSubImage2D""

7 years agoMake opengl compatible with gingerbread
Yahan Zhou [Thu, 23 Jun 2016 20:58:09 +0000 (13:58 -0700)]
Make opengl compatible with gingerbread

This patch makes mnc opengl compatible with gingerbread. With this
patch, you can copy-paste the opengl folder to gingerbread and it will
just build.

Notice that in gingerbread, the GL folder is in
development/tools/emulator

Change-Id: I99f060edd517a7afd425fd2103cbceaa61f0fc82

7 years agoRevert "Workaround: disable checksum for a problem in glTexSubImage2D"
Yahan Zhou [Fri, 3 Jun 2016 00:24:03 +0000 (00:24 +0000)]
Revert "Workaround: disable checksum for a problem in glTexSubImage2D"

The checksum enable/disable should be control by feature control now.

This reverts commit 2a5a09abd50933d7cc4b1302769a19ffdf9d104b.

Change-Id: I8f33718f7b2112fd6abcfd51fadc336e9bd15a3a

7 years agoMake GL build script compatible with jb (and mr1.1, mr2)
Yahan Zhou [Mon, 20 Jun 2016 19:28:34 +0000 (12:28 -0700)]
Make GL build script compatible with jb (and mr1.1, mr2)

Notice that in jb, the GL encoder is located in sdk/emulator/opengl. In
jb-mr1.1, the encoder is in development/tools/emulator/opengl.

After this patch, it should just work if you copy the opengl directory
from mnc to jb.

Change-Id: I4b6ba6daeb64315ecf72b52b142acbbccdc4dbe0

7 years agoMerge "Revert "Temporarily rename makefile to avoid building duplicate opengl libs.""
Yahan Zhou [Tue, 28 Jun 2016 00:00:11 +0000 (00:00 +0000)]
Merge "Revert "Temporarily rename makefile to avoid building duplicate opengl libs.""

7 years agoRevert "Temporarily rename makefile to avoid building duplicate opengl libs."
Yahan Zhou [Mon, 27 Jun 2016 22:48:39 +0000 (22:48 +0000)]
Revert "Temporarily rename makefile to avoid building duplicate opengl libs."

This reverts commit 8b2652824b14889092d41d263762b9f3bdf6f86c.

Change-Id: I93ceaea56f8ef4ed90a73af5b04f7a1fed0083e0

7 years agoMerge "Fix 3Dmark crash - preserve more host connections"
Yahan Zhou [Mon, 27 Jun 2016 22:16:40 +0000 (22:16 +0000)]
Merge "Fix 3Dmark crash - preserve more host connections"

7 years agoFix 3Dmark crash - preserve more host connections
Lingfeng Yang [Fri, 24 Jun 2016 02:06:28 +0000 (19:06 -0700)]
Fix 3Dmark crash - preserve more host connections

The CL

https://googleplex-android-review.git.corp.google.com/#/c/1131769/

for killing host connections was too aggressive.

It incorrectly assumed that if eglInitialize was not called in the
current thread, it'd be treated as a gralloc-only connection.

It's perfectly possible to create a new thread,
not call eglInitialize, and call eglCreateContext instead,
which is within proper usage since after there is supposed
to be only one display per process.

This situation resulted in 3DMark crashing, because once the
connection is killed on a thread that is not actually gralloc-only,
all the state goes away and segfault is just a matter of time.

This CL makes it so that eglCreateContext / eglMakeCurrent
mark the connection as not gralloc only, preventing the
connection from being erroneously killed.

The behavior where no extra render threads are created
when opening recents is still preserved.

(Cherry-pick from ebff5363850076de2623b6f6a0ff035ea3e823d5)
Change-Id: I20a204aefca91e5ac8f6b097d9fcd799f6b02583

7 years agoTemporarily rename makefile to avoid building duplicate opengl libs.
Prathmesh Prabhu [Mon, 27 Jun 2016 20:30:13 +0000 (13:30 -0700)]
Temporarily rename makefile to avoid building duplicate opengl libs.

We've yet to drop the opengl code from the old location. Turns out that
simply including this new source location leads the Android build system
to build the lib from both the old and new location.

Renamed the Android.mk file here to avoid building from this location
until the migration is complete.

Change-Id: I66b5f4201f99b8a17c814918e5b42489d686d7c5

8 years agoMerge opengl/ from device/generic/goldfish to /
Surendra Vispute [Fri, 24 Jun 2016 00:24:14 +0000 (17:24 -0700)]
Merge opengl/ from device/generic/goldfish to /

8 years agoMerge "Fix glTexSubImage2D" into mnc-emu-dev
Yahan Zhou [Wed, 22 Jun 2016 23:13:17 +0000 (23:13 +0000)]
Merge "Fix glTexSubImage2D" into mnc-emu-dev

8 years agoFix glTexSubImage2D
Yahan Zhou [Wed, 22 Jun 2016 22:36:04 +0000 (15:36 -0700)]
Fix glTexSubImage2D

This is to port
https://googleplex-android-review.git.corp.google.com/#/c/1145109

into mnc

Change-Id: Ic53c1181ab1c69fb33c5758034c0c4ec131b010e

8 years agoFix build scripts for klp
Yahan Zhou [Wed, 22 Jun 2016 22:26:08 +0000 (15:26 -0700)]
Fix build scripts for klp

The previous build script makes klp fail to boot. This patch fixes it.

Change-Id: I091fdd29ef3f37d10d5f56c81e9ba17618214ebf

8 years agoMake build script compatible with klp and up
Yahan Zhou [Sat, 18 Jun 2016 00:40:14 +0000 (17:40 -0700)]
Make build script compatible with klp and up

It gets rid of c++11 and makes build script compatible with klp and up.

It also includes GL headers here, because headers in framework/native
might be different across API levels.

Change-Id: Ida425416a392cef878256965d69b54afe42b7263

8 years agoInitial empty repository
Bill Rassieur [Mon, 20 Jun 2016 22:30:41 +0000 (15:30 -0700)]
Initial empty repository

8 years agoMerge "Fix EGL cleanup code for CTS android.nativeopengl" into mnc-emu-dev
Yahan Zhou [Mon, 20 Jun 2016 19:58:05 +0000 (19:58 +0000)]
Merge "Fix EGL cleanup code for CTS android.nativeopengl" into mnc-emu-dev

8 years agoFix EGL cleanup code for CTS android.nativeopengl
Yahan Zhou [Fri, 10 Jun 2016 00:54:34 +0000 (17:54 -0700)]
Fix EGL cleanup code for CTS android.nativeopengl

In CTS, android.nativeopengl.EGLCleanupTest tries to repeatatively
create and destroy egl context for 1000 times to check for memory leaks.
This patch releases resources when destroying contexts.

It turns android.nativeopengl.EGLCleanupTest from failure to flaky,
because of two other issue:

(1) There is a 1 min timeout in the test:
cts/tools/tradefed-host/src/com/android/cts/tradefed/testtype/
WrappedGTest.java
Our emulator can barely finish it within 1 min.

(2) There is another bug that may trigger UI rendering events after the
test begun, which crashes randomly because this test releases rendering
resources. It needs to be fixed in another patch.

Change-Id: Id285f526149638c63eb78c167c7d2daef7bd2412

8 years agoMerge "Regenerate gl encoder from qemu" into mnc-emu-dev
Yahan Zhou [Mon, 20 Jun 2016 16:58:21 +0000 (16:58 +0000)]
Merge "Regenerate gl encoder from qemu" into mnc-emu-dev

8 years agoRegenerate gl encoder from qemu
Yahan Zhou [Fri, 17 Jun 2016 22:06:37 +0000 (15:06 -0700)]
Regenerate gl encoder from qemu

Regenerated from:
https://android-review.googlesource.com/#/c/237292/

Change-Id: I7972c4fddfb9765af39856ccd8aa29ac67558301

8 years agoDon't leave gralloc-only host connections hanging.
Lingfeng Yang [Mon, 13 Jun 2016 15:39:28 +0000 (08:39 -0700)]
Don't leave gralloc-only host connections hanging.

bug: 29318455

Memory leaks are becoming more of a problem, especially
with host machines that don't have much RAM and when
we use the emulator for long periods of time.

This CL fixes the problem detailed in the bug link,
which is that the number of render threads
(and thus thread-specific storage) skyrockets when
repeatedly pressing the Recents button while an app is active.

The thing is that there are lots of threads
that never use the EGL display, just gralloc, in order
to do gralloc things like update the screenshot display
of apps in recents.

These threads are not cleaned up because a thread pool
is often used to manage these sorts of tasks.
If a new or different thread suddenly wants to update
the recents screenshots through gralloc, a new connection
will be established.

This CL uses gralloc_unregister_buffer as a signal
for when a thread might be done with gralloc in general,
exiting the host connection immediately.

Of course, there may be other things that the thread wants
to do, but then it can just go ahead and create a new connection.

We also use the heuristic that we do not exit on gralloc_unregister_buffer
when the thread seems to be a bona fide rendering thread
(eglInitialize has been called).

There are still more leaks going on, this fixes just
one source of them.

After this CL, the render thread count should be held constant
when repeatedly starting apps and going to recents.

Change-Id: I5f57539429f149e3a938467e3b82fa911ab118c3

8 years agoUse correct format when reading color buffers
Bjoern Johansson [Mon, 13 Jun 2016 23:09:20 +0000 (16:09 -0700)]
Use correct format when reading color buffers

When reading back data from color buffers on the host make sure gralloc
uses the correct format and type parameters. Previously it was hardcoded
based on RGBA at 8 bits per component which would cause incorrect reads
for other pixel formats. This could cause QEMU pipe reads to call abort
because the reads went past a page boundary if the calculated size
exceeded the actual buffer size.

Change-Id: Ifa61f0a97d79577744b899b1bbb4120a0b9170eb

8 years agoMerge "Move stream->flush to non-generated code" into mnc-emu-dev
Yahan Zhou [Mon, 6 Jun 2016 19:42:17 +0000 (19:42 +0000)]
Merge "Move stream->flush to non-generated code" into mnc-emu-dev

8 years agoMove stream->flush to non-generated code
Yahan Zhou [Mon, 6 Jun 2016 19:30:39 +0000 (12:30 -0700)]
Move stream->flush to non-generated code

Move flush command out of auto-generated code.

Change-Id: I3f3c8ca49344ea4c5357d7d6953364ce1015ea99

8 years agoMerge "[cherry-pick] Lose HAVE_ANDROID_OS in goldfish." into mnc-emu-dev
Yahan Zhou [Mon, 6 Jun 2016 17:51:45 +0000 (17:51 +0000)]
Merge "[cherry-pick] Lose HAVE_ANDROID_OS in goldfish." into mnc-emu-dev

8 years agoCheck vertex buffer size before glDraw*
Yahan Zhou [Thu, 2 Jun 2016 00:24:28 +0000 (17:24 -0700)]
Check vertex buffer size before glDraw*

This patch verifies if a vertex buffer is big enough before calling
glDraw*. It fixes crashes when trying to index outside of vertex buffer.

It should make it less crashy in glDrawElements and glDrawArrays:

https://code.google.com/p/android/issues/detail?id=207284

Change-Id: I36f0f568d96b576f0e0975435d2d7fd41cd9e732

8 years ago[cherry-pick] Lose HAVE_ANDROID_OS in goldfish.
Elliott Hughes [Wed, 12 Aug 2015 21:30:38 +0000 (14:30 -0700)]
[cherry-pick] Lose HAVE_ANDROID_OS in goldfish.

cherry pick from:

https://android-review.googlesource.com/#/c/166427

Change-Id: Id626aee8d65e0ded543ac12416c37f938d196676

8 years agoFix mnc build
Yahan Zhou [Wed, 1 Jun 2016 19:49:39 +0000 (12:49 -0700)]
Fix mnc build

Missing a bracket when cherry-pick.

Change-Id: I5202bf4dc5c64cb4663fdcadcbf6704272708b42

8 years ago[cherry-pick] Optimize glGetIntegerv to reduce the cost of translating
Lizhe Liu [Wed, 27 May 2015 03:13:23 +0000 (11:13 +0800)]
[cherry-pick] Optimize glGetIntegerv to reduce the cost of translating

Hardware GLES emulation in the Android platform is implemented
with a mix of components. Translator module is one of the most
important components in emulator. It translate the function
calls into calls to the appropriate desktop APIs and cost lots
of reference to complete it. So optimization must be beneficial
to us. GL_MAX_CUBE_MAP_TEXTURE_SIZE, GL_MAX_RENDERBUFFER_SIZE
and GL_MAX_TEXTURE_SIZE are the rough estimate value of the
largest texture which the OPENGL can handle. All of them are
constant value. So there is no need for us to translate them
from guest os to host os every time. We can cache the value
after first time and reuse it next time.

Cherry-pick from:

https://android-review.googlesource.com/#/c/151899

Change-Id: I1a0352c40b667bafd6ec1fb66a8060d7fe4a415d
Signed-off-by: Lizhe Liu <lizhe.liu@intel.com>
8 years agoMerge "[cherry-pick] opengl: GLEncoder: Fix potential array buffer misbinding" into...
Yahan Zhou [Wed, 1 Jun 2016 17:38:02 +0000 (17:38 +0000)]
Merge "[cherry-pick] opengl: GLEncoder: Fix potential array buffer misbinding" into mnc-emu-dev

8 years ago[cherry-pick] opengl: GLEncoder: Fix potential array buffer misbinding
Yu Ning [Wed, 19 Aug 2015 07:22:13 +0000 (15:22 +0800)]
[cherry-pick] opengl: GLEncoder: Fix potential array buffer misbinding

When encoding a glDrawElements() or glDrawArrays() call, the encoder
needs to figure out whether each array (e.g. vertex, color, etc.) uses
a bound buffer or not. It is possible that some arrays use bound buffers
while others immediate buffers. In this case, there is a chance that the
encoder fails to preserve the semantics of the input GLES calls,
resulting in misinterpretation by the translator that all arrays use
bound buffers.

Fix this by encoding an unbind operation before any glXXXPointer() call
that does not mean to use a bound buffer. For GLESv2, that is already
done:

 40a674e Fix emulator crashes on glDrawElements command

This CL does the same for GLESv1.

Cherry-pick from:

https://android-review.googlesource.com/#/c/167443/

Change-Id: Ifd17321b124a4f4b1037a43d5a54094541d367f1
Signed-off-by: Yu Ning <yu.ning@intel.com>
8 years agoDon't optimize out rcUpdateColorBuffer
Lingfeng Yang [Wed, 25 May 2016 15:31:06 +0000 (08:31 -0700)]
Don't optimize out rcUpdateColorBuffer

bug:28406160

If we want to use rcUpdateColorBuffer to
synchronize on the host in order to remove
out of order webcam frames, we need to call it
if (cb->hostHandle), not just when
the width and height are nonzero.

Otherwise, we get deadlocks.

Change-Id: Ib98774b935e8786e307dd38711a0f2f9ffea440e

8 years agoMerge "Save a few glBindBuffer calls" into mnc-emu-dev
Lingfeng Yang [Fri, 27 May 2016 00:32:31 +0000 (00:32 +0000)]
Merge "Save a few glBindBuffer calls" into mnc-emu-dev

8 years agoSave a few glBindBuffer calls
Lingfeng Yang [Thu, 26 May 2016 21:18:33 +0000 (14:18 -0700)]
Save a few glBindBuffer calls

When sending vertex attributes, we only need to
bind the context-wide GLClientState's VBO
if a particular vertex attrib state is enabled.

This CL makes it so we call glBindBuffer only if
the currently bound vbo changes, in many cases
completely eliminating extra glBindBuffer calls
in sendVertexAttributes. Each extra glBindBuffer
call takes a few microseconds.

Change-Id: I04de3be0114ec6df10e67bc801b6d089bf5096db

8 years agoRefactor GL extension getting part in checksum setup.
Lingfeng Yang [Mon, 23 May 2016 19:16:04 +0000 (12:16 -0700)]
Refactor GL extension getting part in checksum setup.

Change-Id: Ieb26ce5682a87821935a5b639e5242942d13ac21

8 years agoFix memory-handling issues in the OpenGL code.
Adam Buchbinder [Fri, 20 May 2016 22:25:59 +0000 (15:25 -0700)]
Fix memory-handling issues in the OpenGL code.

This fixes the folloiwng cppcheck reports:
[device/generic/goldfish/opengl/system/GLESv2_enc/GL2Encoder.cpp:789]:
  (error) Mismatching allocation and deallocation: str
[device/generic/goldfish/opengl/system/GLESv2_enc/GL2Encoder.cpp:795]:
  (error) Mismatching allocation and deallocation: str
[device/generic/goldfish/opengl/tests/gles_android_wrapper/egl.cpp:492]:
  (error) Mismatching allocation and deallocation: attrib

Change-Id: Iaf494eca1b927b2fa4b91f01ba340746b9da9bd3
(cherry picked from commit 3375e5e21450b78daf109225707d574976b7ec1c)

8 years agoMerge "Sends tex coord only when the texture is enabled in gles1" into mnc-emu-dev
Yahan Zhou [Tue, 17 May 2016 16:56:04 +0000 (16:56 +0000)]
Merge "Sends tex coord only when the texture is enabled in gles1" into mnc-emu-dev

8 years agoSends tex coord only when the texture is enabled in gles1
Yahan Zhou [Mon, 16 May 2016 23:23:22 +0000 (16:23 -0700)]
Sends tex coord only when the texture is enabled in gles1

Only send tex coord if the corresponding texture unit is enabled.

This is to prevent a crash in An3DBench:

https://b.corp.google.com/issues/9631994

Change-Id: I23ae030adba3a3fa05e00f63c96040b439b86baf

8 years agoCreate and read color buffer when expecting reads
Bjoern Johansson [Thu, 12 May 2016 17:38:27 +0000 (10:38 -0700)]
Create and read color buffer when expecting reads

Make sure color buffers are created when gralloc is allocating buffers
that indicate that software reads are going to happen. In this case
software will require the rendered data to be available from the host at
a later point and that means that rendering has to be stored in a color
buffer. Also make sure that when gralloc locks a buffer for reading it
will actually read the data from the host if the buffer is marked for
reading.

Change-Id: Ief4b7fe34401727cabec9fdd5c2b9812a6c49612

8 years agoMerge "Cleanup debugging code in a previous CL" into mnc-emu-dev
Yahan Zhou [Wed, 11 May 2016 23:04:02 +0000 (23:04 +0000)]
Merge "Cleanup debugging code in a previous CL" into mnc-emu-dev

8 years agoCleanup debugging code in a previous CL
Yahan Zhou [Wed, 11 May 2016 22:54:56 +0000 (15:54 -0700)]
Cleanup debugging code in a previous CL

Clean up my logs.

Change-Id: Ia447994af03358964bb39330824e8da8eeebf08b

8 years agoMerge "Add framebuffer checks to pass dEQP" into mnc-emu-dev
Yahan Zhou [Wed, 11 May 2016 22:34:26 +0000 (22:34 +0000)]
Merge "Add framebuffer checks to pass dEQP" into mnc-emu-dev

8 years agoAdd framebuffer checks to pass dEQP
Yahan Zhou [Wed, 11 May 2016 22:06:34 +0000 (15:06 -0700)]
Add framebuffer checks to pass dEQP

They are defined in GLES3 compatible context, but used in dEQP-GLES2
tests. So we need to enable them.

Should be used with this CL in the host:
https://android-review.googlesource.com/#/c/229251

dEQP-GLES2.functional.fbo.completeness.renderable failures 21->0

Change-Id: Ieacbbcc4afa688711c4d090971036505a74cc1ab

8 years agoMerge "Allow rgb10_a2 internal format in renderbuffer" into mnc-emu-dev
Yahan Zhou [Wed, 11 May 2016 17:54:59 +0000 (17:54 +0000)]
Merge "Allow rgb10_a2 internal format in renderbuffer" into mnc-emu-dev

8 years agoAllow rgb10_a2 internal format in renderbuffer
Yahan Zhou [Wed, 11 May 2016 17:45:31 +0000 (10:45 -0700)]
Allow rgb10_a2 internal format in renderbuffer

dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer failures
3->0.

Change-Id: If5b94f5b1edc182ec5ccf2bd3321306a826e757e

8 years agoMerge "eglCreateContext returns error code when taking wrong attributes" into mnc...
Yahan Zhou [Mon, 9 May 2016 16:48:23 +0000 (16:48 +0000)]
Merge "eglCreateContext returns error code when taking wrong attributes" into mnc-emu-dev

8 years agoeglCreateContext returns error code when taking wrong attributes
Yahan Zhou [Thu, 5 May 2016 01:10:46 +0000 (18:10 -0700)]
eglCreateContext returns error code when taking wrong attributes

CTS.android.nativeopengl.EGLCreateContextTest fail -> pass

Change-Id: Iec95f568b65cd60cd78cc5eb80ce3ff0d1ae1731

8 years agoMerge "Flush draw calls" into mnc-emu-dev
Lingfeng Yang [Wed, 4 May 2016 16:12:53 +0000 (16:12 +0000)]
Merge "Flush draw calls" into mnc-emu-dev

8 years agoFlush draw calls
Lingfeng Yang [Mon, 2 May 2016 17:47:00 +0000 (10:47 -0700)]
Flush draw calls

Increases Antutu Garden performance by 2-4 FPS,
depending on if host renderthread uses lock
(faster if no lock)

The idea is that if the draw calls are not flushed,
they may be called too late on the host,
resulting in lower performance:
the GPU is just sitting idly between pipe flushes
for more instructions.

Change-Id: I78e278fc9b30b4a135b48f56d912b6aba8aadea7

8 years agoMerge "FBO completeness check in glDrawElements." into mnc-emu-dev
Evan Birenbaum [Thu, 28 Apr 2016 21:07:02 +0000 (21:07 +0000)]
Merge "FBO completeness check in glDrawElements." into mnc-emu-dev

8 years agoFBO completeness check in glDrawElements.
Evan Birenbaum [Thu, 28 Apr 2016 19:47:57 +0000 (12:47 -0700)]
FBO completeness check in glDrawElements.

dEQP-GLES2.functional.negative_api.vertex_array.*:
3 Fail -> 0 Fail

The host framebuffer (not the guest state) is not complete in these
tests, so a call to the host glCheckFramebufferStatus is needed to
confirm that. The cached state is unreliable, since things may have
changed since the last guest call to glCheckFramebufferStatus.

Change-Id: I2cf026129c871df68b328949e9c79b3f5df590eb

8 years agoMerge "glActiveTexture should set GL_INVALID_ENUM when taking wrong input" into mnc...
Yahan Zhou [Thu, 28 Apr 2016 18:19:12 +0000 (18:19 +0000)]
Merge "glActiveTexture should set GL_INVALID_ENUM when taking wrong input" into mnc-emu-dev

8 years agoMerge "Stricter FBO completeness checks" into mnc-emu-dev
Lingfeng Yang [Mon, 25 Apr 2016 16:39:43 +0000 (16:39 +0000)]
Merge "Stricter FBO completeness checks" into mnc-emu-dev

8 years agoMerge "Validate presence of framebuffer attachment's object" into mnc-emu-dev
Lingfeng Yang [Mon, 25 Apr 2016 16:39:36 +0000 (16:39 +0000)]
Merge "Validate presence of framebuffer attachment's object" into mnc-emu-dev

8 years agoSupport glDrawElements with GL_UNSIGNED_INT again
Yahan Zhou [Wed, 20 Apr 2016 23:02:10 +0000 (16:02 -0700)]
Support glDrawElements with GL_UNSIGNED_INT again

This is defined in GLES2 extension.

Change-Id: Id6ac22bb207a88ebb13282c443c0bc990f25cdf3

8 years agoWorkaround: disable checksum for a problem in glTexSubImage2D
Yahan Zhou [Tue, 12 Apr 2016 17:02:38 +0000 (10:02 -0700)]
Workaround: disable checksum for a problem in glTexSubImage2D

This is a temporary workaround for a problem in glTexSubImage2D. It
disables the GL checksum to avoid crashes. Please revert this CL when
the root cause is solved.

Change-Id: I8401449e42da87f580f119982a1bcb1b6b9a4c8b
(cherry picked from commit c1a6ab7b5ce1e23cf65a8e936860bcea879b6eef)

8 years agoStricter FBO completeness checks
Lingfeng Yang [Tue, 12 Apr 2016 16:29:11 +0000 (09:29 -0700)]
Stricter FBO completeness checks

dEQP-GLES2.functional.fbo.completeness.*:
39 Fail -> 0 Fail

Based on similar logic in Swiftshader's libGLESv2/libGLESv2.cpp

Also cache the result of glCheckFramebufferStatus,
if already called from somewhere else.

Change-Id: I3fb42dd6902cfce4043d08fd459a7069ef491f7e

8 years agoValidate presence of framebuffer attachment's object
Lingfeng Yang [Fri, 8 Apr 2016 21:42:34 +0000 (14:42 -0700)]
Validate presence of framebuffer attachment's object

dEQP-GLES2.functional.negative_api.state.get_framebuffer_attachment_parameteriv
Fail -> Pass
dEQP-GLES2.functional.fbo.api.attachment_query_empty_fbo
Fail -> Pass

Track texture and renderbuffer object associations to
framebuffer attachment points.

Change-Id: Iff646bc57ef0202105768123cfa99384f37b01a3

8 years agoMerge "Sanity checks in vertex array functions." into mnc-emu-dev
Evan Birenbaum [Fri, 15 Apr 2016 22:03:51 +0000 (22:03 +0000)]
Merge "Sanity checks in vertex array functions." into mnc-emu-dev

8 years agoSanity checks in vertex array functions.
Evan Birenbaum [Wed, 13 Apr 2016 19:53:09 +0000 (12:53 -0700)]
Sanity checks in vertex array functions.

dEQP-GLES2.functional.negative_api.vertex_array.*:
6 Fail -> 3 Fail.
dEQP-GLES2.functional.rasterization.*:
1 Fail -> 0 Fail.

The remaining vertex array failures will be fixed using some of
Frank's framebuffer status code.

Change-Id: Id8623029180beb6e792a3250763f08c4a03c7499

8 years agoSend glDrawArrays even if there is no vertex array
Lingfeng Yang [Fri, 15 Apr 2016 19:23:55 +0000 (12:23 -0700)]
Send glDrawArrays even if there is no vertex array

The spec says that if there are no arrays,
vertex attributes are to be used next.

dEQP-GLES2.functional.draw.random.50
Fail -> Pass

Change-Id: I81ab0bcac1c483436f8930212159a5079fe7b725

8 years agoValidation for glGetVertexAttribPointerv
Lingfeng Yang [Fri, 8 Apr 2016 19:46:42 +0000 (12:46 -0700)]
Validation for glGetVertexAttribPointerv

dEQP-GLES2.functional.negative_api.state.get_vertex_attrib_pointerv
Fail -> Pass

Based on Intel's OpenGL validation for goldfish opengl,
introduced in nyc-dev

Change-Id: If67192368935f21de20c0f531036db027b867b37

8 years agoValidation for glGetVertexAttrib i/f v
Lingfeng Yang [Fri, 8 Apr 2016 19:38:35 +0000 (12:38 -0700)]
Validation for glGetVertexAttrib i/f v

dEQP-GLES2.functional.negative_api.state.get_vertex_attrib i/f v:
Fail -> Pass

Based on Intel's OpenGL validation for goldfish opengl,
introduced in nyc-dev

Change-Id: I9b539024e88a5afb7c78f8543e7c9ffff4f837e0