summaryrefslogtreecommitdiffstats
path: root/gpu/gpu.gyp
Commit message (Collapse)AuthorAgeFilesLines
* Move constructor and destructor of MockGLInterface out of line.thakis@chromium.org2010-10-141-0/+2
| | | | | | | | | | | | | Speeds up building all of gpu by over one minute / over 10% on my machine (from 9:23 to 8:11). Move the mock to gpu/command_buffer/common to have a more obvious place for the cc file. BUG=None TEST=None Review URL: http://codereview.chromium.org/3811006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62649 0039d316-1c4b-4281-b951-d872f2087c98
* A step in making it possible for WebGL to request no featuresgman@chromium.org2010-09-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and the add them in as extensions are enabled. The idea is when WebGL inits it's context it will pass "" to FeatureInfo::Initialize. After that it can pass various GL extension strings to FeatureInfo::AddFeatures to turn on more features. It can then call glGetString(GL_EXTENSIONS) to see if the feature was turned on. Questions: I started this CL trying to make it possible so each context could have it's own FeatureInfo. I decided against that. So that brings up the question, should I get rid of FeatureInfo and just put this stuff back on ContextGroup or leave it as is? If I leave it as is, should I move all the max_XXX stuff on ContextGroup to FeatureInfo? TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3413038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61114 0039d316-1c4b-4281-b951-d872f2087c98
* Hooked up functionality for getting info for attribs and uniforms.alokp@chromium.org2010-09-291-0/+1
| | | | | | Review URL: http://codereview.chromium.org/3436030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60951 0039d316-1c4b-4281-b951-d872f2087c98
* Bumped ANGLE rev to 425 to pull the new API for extracting attribs and ↵alokp@chromium.org2010-09-171-0/+2
| | | | | | | | | uniforms. Created a new class ShaderTranslator to encapsulate shader translation. PS: I will add tests for this class once ANGLE actually returns attribs and uniforms. Review URL: http://codereview.chromium.org/3451002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59816 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dependencies on base from GPU common and client code.apatrick@chromium.org2010-09-081-5/+4
| | | | | | | | | | | | | The main change was to make scoped_ptr and the basic types the same for both NaCl and trusted plugins and to implement new logging code for GPU common and client code. Service code and unit tests can still use the logging code in base. I am really not happy with the new logging code but I thought I'd let you take a look at it to see what you think. The biggest thing I don't like is it uses assert(false) to throw an exception in a platform independent way, which brings up a modal dialog. Not ideal in the middle of a unit test run. I don't know if that will make the bots hang. Hopefully they'll time out or something. TEST=try BUG=none Review URL: http://codereview.chromium.org/2936009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58857 0039d316-1c4b-4281-b951-d872f2087c98
* Removed compile-time GLES2_GPU_SERVICE_TRANSLATE_SHADER flag because whether ↵alokp@chromium.org2010-08-251-10/+1
| | | | | | | | shader needs to be translated is a runtime decision. Review URL: http://codereview.chromium.org/3207001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57362 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for the default texture.gman@chromium.org2010-08-241-0/+2
| | | | | | | | | | | | | | | Since we are simulating non-shared resources on top of shared resources we can't actually let contexts use texture 0 because they are all sharing it. Also, moved the black textures to the texture manager. TEST=unit tests and ran conformance tests BUG=none Review URL: http://codereview.chromium.org/3150026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57214 0039d316-1c4b-4281-b951-d872f2087c98
* Adds MapBufferSubData and MapTexSubImage2D.gman@chromium.org2010-07-141-0/+3
| | | | | | | | | | | | | | | | | This is only the internal command buffer implementation. Connecting these functions publicly to PPAPI or whatever will happen separate from this CL. It's not clear to me where to put GL_READ_ONLY and GL_WRITE_ONLY Probably the same place we expose these 2 functions to the public. TEST=unit test BUG=none Review URL: http://codereview.chromium.org/2956005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52263 0039d316-1c4b-4281-b951-d872f2087c98
* Added EGL based GLContext.apatrick@chromium.org2010-06-091-130/+39
| | | | | | | | | | | | | | Python script to generate code to dynamically bind to GL functions (native GL, OSMesa, EGL or mock GL for unit tests). This replaces GLEW because GLEW doesn't bind to the GLES dialect of GL. Moved the mock GL code into app/gfx/gl. Updated the GPU code and AcceleratedSurface to use the new GL bindings. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/2134006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49332 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit http://codereview.chromium.org/2096008/showgman@chromium.org2010-05-191-2/+3
| | | | | | | | | | now that ANGLE has been updated or gcc 4.4.1 TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47721 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting again, will manually build on linux since trybots are apparently ↵gman@chromium.org2010-05-181-3/+2
| | | | | | not up to the task >:-( git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47589 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit with fix that trybot didn't catch.gman@chromium.org2010-05-181-2/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47588 0039d316-1c4b-4281-b951-d872f2087c98
* revert last CLgman@chromium.org2010-05-181-3/+2
| | | | | | | TBR=gman@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47579 0039d316-1c4b-4281-b951-d872f2087c98
* Update the GLSL translator code to use the correct constantsgman@chromium.org2010-05-181-2/+3
| | | | | | | | | | | | | | and save the error log so it can be passed back through GL calls. This also links with the GLSL translator always TEST=conformance tests BUG=none Review URL: http://codereview.chromium.org/2096008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47578 0039d316-1c4b-4281-b951-d872f2087c98
* Landing revision 47182 again: Added dependency on ANGLE for all platforms ↵alokp@chromium.org2010-05-141-39/+17
| | | | | | | | now that it compiles on mac and linx. Also added a GYP flag 'enable_shader_translation'. To enable shader translation define env variable: GYP_DEFINES="enable_shader_translation=1". Review URL: http://codereview.chromium.org/2134002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47295 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47182 - Added dependency on ANGLE for all platforms now that it ↵alokp@chromium.org2010-05-131-13/+39
| | | | | | | | | | | compiles on mac and linx. Also added a GYP flag 'enable_shader_translation'. To enable shader translation define env variable: enable_shader_translation=1. Review URL: http://codereview.chromium.org/1988011 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/2082004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47185 0039d316-1c4b-4281-b951-d872f2087c98
* Added dependency on ANGLE for all platforms now that it compiles on mac and ↵alokp@chromium.org2010-05-131-39/+13
| | | | | | | | linx. Also added a GYP flag 'enable_shader_translation'. To enable shader translation define env variable: enable_shader_translation=1. Review URL: http://codereview.chromium.org/1988011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47182 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for shared resources.gman@chromium.org2010-05-031-3/+3
| | | | | | | | | | | | | | | | It's not clear how to test this easily it seems like we an integration test is needed at some point. I did run the conformance tests with share_resources set to true and it rand without crashing. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/1817002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46264 0039d316-1c4b-4281-b951-d872f2087c98
* Changed angleproject to angle due to name change.alokp@chromium.org2010-04-291-7/+7
| | | | | | Review URL: http://codereview.chromium.org/1712020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45988 0039d316-1c4b-4281-b951-d872f2087c98
* Changes the GLES2Implementation to use a RingBuffergman@chromium.org2010-04-281-0/+3
| | | | | | | | | | | | to manage the transfer buffer. This is significantly faster than the FencedAllocator for our purposes. TEST=some unit tests BUG=none Review URL: http://codereview.chromium.org/1796002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45844 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily removed references to angleproject. It will be added back when ↵alokp@chromium.org2010-04-271-7/+7
| | | | | | | | | angleproject is added. Still fighting with gclient to make it forget about previous references to angleproject. TBR=kbr@chromium.org Review URL: http://codereview.chromium.org/1739013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45746 0039d316-1c4b-4281-b951-d872f2087c98
* Add eglGetProcAddress to pgl.gman@chromium.org2010-04-271-0/+1
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/1797001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45734 0039d316-1c4b-4281-b951-d872f2087c98
* Integrated glsl translator with command-buffer service.alokp@chromium.org2010-04-231-0/+9
| | | | | | Review URL: http://codereview.chromium.org/1773001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45485 0039d316-1c4b-4281-b951-d872f2087c98
* Landing 45240 again.apatrick@chromium.org2010-04-221-21/+1
| | | | | | | | | | | | | | GLContext implementations were dependent on some stuff in app/. Moved GLContext class to app/gfx/gl. Now it can be used by code outside of the gpu project, for example AcceleratedSurface. TEST=trybots, checkdeps BUG=none Review URL: http://codereview.chromium.org/1689006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45335 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45240 - Moved GLContext class to gfx/gl.apatrick@chromium.org2010-04-211-1/+21
| | | | | | | | | | | | | | Now it can be used by code outside of the gpu project, for example AcceleratedSurface. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1694003 TBR=jamesr@chromium.org Review URL: http://codereview.chromium.org/1747007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45244 0039d316-1c4b-4281-b951-d872f2087c98
* Moved GLContext class to gfx/gl.apatrick@chromium.org2010-04-211-21/+1
| | | | | | | | | | | Now it can be used by code outside of the gpu project, for example AcceleratedSurface. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1694003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45240 0039d316-1c4b-4281-b951-d872f2087c98
* Changed NPAPI include path to be absolute. Since we cannot use ANY npapi ↵alokp@chromium.org2010-04-211-4/+0
| | | | | | | | header, keeping the include path as absolute is less confusing. Review URL: http://codereview.chromium.org/1722001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45193 0039d316-1c4b-4281-b951-d872f2087c98
* Added OSMesa based GLContext.apatrick@chromium.org2010-04-201-4/+21
| | | | | | | | | | | | - Renders 3D using Mesa offscreen software renderer. - Will be used to run 3D tests on bots that do not support native OpenGL. - Extended glew library to use the osmesa shared library instead of the regular OpenGL one if it is in the search path. - Only works on Windows with this changelist, though other platforms will continue to use native OpenGL. - Added a stub GLContext implementation for use in unit tests. Review URL: http://codereview.chromium.org/1629029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45093 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit CL#1629004 Support for client side buffersgman@chromium.org2010-04-131-0/+1
| | | | | | | | TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44337 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting commit 44334gman@chromium.org2010-04-131-1/+0
| | | | | | | | | TEST=none BUG=none TBR=dumi@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44335 0039d316-1c4b-4281-b951-d872f2087c98
* Adds client side arraysgman@chromium.org2010-04-131-0/+1
| | | | | | | | | | | | | The code is conditional. I guess my gaming side spidey senses can't stand the overhead but I could be convinced to make it non-conditional. TEST=various unit tests BUG=none Review URL: http://codereview.chromium.org/1629004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44334 0039d316-1c4b-4281-b951-d872f2087c98
* - Extracted platform specific code from GLES2 command decoder to platform ↵apatrick@chromium.org2010-04-091-33/+40
| | | | | | | | | | | | | specific GLContext classes. - GLContext encapsulates management of GL contexts on each platform. - ReadPixels uses actual current window size to validate source rectangle. TEST=trybots, running Pepper 3D and WebGL demos on all platforms BUG=none Review URL: http://codereview.chromium.org/1605014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44129 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate unnecessary dependencies on OpenGL.framework.mark@chromium.org2010-04-021-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | I'm only making this change for the Mac because I can't test it for other platforms right now, but as a general rule, libraries belong inside link_settings sections, not all_dependent_settings (or both). all_dependent_settings says that anyone that depends on a given target, even transitively through a long chain, inherits the enclsoed settings. In this case, chrome_exe and helper_app would inappropriately be linked against OpenGL.framework, even though they did not need to be. It is enough for chrome_dll to link against OpenGL.framework. For that matter, the non-library uses of all_dependent_settings in this file are probably wrong, too. Generally, they should be replaced with direct_dependent_settings. Inappropriate use of all_dependent_settings results in -Defines and -Includes leaking, and can cause problems for remote downstream targets. BUG=none TEST=otool -L GC.app/Contents/MacOS/GC should not show OpenGL.framework Review URL: http://codereview.chromium.org/1604009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43533 0039d316-1c4b-4281-b951-d872f2087c98
* Added GPU unit tests to win, mac and linux builds. They aren't running yet.apatrick@chromium.org2010-03-291-82/+66
| | | | | | | | | TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1577001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43013 0039d316-1c4b-4281-b951-d872f2087c98
* Calling OpenGL from the renderer processapatrick@chromium.org2010-03-251-0/+1
| | | | | | | | | | | | | | - Added ability for renderer processes to render to a real window (Windows only so far). - Added ability to create offscreen frame buffer objects that can be resized later. - OpenGL context can have a "parent" context that can access its last swapped back buffer through a texture ID. - Moved code to establish GPU channel from RenderWidget to RenderThread. - Changed way service size command buffer object lifetimes are managed. TEST=trybot and visual verification that OpenGL can clear the browser window to magenta. BUG=none Review URL: http://codereview.chromium.org/1136006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42679 0039d316-1c4b-4281-b951-d872f2087c98
* Adds renderbuffer and framebuffer tracking so we cangman@chromium.org2010-03-251-0/+6
| | | | | | | | | | | | | | | clear the buffers. Note: I did not actually write the clearing code or the binding code. Will do in another CL after Al checks in his code. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/1243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42577 0039d316-1c4b-4281-b951-d872f2087c98
* Rearrange GLES2 files so they are easier to usegman@chromium.org2010-03-081-9/+4
| | | | | | | | | | | from native client and pepper. TEST=none BUG=none Review URL: http://codereview.chromium.org/668205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40956 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for opening a GPU command buffer from a renderer processes ↵apatrick@chromium.org2010-03-051-1/+1
| | | | | | | | | | | | through a GPU channel. Probably only works in windows only so far. TEST=none BUG=none Review URL: http://codereview.chromium.org/657046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40783 0039d316-1c4b-4281-b951-d872f2087c98
* Reorangizing the GLES2 code to handle sharedgman@chromium.org2010-02-251-3/+11
| | | | | | | | | | | | | | resources and non-renderable texture situations. I haven't written enough unit tests for this but the CL is already too big. TEST=none BUG=none Review URL: http://codereview.chromium.org/646070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39984 0039d316-1c4b-4281-b951-d872f2087c98
* Add '-ldl' to Linux targets that use dynamic loader functions.mmoss@google.com2010-02-231-0/+2
| | | | | | | | | | | | | This fixes compilation errors on Karmic, where dlopen() and friends were undefined: http://chrome-buildbot.corp.google.com:8016/builders/Chromium%20Linux%20Builder%20(dbg-shlib)/builds/7777/steps/compile/logs/stdio The missing '-ldl' is papered over on Hardy because pretty much everything depends on gtk, which brings that in through pkg-config, but pkg-config gtk no longer includes '-ldl' on Karmic. Review URL: http://codereview.chromium.org/656014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39754 0039d316-1c4b-4281-b951-d872f2087c98
* Adds texture tracking.gman@chromium.org2010-02-161-4/+19
| | | | | | | | | | | | | | | | | | I need to add a bunch more unit tests for the TextureManager but this CL is getting large so if you don't mind I'll do that in the next CL. I still need to use the texture tracking at draw time but that's going to require uniform tracking! UGH! Also breaks out a bunch of the tracking classes into their own files. TEST=none BUG=none Review URL: http://codereview.chromium.org/605018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39153 0039d316-1c4b-4281-b951-d872f2087c98
* [GPU] Get GPU process running on the mackbr@google.com2010-02-031-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial port of GPU process / plugin to Mac OS X. Uses new IOSurface APIs and therefore currently runs only on 10.6. Alternate strategy will need to be devised for 10.5. Slight UI issues remain such as GPU plugins initially showing up in the wrong place on the page. These will be fixed in follow-on bugs. Minimal changes made to command buffer code to get it to compile on Mac OS X. Commented out use of nested anonymous namespaces in gles2_cmd_decoder.cc which were causing the linker to crash with a seg fault. Refactored gyp files so the OS test enabling the GPU plugin is in one place, common.gypi, and other files test only the variable enable_gpu. Slight change to gles2_demo_cc.cc to add some simple animation to verify that updates from the GPU plugin are reaching the screen. Changed Pepper test plugin to use 3D view by default and commented out use of audio context because of recent issues. TEST=none (ran Pepper Test Plugin with 3D view enabled) BUG=http://crbug.com/25988 Review URL: http://codereview.chromium.org/558035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37934 0039d316-1c4b-4281-b951-d872f2087c98
* Implements glGetVertexAttribPointervgman@chromium.org2010-01-291-1/+0
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/549201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37496 0039d316-1c4b-4281-b951-d872f2087c98
* Windows now uses the TLS API instead of __declspec(thread) for client side ↵apatrick@chromium.org2010-01-271-0/+1
| | | | | | | | | | | | | | | | | command buffer code compiled into DLLs. Other platforms use the pthreads API. This is because the __declspec(thread) approach does not on some platforms, including Windows XP and Mac. This is used for thread local pointers to the GL and PGL contexts. This unfortunate because the PGL and GL APIs do not generally explicitly reference a context. The current context is set with a call to pglMakeCurrent. An unfortunate consequence is that now in Pepper plugins, every call to a GL function will call TlsGetValue to get the thread's current context, which could have performance issues. I can't use base::ThreadLocalPointer because this code is compiled into an untrusted NaCl module and we don't want Chromium dependencies. TEST=try BUG=none Review URL: http://codereview.chromium.org/553050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37300 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed gles2 demo by switching it from a console application to a windowed ↵apatrick@chromium.org2010-01-191-0/+8
| | | | | | | | | | | one. The HINSTANCE it was getting from the console was invalid for some reason. TEST=none BUG=none Review URL: http://codereview.chromium.org/542119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36558 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmitting r36268 with a fix for mac:apatrick@chromium.org2010-01-151-0/+24
| | | | | | | | | | | Implemented PGL library, an EGL like API for Pepper. Updated Pepper test plugin to use it. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/552007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36318 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36268 - Implemented PGL library, an EGL like API for Pepper. Updated ↵apatrick@chromium.org2010-01-141-24/+0
| | | | | | | | | | | | | | Pepper test plugin to use it. TEST=none yet BUG=none Review URL: http://codereview.chromium.org/545052 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/550048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36270 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented PGL library, an EGL like API for Pepper. Updated Pepper test ↵apatrick@chromium.org2010-01-141-0/+24
| | | | | | | | | | | plugin to use it. TEST=none yet BUG=none Review URL: http://codereview.chromium.org/545052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36268 0039d316-1c4b-4281-b951-d872f2087c98
* linux: dynamically load libGL.so.1, and use glew to dynamically resolve symbolspiman@chromium.org2010-01-091-1/+1
| | | | | | | | | | This is to workaround NVIDIA's broken dlsym hook. BUG=16800 Review URL: http://codereview.chromium.org/525109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35863 0039d316-1c4b-4281-b951-d872f2087c98
* linux: implement gpu pluginpiman@chromium.org2010-01-061-0/+4
| | | | | | | | Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35509 Review URL: http://codereview.chromium.org/500132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35612 0039d316-1c4b-4281-b951-d872f2087c98