chromium/src/third_party/khronos.git
3 months agoAdd GN build for parts of gpu and ozone. master
brettw@chromium.org [Thu, 15 May 2014 19:39:14 +0000 (19:39 +0000)]
Add GN build for parts of gpu and ozone.

Moves existing ozone platform flag to new .gni file with all ozone flags in it.

R=piman@chromium.org, rjkroege@chromium.org, spang@chromium.org

Review URL: https://codereview.chromium.org/285103002

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@270780 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 months agoMojo: Move C gles2 header files to mojo/public/c/gles2.
viettrungluu@chromium.org [Sun, 30 Mar 2014 20:40:17 +0000 (20:40 +0000)]
Mojo: Move C gles2 header files to mojo/public/c/gles2.

(C++ files still to do.)

Also, as a drive-by, update the generated copyright notice in
build_gles2_cmd_buffer.py to the correct, current one (no "(c)").

R=darin@chromium.org
TBR=piman@chromium.org

Review URL: https://codereview.chromium.org/218193002

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@260459 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

7 months agoMake mojo_gles2 a stub shared library
piman@chromium.org [Wed, 22 Jan 2014 22:19:27 +0000 (22:19 +0000)]
Make mojo_gles2 a stub shared library

This follows the mojo_system pattern, separating mojo_gles2 into a client-side
shared library which is just a trampoline into a shell-provided mojo_gles2_impl
component.
This includes core GLES2 functions which are auto-generated, replacing the use
of gles2_c_lib.

BUG=333157
R=darin@chromium.org, kbr@chromium.org

Review URL: https://codereview.chromium.org/140513003

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@246434 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

8 months agoUpdated Khronos GLES2 headers. (Take 2, Original: https://codereview.chromium.org...
bajones@chromium.org [Mon, 30 Dec 2013 23:34:09 +0000 (23:34 +0000)]
Updated Khronos GLES2 headers. (Take 2, Original: https://codereview.chromium.org/99053007/)

There was a type conflict between the previous, out of date headers and the more
recent ones included in ANGLE that was causing failures on 64-bit Windows.

BUG=326382
TBR=kbr@chromium.org, piman@chromium.org, raymes@chromium.org, robertphillips@google.com

Review URL: https://codereview.chromium.org/115143004

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@242740 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

8 months agoRevert of https://codereview.chromium.org/99053007/
bajones@chromium.org [Wed, 18 Dec 2013 22:10:49 +0000 (22:10 +0000)]
Revert of https://codereview.chromium.org/99053007/
Reason for revert: Build errors.

TBR=kbr@chromium.org,piman@chromium.org,brettw@chromium.org,bbudge@chromium.org,raymes@chromium.org,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/106903014

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@241675 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

8 months agoUpdated Khronos GLES2 headers.
bajones@chromium.org [Wed, 18 Dec 2013 21:40:16 +0000 (21:40 +0000)]
Updated Khronos GLES2 headers.

There was a type conflict between the previous, out of date headers and the more
recent ones included in ANGLE that was causing failures on 64-bit Windows.

BUG=326382
R=kbr@chromium.org, piman@chromium.org, raymes@chromium.org
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/99053007

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@241661 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 months agoRemove apatrick@ from OWNERS
piman@chromium.org [Mon, 4 Nov 2013 23:29:33 +0000 (23:29 +0000)]
Remove apatrick@ from OWNERS

BUG=None
R=kbr@chromium.org

Review URL: https://codereview.chromium.org/58663002

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@232833 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 months agoAdding functionality to paint and signal buffer swap for ozone surface factory.
dnicoara@chromium.org [Fri, 30 Aug 2013 19:46:17 +0000 (19:46 +0000)]
Adding functionality to paint and signal buffer swap for ozone surface factory.
OZONE event factory should be a bit more verbose on error.

BUG=

Review URL: https://chromiumcodereview.appspot.com/23438002

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@220632 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 months agoLinux: remove use_system_mesa bits.
phajdan.jr@chromium.org [Mon, 5 Aug 2013 21:59:39 +0000 (21:59 +0000)]
Linux: remove use_system_mesa bits.

This doesn't seem useful, see https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/amyyjkDj7Cg/cl5up-ABW7oJ

BUG=none
R=piman@chromium.org

Review URL: https://codereview.chromium.org/22218003

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@215695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

14 months agoAdding self to OWNERS replacing gman
piman@chromium.org [Fri, 21 Jun 2013 21:33:49 +0000 (21:33 +0000)]
Adding self to OWNERS replacing gman

BUG=None
R=apatrick@chromium.org

Review URL: https://codereview.chromium.org/16867014

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@207926 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

14 months agoRemove gman from owners.
gman@chromium.org [Thu, 20 Jun 2013 03:09:53 +0000 (03:09 +0000)]
Remove gman from owners.

I won't be around to review so should probably
remove my name from here.

TBR=piman@chromium.org,apatrick@chromium.org
BUG=none

Review URL: https://codereview.chromium.org/17167008

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@207293 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

15 months agoAdded EGLNativeWindow etc. typedefs for ozone.
rjkroege@chromium.org [Thu, 23 May 2013 10:34:12 +0000 (10:34 +0000)]
Added EGLNativeWindow etc. typedefs for ozone.

BUG=178543

Review URL: https://chromiumcodereview.appspot.com/14757005

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@201734 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

15 months agoRationalize dependency on khronos EGL headers in place of angle.
rjkroege@chromium.org [Mon, 13 May 2013 18:24:39 +0000 (18:24 +0000)]
Rationalize dependency on khronos EGL headers in place of angle.

Different parts of Chrome use the angle EGL headers and khronos
EGL headers. This patch adjusts so that Chrome uses only one: khronos.

BUG=none, code cleanup

Review URL: https://chromiumcodereview.appspot.com/14772009

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@199773 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoRevert 185521
tommi@chromium.org [Fri, 1 Mar 2013 11:39:56 +0000 (11:39 +0000)]
Revert 185521
Relanding the original change and rolling skia back to 7909.

> Revert 185332
> Speculative revert.  All the GPU bots are currently red, failing at the compile stage.
> This time also reverting the skia roll even though a more recent version had been rolled.
>
> > Update khronos GLES2/gl2.h header
> >
> > BUG=178589
> >
> > Review URL: https://codereview.chromium.org/12313140
>
> TBR=phajdan.jr@chromium.org
> Review URL: https://codereview.chromium.org/12383047

TBR=tommi@chromium.org
Review URL: https://codereview.chromium.org/12381037

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@185530 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoRevert 185332
tommi@chromium.org [Fri, 1 Mar 2013 10:48:50 +0000 (10:48 +0000)]
Revert 185332
Speculative revert.  All the GPU bots are currently red, failing at the compile stage.
This time also reverting the skia roll even though a more recent version had been rolled.

> Update khronos GLES2/gl2.h header
>
> BUG=178589
>
> Review URL: https://codereview.chromium.org/12313140

TBR=phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/12383047

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@185521 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoRevert 185518
tommi@chromium.org [Fri, 1 Mar 2013 10:39:42 +0000 (10:39 +0000)]
Revert 185518
> Revert 185332
> Speculative revert.  All the GPU bots are currently red, failing at the compile stage.
> I'm not reverting the skia roll in this change since skia has been rolled again after this change.
>
> > Update khronos GLES2/gl2.h header
> >
> > BUG=178589
> >
> > Review URL: https://codereview.chromium.org/12313140
>
> TBR=phajdan.jr@chromium.org
> Review URL: https://codereview.chromium.org/12383045

TBR=tommi@chromium.org
Review URL: https://codereview.chromium.org/12390032

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@185519 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoRevert 185332
tommi@chromium.org [Fri, 1 Mar 2013 10:26:59 +0000 (10:26 +0000)]
Revert 185332
Speculative revert.  All the GPU bots are currently red, failing at the compile stage.
I'm not reverting the skia roll in this change since skia has been rolled again after this change.

> Update khronos GLES2/gl2.h header
>
> BUG=178589
>
> Review URL: https://codereview.chromium.org/12313140

TBR=phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/12383045

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@185518 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoUpdate khronos GLES2/gl2.h header
phajdan.jr@chromium.org [Thu, 28 Feb 2013 21:58:26 +0000 (21:58 +0000)]
Update khronos GLES2/gl2.h header

BUG=178589

Review URL: https://codereview.chromium.org/12313140

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@185332 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoUpdate eglext.h for ARM DMABUF import extension
sheu@chromium.org [Wed, 27 Feb 2013 03:12:43 +0000 (03:12 +0000)]
Update eglext.h for ARM DMABUF import extension

Updates the Khronos EGL header to pull in new extension spec implemented
by the Exynos/Mali driver to support importing DMABUFs as EGLImages.

BUG=chromium-os:167417
BUG=chromium-os:38376
TEST=local build for snow
TBR=cpu

Change-Id: If18a8610a7ff585841f7abf181668989813a38de

Review URL: https://chromiumcodereview.appspot.com/12316111

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@184853 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

18 months agoadd OWNERS to third_party/khronos
gman@chromium.org [Tue, 26 Feb 2013 04:42:18 +0000 (04:42 +0000)]
add OWNERS to third_party/khronos

BUG=None
TBR=darin@chromium.org,gman@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12254033

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@184580 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoMake use_system_mesa switch work: make symlinks
phajdan.jr@chromium.org [Tue, 22 Jan 2013 17:57:14 +0000 (17:57 +0000)]
Make use_system_mesa switch work: make symlinks
for nacl untrusted build.

BUG=161389

Review URL: https://codereview.chromium.org/11862016

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@178028 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoUse EGL headers to pick up EGL definitions.
sheu@chromium.org [Sat, 19 Jan 2013 04:27:00 +0000 (04:27 +0000)]
Use EGL headers to pick up EGL definitions.

* Remove forward-definitions of EGL types from ui/gl/gl_bindings.h, and use
  the actual EGL headers instead.
* Clean up users of gl_bindings.h to not use system headers.

BUG=chromium:169433
TEST=local build, run on snow; trybots

Change-Id: Ibdf8f92574ff1a31389531fa462f05319b20a66f

Review URL: https://chromiumcodereview.appspot.com/11961032

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@177834 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoMove code around to fix build with system mesa.
phajdan.jr@chromium.org [Wed, 16 Jan 2013 17:57:36 +0000 (17:57 +0000)]
Move code around to fix build with system mesa.

BUG=161389

Review URL: https://codereview.chromium.org/11973003

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@177172 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoLinux: use generated shim headers for system mesa.
phajdan.jr@chromium.org [Tue, 15 Jan 2013 17:34:31 +0000 (17:34 +0000)]
Linux: use generated shim headers for system mesa.

BUG=161389, 165264

Review URL: https://codereview.chromium.org/11693007

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@176926 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoCrOS: Plumb through vsync info to compositor on EGL stacks
backer@chromium.org [Mon, 14 Jan 2013 14:12:53 +0000 (14:12 +0000)]
CrOS: Plumb through vsync info to compositor on EGL stacks

Uses EGL_CHROMIUM_sync_control (a subset of GLX_OML_sync_control) to calculate refresh rate and when refreshes occur. This CL factors out common code from the GLX_OML_sync_control implementation.

BUG=none
TEST=by hand on stumpy, daisy, and desktop

Review URL: https://codereview.chromium.org/11865021

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@176668 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

19 months agoRefactor so chromium only GL extensions require gl2extchromium.h
gman@chromium.org [Wed, 9 Jan 2013 19:56:40 +0000 (19:56 +0000)]
Refactor so chromium only GL extensions require gl2extchromium.h

This is a step toward making third_party/khronos/gl2.h and gl2ext.h
have as few modifications as possible.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/11782020

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@175858 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoExtract Chromium-specific parts out of third_party/khronos/GLES2 .
phajdan.jr@chromium.org [Thu, 27 Dec 2012 21:47:55 +0000 (21:47 +0000)]
Extract Chromium-specific parts out of third_party/khronos/GLES2 .

BUG=161389

Review URL: https://codereview.chromium.org/11679005

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@174699 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoRevert 174687
kmadhusu@chromium.org [Thu, 27 Dec 2012 20:28:00 +0000 (20:28 +0000)]
Revert 174687
> Extract Chromium-specific parts out of third_party/khronos/GLES2 .
>
> BUG=161389
>
> Review URL: https://codereview.chromium.org/11679005

TBR=phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/11676011

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@174695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoExtract Chromium-specific parts out of third_party/khronos/GLES2 .
phajdan.jr@chromium.org [Thu, 27 Dec 2012 17:55:01 +0000 (17:55 +0000)]
Extract Chromium-specific parts out of third_party/khronos/GLES2 .

BUG=161389

Review URL: https://codereview.chromium.org/11679005

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@174687 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoAdd a command to lose the context
gman@chromium.org [Mon, 17 Dec 2012 10:19:09 +0000 (10:19 +0000)]
Add a command to lose the context

BUG=166020

Review URL: https://chromiumcodereview.appspot.com/11568029

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@173441 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoAdd to the GL_CHROMIUM_gpu_memory_manager extension a
ccameron@chromium.org [Fri, 14 Dec 2012 21:38:56 +0000 (21:38 +0000)]
Add to the GL_CHROMIUM_gpu_memory_manager extension a
texture parameter indicating which textures are managed
and which ones aren't.

This will give the GPU memory manager precise information
about how much memory is not under its control (e.g, because
it is WebGL memory).

BUG=164947

Review URL: https://codereview.chromium.org/11517013

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@173213 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoMove gl2chromium.h out of third_party, it really is our file.
phajdan.jr@chromium.org [Fri, 14 Dec 2012 00:33:41 +0000 (00:33 +0000)]
Move gl2chromium.h out of third_party, it really is our file.

This will be helpful for using system mesa.

BUG=161389

Review URL: https://codereview.chromium.org/11466011

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@173017 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoPrevent third_party/khronos from including external dependencies.
apatrick@chromium.org [Thu, 13 Dec 2012 02:33:07 +0000 (02:33 +0000)]
Prevent third_party/khronos from including external dependencies.

Review URL: https://chromiumcodereview.appspot.com/11554033

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@172785 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

20 months agoPlumb glDiscardFramebufferEXT entry point through command buffer
jamesr@chromium.org [Wed, 12 Dec 2012 00:31:58 +0000 (00:31 +0000)]
Plumb glDiscardFramebufferEXT entry point through command buffer

BUG=

Review URL: https://chromiumcodereview.appspot.com/11465018

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@172468 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agogpu: Add async upload functions.
epenner@chromium.org [Fri, 30 Nov 2012 19:57:16 +0000 (19:57 +0000)]
gpu: Add async upload functions.

Just adding the API first to unblock other CLs and so
we can start to use the API. Async tasks are just
done synchronously, and the completion query is set
immediately when it executes in the GPU process.

BUG=161337

Review URL: https://chromiumcodereview.appspot.com/11412232

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@170516 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agoDocumented addition of a few Chromium and ARB extensions to gl2ext.h.
kbr@chromium.org [Thu, 29 Nov 2012 00:57:46 +0000 (00:57 +0000)]
Documented addition of a few Chromium and ARB extensions to gl2ext.h.

BUG=none

Review URL: https://codereview.chromium.org/11413206

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@170109 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agoDisambiguate 'headers' targets in khronos and mesa.
bauerb@chromium.org [Wed, 28 Nov 2012 10:33:46 +0000 (10:33 +0000)]
Disambiguate 'headers' targets in khronos and mesa.

I suspect that the target name collision is causing compile failures on Win (e.g. http://build.chromium.org/p/chromium.win/builders/Win%20Builder/builds/4176/steps/compile/logs/stdio)

BUG=none
TBR=jochen@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/11412217

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@169895 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agoAdd support for GL_CHROMIUM_pixel_transfer_buffer_object.
reveman@chromium.org [Wed, 21 Nov 2012 07:30:30 +0000 (07:30 +0000)]
Add support for GL_CHROMIUM_pixel_transfer_buffer_object.

This adds two new types of buffer objects,
GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM and
GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM. The PIXEL_PACK buffer
affects API calls that pack pixel data, such as glReadPixels. The
PIXEL_UNPACK buffer affects API calls that unpack pixel data, such as
glTexImage2D. These new buffer object are backed by shared memory, which
allows clients to update them without any unnecessary copying.

BUG=111096,161337
TEST=unit tests

Review URL: https://chromiumcodereview.appspot.com/10440019

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@168999 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agoEncapsulate khronos include paths in khronos.gyp,
phajdan.jr@chromium.org [Wed, 21 Nov 2012 00:31:48 +0000 (00:31 +0000)]
Encapsulate khronos include paths in khronos.gyp,

instead of hardcoding it all over the place (literally).
This is one of the steps towards use_system_mesa build option.

BUG=161389

Review URL: https://chromiumcodereview.appspot.com/11416085

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@168931 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

21 months agoUpdate Chrome's GLES2 Headers
gman@chromium.org [Tue, 20 Nov 2012 09:31:22 +0000 (09:31 +0000)]
Update Chrome's GLES2 Headers

BUG=none

Review URL: https://chromiumcodereview.appspot.com/11316046

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@168768 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

22 months agoAdd CommandLatencyQuery to the gpu command buffer
brianderson@chromium.org [Tue, 23 Oct 2012 21:25:55 +0000 (21:25 +0000)]
Add CommandLatencyQuery to the gpu command buffer

Increases query result size to be 64 bits.
Allows result to be used as input on the query begin.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11235012

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@163683 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

22 months agogpu: Add support for GLX_EXT_texture_from_pixmap extension.
reveman@google.com [Thu, 18 Oct 2012 20:54:37 +0000 (20:54 +0000)]
gpu: Add support for GLX_EXT_texture_from_pixmap extension.

Implement CHROMIUM_texture_from_image. This extension behaves just like
EXT_texture_from_pixmap but uses chromium specific image identifiers rather
than platform specific pixmap IDs.

Add IPC message for creating an image identifier using a
gfx::PluginWindowHandle. Each GPU channel maintains a different set of
images and deleting an image will cause the internal image representation
to be freed once it's no longer bound to a texture.

BUG=132342
TEST=gpu_unittests --gtest_filter=TextureInfoTest.GetLevelImage:GLES2DecoderTest.BindTexImage2DCHROMIUM:GLES2DecoderTest.ReleaseTexImage2DCHROMIUM and manual

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=162654

Review URL: https://codereview.chromium.org/10543125

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@162784 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

22 months agoRevert 162654 - gpu: Add support for GLX_EXT_texture_from_pixmap extension.
fischman@chromium.org [Thu, 18 Oct 2012 07:01:11 +0000 (07:01 +0000)]
Revert 162654 - gpu: Add support for GLX_EXT_texture_from_pixmap extension.

Implement CHROMIUM_texture_from_image. This extension behaves just like
EXT_texture_from_pixmap but uses chromium specific image identifiers rather
than platform specific pixmap IDs.

Add IPC message for creating an image identifier using a
gfx::PluginWindowHandle. Each GPU channel maintains a different set of
images and deleting an image will cause the internal image representation
to be freed once it's no longer bound to a texture.

BUG=132342
TEST=gpu_unittests --gtest_filter=TextureInfoTest.GetLevelImage:GLES2DecoderTest.BindTexImage2DCHROMIUM:GLES2DecoderTest.ReleaseTexImage2DCHROMIUM and manual

Review URL: https://chromiumcodereview.appspot.com/10543125

TBR=reveman@chromium.org
Review URL: https://codereview.chromium.org/11188053

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@162656 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

22 months agogpu: Add support for GLX_EXT_texture_from_pixmap extension.
reveman@chromium.org [Thu, 18 Oct 2012 05:15:50 +0000 (05:15 +0000)]
gpu: Add support for GLX_EXT_texture_from_pixmap extension.

Implement CHROMIUM_texture_from_image. This extension behaves just like
EXT_texture_from_pixmap but uses chromium specific image identifiers rather
than platform specific pixmap IDs.

Add IPC message for creating an image identifier using a
gfx::PluginWindowHandle. Each GPU channel maintains a different set of
images and deleting an image will cause the internal image representation
to be freed once it's no longer bound to a texture.

BUG=132342
TEST=gpu_unittests --gtest_filter=TextureInfoTest.GetLevelImage:GLES2DecoderTest.BindTexImage2DCHROMIUM:GLES2DecoderTest.ReleaseTexImage2DCHROMIUM and manual

Review URL: https://chromiumcodereview.appspot.com/10543125

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@162654 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

23 months agoGet real GPU memory values on NV+Linux and OS X. Add an interface to GLContext to...
ccameron@chromium.org [Fri, 21 Sep 2012 00:24:02 +0000 (00:24 +0000)]
Get real GPU memory values on NV+Linux and OS X. Add an interface to GLContext to query the GPU's total video memory.

Note that this is the amount of video memory on the currently-rendering GPU, so different contexts will give different values, and the same context may give different values over time (for instance, on a Macbook Pro with graphics switching).

Of note is that on a Macbook Pro with graphics switching enabled, the contexts don't move together between GPUs -- some stay on the integrated GPU while others use the discrete GPU.

BUG=132994

Review URL: https://chromiumcodereview.appspot.com/10957009

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@157879 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd a function to provide the list of third-party directories which are incompatible...
steveblock@chromium.org [Tue, 14 Aug 2012 11:57:42 +0000 (11:57 +0000)]
Add a function to provide the list of third-party directories which are incompatible with Android.

For most directories, we use a regex of whitelisted licenses to parse the 'License' field from the metadata. In some case, for example, where a custom license is used, we rely on a new 'Android Compatibility' field.

This functionality will be used by the snapshot tool, which will exclude these incompatible directories from the snapshot in the Android tree.

BUG=138921

Review URL: https://chromiumcodereview.appspot.com/10829272

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@151462 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoUse EXT_robustness where available on GLES2 platforms to detect and respond to resets...
kbr@chromium.org [Fri, 27 Jul 2012 04:59:30 +0000 (04:59 +0000)]
Use EXT_robustness where available on GLES2 platforms to detect and respond to resets of the graphics card.

BUG=138162
TEST=ran https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/conformance-suites/1.0.1/extra/slow-shader-example.html on Windows with ANGLE and verified that new code path was taken

Review URL: https://chromiumcodereview.appspot.com/10822029

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@148721 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd GL_CHROMIUM_get_error_query
gman@chromium.org [Mon, 9 Jul 2012 21:07:00 +0000 (21:07 +0000)]
Add GL_CHROMIUM_get_error_query

Makes it possible to asynchronously query GL errors.

TEST=unit tests
BUG=133630

Review URL: https://chromiumcodereview.appspot.com/10577037

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@145739 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd glBindUniformLocationCHROMIUM
gman@chromium.org [Tue, 26 Jun 2012 00:28:33 +0000 (00:28 +0000)]
Add glBindUniformLocationCHROMIUM

TEST=unit tests
BUG=132844

Review URL: https://chromiumcodereview.appspot.com/10635011

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@144070 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoMake GL_CHROMIUM_consistent_uniform_locations slighty more robust
gman@chromium.org [Wed, 20 Jun 2012 02:28:37 +0000 (02:28 +0000)]
Make GL_CHROMIUM_consistent_uniform_locations slighty more robust

Added a program argument so that at least in debug we can
verify locations are correct. It also means we could fallback
to actually calling GetUniformLocation if need be.

TEST=unit tests
BUG=132844

Review URL: https://chromiumcodereview.appspot.com/10581029

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@143126 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAddition of an unpremultiplied-alpha setting for the GL_CHROMIUM_copy_texture command...
twiz@chromium.org [Tue, 19 Jun 2012 15:43:17 +0000 (15:43 +0000)]
Addition of an unpremultiplied-alpha setting for the GL_CHROMIUM_copy_texture command buffer GL extension.

The extension needs to support the ability to unpremultiply the source of the copy because of the canvas2d-webgl texture use case.  Canvas is stored in premultiplied form, yet WebGL expects texture contents to be in unpremultiplied form.

Change also includes conversion of argument types to overriders of WebGraphicsContext3D::copyTextureCHROMIUM(...).
This change is necessary as a result of a wk-change:  https://bugs.webkit.org/show_bug.cgi?id=86275

BUG=101051
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10535174

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@142962 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd support for GL_CHROMIUM_consistent_uniform_locations
gman@chromium.org [Tue, 19 Jun 2012 00:44:58 +0000 (00:44 +0000)]
Add support for GL_CHROMIUM_consistent_uniform_locations

BUG=132844
TEST=unit tests

Review URL: https://chromiumcodereview.appspot.com/10568003

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@142879 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAddition of a set of basic unit tests for the GL_CHROMIUM_copy_texture extension.
twiz@chromium.org [Fri, 4 May 2012 21:13:03 +0000 (21:13 +0000)]
Addition of a set of basic unit tests for the GL_CHROMIUM_copy_texture extension.

This change also introduces a new parameter to the extension, internal_format.  This is to bring the extension closer in functionality to glCopyTexImage.

The tests uncovered state that was not being properly restored:  GL_BLEND.  This is also corrected.

TEST=GLCopyTextureCHROMIUMTest.*
BUG=126178

Review URL: http://codereview.chromium.org/10356004

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@135434 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAllow textures to be moved from one GL context group to another.
apatrick@chromium.org [Tue, 1 May 2012 21:50:59 +0000 (21:50 +0000)]
Allow textures to be moved from one GL context group to another.

The function glProduceTexture(target, mailbox) removes a texture from a context group and puts it in a "mailbox" that is accessible to all context groups on the same channel.

Then glConsumeTexture(target, mailbox) adds the texture to a context group, possibly a different one, if the caller knows the name of the mailbox.

From the point of view of the caller, the texture objects themselves do not move, just the texels. In terms of the underlying GL, the TextureInfo service IDs are reassigned as necessary.

A texture in a mailbox is destroyed when the context group that put it there is destroyed.

Expected usage is:

// Context 1
glBindTexture(GL_TEXTURE_2D, foo);
glProduceTexture(GL_TEXTURE_2D, secret_name);
glFlush();

// Context 2
glBindTexture(GL_TEXTURE_2D, bar);
glConsumeTexture(GL_TEXTURE_2D, secret_name);

Review URL: http://codereview.chromium.org/10106015

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@134791 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoRe-submission of http://codereview.chromium.org/9968113
twiz@chromium.org [Fri, 20 Apr 2012 17:06:28 +0000 (17:06 +0000)]
Re-submission of codereview.chromium.org/9968113

This version corrects the problem that caussed the revert of the above issue.  The shaders used by the extension were specifying a precision, which is not supported on desktop GL.  The shaders now conditionally specify the precision.

------------------------------------------------------

Introduction of CHROMIUM_copy_texture extension that respects pixel-store semantics, and allows copying of BGRA textures.

OpenGL ES does not natively allow for copying textures with a BGRA format. The EXT_texture_format_BGRA8888 extension does not specify support for glCopyTexImage calls on these textures.

This extension provides a routine to perform texture copies to/from BGRA-backed textures that also respects the following CHROMIUM pixel storage modifiers:
UNPACK_FLIP_Y_CHROMIUM
UNPACK_PREMULTIPLY_ALPHA_CHROMIUM

This extension will be useful for the following purposes:
- Copying accelerated Canvas2D contents to WebGL textures without a software readback. (And potentially the same for video-webgl texture copies.)
- Copying Canvas2D contents to the compositor backing store.

BUG=101051
TEST=none

Review URL: http://codereview.chromium.org/10124016

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@133213 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoRevert 132934 - this change seems to break many webgl related layout tests
toyoshim@chromium.org [Thu, 19 Apr 2012 05:54:17 +0000 (05:54 +0000)]
Revert 132934 - this change seems to break many webgl related layout tests

Introduction of CHROMIUM_copy_texture extension that respects pixel-store semantics, and allows copying of BGRA textures.

OpenGL ES does not natively allow for copying textures with a BGRA format. The EXT_texture_format_BGRA8888 extension does not specify support for glCopyTexImage calls on these textures.

This extension provides a routine to perform texture copies to/from BGRA-backed textures that also respects the following CHROMIUM pixel storage modifiers:
UNPACK_FLIP_Y_CHROMIUM
UNPACK_PREMULTIPLY_ALPHA_CHROMIUM

This extension will be useful for the following purposes:
- Copying accelerated Canvas2D contents to WebGL textures without a software readback. (And potentially the same for video-webgl texture copies.)
- Copying Canvas2D contents to the compositor backing store.

BUG=101051
TEST=none

Review URL: http://codereview.chromium.org/9968113

TBR=twiz@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10078006

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@132958 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoIntroduction of CHROMIUM_copy_texture extension that respects pixel-store semantics...
twiz@chromium.org [Thu, 19 Apr 2012 03:20:27 +0000 (03:20 +0000)]
Introduction of CHROMIUM_copy_texture extension that respects pixel-store semantics, and allows copying of BGRA textures.

OpenGL ES does not natively allow for copying textures with a BGRA format. The EXT_texture_format_BGRA8888 extension does not specify support for glCopyTexImage calls on these textures.

This extension provides a routine to perform texture copies to/from BGRA-backed textures that also respects the following CHROMIUM pixel storage modifiers:
UNPACK_FLIP_Y_CHROMIUM
UNPACK_PREMULTIPLY_ALPHA_CHROMIUM

This extension will be useful for the following purposes:
- Copying accelerated Canvas2D contents to WebGL textures without a software readback. (And potentially the same for video-webgl texture copies.)
- Copying Canvas2D contents to the compositor backing store.

BUG=101051
TEST=none

Review URL: http://codereview.chromium.org/9968113

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@132934 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd support for GL_COMMANDS_ISSUED_CHROMIUM fence like query. git-svn
gman@chromium.org [Wed, 14 Mar 2012 07:27:36 +0000 (07:27 +0000)]
Add support for GL_COMMANDS_ISSUED_CHROMIUM fence like query.

I'm not sure this is the right way to do this. I started by adding
a few switch/case statements and then realized that there is
no guarntee that glGenQueriesXXX exists which means I have to NOT
call that for GL_COMMANDS_ISSUED_CHROMIUM queries. I ended up
going down the path of a base class and this is where it lead.

TEST=unit tests
BUG=117768

Review URL: http://codereview.chromium.org/9694025

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@126607 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd a LICENSE file for third_party/khronos
steveblock@chromium.org [Mon, 12 Mar 2012 00:16:03 +0000 (00:16 +0000)]
Add a LICENSE file for third_party/khronos

Note that this directory uses two different licenses, as described in
README.chromium.

This fixes 'tools/licenses.py scan' for this directory.

Review URL: http://codereview.chromium.org/9632023

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@126087 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoFix a double define in gl2ext.h
gman@chromium.org [Wed, 22 Feb 2012 01:27:50 +0000 (01:27 +0000)]
Fix a double define in gl2ext.h

We GL_EXT_framebuffer_multisample to gl2ext.h parts of which
conflict with GL_EXT_multisampled_render_to_texture

The conflict only shows up when compiling for the OpenGL ES 2.0
conformance tests

TEST=compiled the OpenGL ES 2.0 conformance tests
BUG=none

R=apatrick@chromium.org

Review URL: http://codereview.chromium.org/9372082

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@122939 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd gl bindings for ANGLE_instanced_arrays and ARB_instanced_arrays
jbauman@chromium.org [Thu, 9 Feb 2012 00:10:27 +0000 (00:10 +0000)]
Add gl bindings for ANGLE_instanced_arrays and ARB_instanced_arrays

BUG=93148
TEST=

Review URL: http://codereview.chromium.org/9348046

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@121112 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoExpose more glQuery functions
gman@chromium.org [Tue, 7 Feb 2012 09:22:24 +0000 (09:22 +0000)]
Expose more glQuery functions

TEST=none
BUG=88601

Review URL: http://codereview.chromium.org/9321002

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@120745 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoChange PluginWindowHandle to AcceleratedWidget in ui/gfx/gl
piman@chromium.org [Wed, 1 Feb 2012 00:07:21 +0000 (00:07 +0000)]
Change PluginWindowHandle to AcceleratedWidget in ui/gfx/gl

BUG=104551
TEST=compile

Review URL: http://codereview.chromium.org/9160012

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@119990 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoRevert r118525 / Re-land r118240 - the build failure was a flake.
dpranke@chromium.org [Thu, 19 Jan 2012 06:35:21 +0000 (06:35 +0000)]
Revert r118525 / Re-land r118240 - the build failure was a flake.

This change re-enables building gles2_c_lib as a component.

TBR=gman@chromium.org
BUG=107735
TEST=waterfall stays green

Review URL: https://chromiumcodereview.appspot.com/9150022

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@118263 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoRevert r118240 - gles_2_c_lib as a component.
dpranke@chromium.org [Thu, 19 Jan 2012 05:39:17 +0000 (05:39 +0000)]
Revert r118240 - gles_2_c_lib as a component.

Broke compile on windows.

TBR=gman@chromium.org
BUG=107735
TEST=waterfall greens up again

Review URL: https://chromiumcodereview.appspot.com/9264003

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@118252 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoThis change makes gles2_c_lib work as a component. It introduces a gles2_c_lib_export...
dpranke@chromium.org [Thu, 19 Jan 2012 05:15:07 +0000 (05:15 +0000)]
This change makes gles2_c_lib work as a component. It introduces a gles2_c_lib_export.h file, and ensures that all of the GL shim symbols are exported properly.

This also fixes a couple of prototype issues in glTexStorage2DEXT and glEnableFeatureCHROMIUM along the way.

R=gman@chromium.org
TEST=waterfall, specifically platform/chromium/compositing/accelerated-drawing tests don't crash

Review URL: https://chromiumcodereview.appspot.com/8956051

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@118240 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoRoll skia to r2967. Add skia bindings for glTexStorage2D.
bsalomon@google.com [Thu, 5 Jan 2012 21:06:12 +0000 (21:06 +0000)]
Roll skia to r2967. Add skia bindings for glTexStorage2D.

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9111017

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@116558 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdds support for the GL_ANGLE_texture_usage and GL_EXT_texture_storage
vangelis@chromium.org [Tue, 6 Dec 2011 17:26:17 +0000 (17:26 +0000)]
Adds support for the GL_ANGLE_texture_usage and GL_EXT_texture_storage
extensions to the command buffer and the WebGraphicsContext3D APIs.

BUG=106142
TEST=unittests
Review URL: http://codereview.chromium.org/8772033

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@113223 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoAdd GL_ANGLE_pack_reverse_row_order to command buffer
bsalomon@google.com [Wed, 30 Nov 2011 18:06:39 +0000 (18:06 +0000)]
Add GL_ANGLE_pack_reverse_row_order to command buffer

Bug=82559
Review URL: http://codereview.chromium.org/8513017

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@112245 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoPlumb thru that we cache the front buffer.
backer@chromium.org [Thu, 24 Nov 2011 15:43:19 +0000 (15:43 +0000)]
Plumb thru that we cache the front buffer.

This allows us to drop the root layer textures and save on VRAM (10 MB on a 30" display).

WebKit side patch: https://bugs.webkit.org/show_bug.cgi?id=72956

BUG=none
TEST='cat /proc/meminfo | grep Shmem' on Intel graphics and use_aura=1 attached to 30" display

Review URL: http://codereview.chromium.org/8637014

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@111532 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 years agoMove GL headers from gpu to third_party/khronos
skyostil@google.com [Thu, 24 Nov 2011 13:29:37 +0000 (13:29 +0000)]
Move GL headers from gpu to third_party/khronos

This change moves the OpenGL ES and EGL header files from gpu/ to a new third_party/khronos/ directory. The headers are also rebased to the latest upstream versions.

BUG=102824
TEST=none

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=111170

Review URL: http://codereview.chromium.org/8423038

git-svn-id: http://src.chromium.org/svn/trunk/src/third_party/khronos@111523 4ff67af0-8c30-449e-8e8b-ad334ec8d88c