summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Removed base dependency from PGL.apatrick@chromium.org2010-09-141-5/+4
| | | | | | | | | | | This is so it can be statically linked with untrusted NaCl code. TEST=try BUG=none Review URL: http://codereview.chromium.org/3366021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59321 0039d316-1c4b-4281-b951-d872f2087c98
* Update build_gles2_cmd_buffer.py for PPAPI.neb@chromium.org2010-09-131-23/+139
| | | | | | | | | BUG=none TEST=generated files on Linux are not different from before, PPAPI files compile fine. Review URL: http://codereview.chromium.org/3227005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59305 0039d316-1c4b-4281-b951-d872f2087c98
* Made GLES demos work on PPAPI.neb@chromium.org2010-09-1311-14/+305
| | | | | | | | | BUG=none TEST=they work on Windows and Linux. Review URL: http://codereview.chromium.org/3132017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59304 0039d316-1c4b-4281-b951-d872f2087c98
* We need to initialize backbuffer to all 0s instead of some random color. It ↵zmo@google.com2010-09-131-1/+1
| | | | | | | | | | | is required by WebGL spec. BUG=none TEST=try Review URL: http://codereview.chromium.org/3324018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59272 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 59119 - Removed includion of <iostream> from logging.h.jamesr@chromium.org2010-09-121-11/+7
| | | | | | | | | | | | | | | So that it does not introduce static initializers into including files. TEST=try BUG=54904 Review URL: http://codereview.chromium.org/3354018 Reverting due to serious perf regression in some cases. TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/3358030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59203 0039d316-1c4b-4281-b951-d872f2087c98
* Removed includion of <iostream> from logging.h.apatrick@chromium.org2010-09-101-7/+11
| | | | | | | | | | | So that it does not introduce static initializers into including files. TEST=try BUG=54904 Review URL: http://codereview.chromium.org/3354018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59119 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process reports context lost when SwapBuffers fails.apatrick@chromium.org2010-09-101-1/+2
| | | | | | | | | | | This is to give the renderer or plugin process an opportunity to recover. TEST=try BUG=none Review URL: http://codereview.chromium.org/3305028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59115 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dependencies on base from GPU common and client code.apatrick@chromium.org2010-09-0830-142/+315
| | | | | | | | | | | | | 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
* Complete initializing a GPU video decoder in a GLES2 contexthclam@chromium.org2010-09-031-0/+3
| | | | | | | | | | | | | | | | | In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the renderer process. In the GPU process the GpuVideoDecoder is connected to a gles2::GLES2Decoder. These changes will be used in the future to switch context before issuing video decode commands. This is also needed by the GPU process to translate a client texture ID to a service texture ID in the GPU video decoder. BUG=53714 TEST=none Review URL: http://codereview.chromium.org/3266008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58518 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process SwapBuffers from child to parent context calls glFlush before ↵apatrick@chromium.org2010-09-021-62/+56
| | | | | | | | | | | | | | | invoking SwapBuffers callback. This is required for the side effects of the swap to be guaranteed visible to teh parent context. Also fixed the back buffer clearing to work with ANGLE. TEST=try, change the default clear color to test that the back buffer was actually cleared. BUG=none Review URL: http://codereview.chromium.org/3170035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58413 0039d316-1c4b-4281-b951-d872f2087c98
* Added check that:alokp@chromium.org2010-09-011-0/+5
| | | | | | | | - all invalid shaders are rejected by the translator and - all translated shaders are compiled Review URL: http://codereview.chromium.org/3256007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58229 0039d316-1c4b-4281-b951-d872f2087c98
* Add way to create a texture in parent's context and copy into itjamesr@chromium.org2010-08-2812-0/+145
| | | | | | | | | | | | | | | | | | | | | | For canvas we need a way to create multiple offscreen render targets within the same OpenGL context and expose them all to the compositor, which exists as a parent context. ggl currently provides a single framebuffer and texture pair per offscreen context and implements swapBuffers() to copy to the parent texture. This generalizes that to let clients create as many parent textures as necessary and do the equivalent of swapBuffers() for each without the service side needing to keep track of the mapping. We'll want to change this in the future when we start using glBlitFramebuffer to support multisampling. I think in that world we'll need a way to bind a texture in the parent's context to the DRAW_FRAMEBUFFER context. For now, I think this is OK. TEST=open a page with multiple accelerated canvases in a shared context BUG=52684 Review URL: http://codereview.chromium.org/3211005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57761 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 7)thestig@chromium.org2010-08-273-8/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3176026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57737 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_OES_depth24gman@chromium.org2010-08-262-1/+15
| | | | | | | | | | | | | Apparently there is no way to test for support for 24bit renderbuffers on desktop GL. They are just supposed to work or something. TEST=unit tests BUG=53358 Review URL: http://codereview.chromium.org/3167041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57574 0039d316-1c4b-4281-b951-d872f2087c98
* Bumped ANGLE rev and related changes.alokp@chromium.org2010-08-261-8/+12
| | | | | | Review URL: http://codereview.chromium.org/3148038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57568 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Switch to DWARF for official builds. Good riddence.thestig@chromium.org2010-08-261-4/+0
| | | | | | | | BUG=20737 TEST=none Review URL: http://codereview.chromium.org/2892001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57553 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue with count=0 for DrawArrays and DrawElementsgman@chromium.org2010-08-262-0/+35
| | | | | | | | | | TEST=unit tests BUG=52752 Review URL: http://codereview.chromium.org/3180025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57450 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for GL_EXT_texture_compression_s3tc,gman@chromium.org2010-08-266-9/+189
| | | | | | | | | | | | | GL_EXT_texture_filter_anisotropic, GL_OES_packed_depth_stencil GL_GOOGLE_depth_texture TEST=unit tests and ran conformance tests BUG=53262,53264,53266,53270 Review URL: http://codereview.chromium.org/3135048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57428 0039d316-1c4b-4281-b951-d872f2087c98
* Removed compile-time GLES2_GPU_SERVICE_TRANSLATE_SHADER flag because whether ↵alokp@chromium.org2010-08-252-52/+34
| | | | | | | | 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-2412-173/+288
| | | | | | | | | | | | | | | 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 support for EXT_framebuffer_multisamplegman@chromium.org2010-08-2318-62/+665
| | | | | | | | | | | | | | | I probably need more tests but in order to test I need to figure out how to init the system with different caps enabled from the unit tests and that's probably not a small amount of work so leaving that till later. TEST=some unit tests, ran conformance tests BUG=none Review URL: http://codereview.chromium.org/3122033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57081 0039d316-1c4b-4281-b951-d872f2087c98
* Sorry but I had to rollback this change.gman@chromium.org2010-08-201-135/+24
| | | | | | | | | | | os.path.relpath is not available with python 2.4 which is the verison of python that Chrome's build system ships with. TBR=neb@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56887 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper2 Graphics3D implementation - browser side.neb@chromium.org2010-08-171-24/+135
| | | | | | | | | BUG=46374 TEST=opengl demos work on Pepper2 Review URL: http://codereview.chromium.org/3020049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56401 0039d316-1c4b-4281-b951-d872f2087c98
* Properly fixing crash due to out-of-order call of ShInitialize and ShFinalize.alokp@chromium.org2010-08-121-8/+18
| | | | | | Review URL: http://codereview.chromium.org/3122009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55935 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_EXT_read_format_bgra.gman@chromium.org2010-08-122-2/+40
| | | | | | | | | | | I think this is all that is needed. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3109008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55860 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes glAttachShader to be OpenGL ES 2.0 spec compliant.gman@chromium.org2010-08-124-11/+20
| | | | | | | | | | | | You're not supposed to be able to attach more than one shader of the same type unlike OpenGL. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3107007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55844 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55766 - Enable -fPIC by default on x64mirandac@chromium.org2010-08-121-3/+8
| | | | | | | | | | | | | | Get rid of linux_fpic gyp variable. BUG=26625 TEST=all linux builds should compile Review URL: http://codereview.chromium.org/3135001 TBR=nirnimesh@chromium.org Review URL: http://codereview.chromium.org/3150006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55836 0039d316-1c4b-4281-b951-d872f2087c98
* Fix glGetFramebufferAttachmentParameteriv so it returnsgman@chromium.org2010-08-124-153/+261
| | | | | | | | | | | current names for buffers. TEST=unit_tests and conformance tests BUG=none Review URL: http://codereview.chromium.org/3135003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55831 0039d316-1c4b-4281-b951-d872f2087c98
* Enable -fPIC by default on x64nirnimesh@chromium.org2010-08-111-8/+3
| | | | | | | | | | | Get rid of linux_fpic gyp variable. BUG=26625 TEST=all linux builds should compile Review URL: http://codereview.chromium.org/3135001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55766 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily fixed a crash because of calling ShInitialize and ShFinalize out ↵alokp@chromium.org2010-08-111-1/+4
| | | | | | | | of order. Need to move them to a place where they are called only once per process. Review URL: http://codereview.chromium.org/3154004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55748 0039d316-1c4b-4281-b951-d872f2087c98
* ContextGroup::Initialize fails on insufficient vertex attribs or texture units.apatrick@chromium.org2010-08-091-4/+6
| | | | | | | | | | | It was an assertion before but these are legitimate runtime errors. TEST=try, gpu unit tests locally BUG=none Review URL: http://codereview.chromium.org/3027047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55463 0039d316-1c4b-4281-b951-d872f2087c98
* Clear render buffersgman@chromium.org2010-08-0610-17/+629
| | | | | | | | | TEST=unit tests BUG=41300 Review URL: http://codereview.chromium.org/3058043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55169 0039d316-1c4b-4281-b951-d872f2087c98
* A couple of minor fixes for CopyTexImage2Dgman@chromium.org2010-08-045-44/+39
| | | | | | | | | TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3030038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54935 0039d316-1c4b-4281-b951-d872f2087c98
* Initial port of accelerated compositor to Mac OS X 10.6. Reusedkbr@google.com2010-08-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | infrastructure added for Pepper 3D and Core Animation plugins to render the compositor's output. The implementation allocates a fake "plugin window handle" on the browser side which is the "root" handle, containing the compositor's output, and which, if present, is drawn before any other accelerated plugin instances. Added messages from GPU process to browser process for handling window resizing and presentation of output. Added support to GGL for "view" contexts on Mac OS X, used only for the accelerated compositor, and requiring explicit resize notifications. The remainder of this port will go into the WebKit repository under https://bugs.webkit.org/show_bug.cgi?id=43398 after this for dependency reasons. Tested manually with CSS 3D and WebGL demos. Several stability and correctness issues remain and will be addressed in following CLs; however, the current code works for the majority of basic use cases including switching between accelerated compositing on and off, and scrolling of content. BUG=38969 TEST=none Review URL: http://codereview.chromium.org/3067026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54923 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Some clang appeasing.thakis@chromium.org2010-08-041-1/+2
| | | | | | | | BUG=TEST=none Review URL: http://codereview.chromium.org/3089004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54870 0039d316-1c4b-4281-b951-d872f2087c98
* GPU command decoder uses depth24_stencil8_oes extension if available.apatrick@chromium.org2010-08-025-93/+68
| | | | | | | | | | | | | This is now the only depth / stencil format supported by ANGLE. Other GLES2 implementations will only use it if the extension is supported. Also changed all usage of GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2 to a runtime check since we no longer know at compile time whether the backend will be GL ot GLES2. TEST=try, GPU unit tests locally, WebGL locally, Pepper 3D locally BUG=none Review URL: http://codereview.chromium.org/3046035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54627 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-312-3/+8
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* Adds range checking to glTexSubImage2D, glCompressedTexSubImage2D,gman@chromium.org2010-07-319-21/+473
| | | | | | | | | | | | | glCopyTexSubImage2D. Adds missing range tracking for glCopyTexImage2D Also makes glTexImage2D, glCopyTexImage2D and glCompressedTexImage2D check for errors. TEST=some unit test and ran conformance tests. BUG=none Review URL: http://codereview.chromium.org/3046033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54452 0039d316-1c4b-4281-b951-d872f2087c98
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-301-2/+4
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* Bumped ANGLE rev in which shader translator API changed. Updated shader ↵alokp@chromium.org2010-07-271-30/+50
| | | | | | | | translation code to reuse compilers for performance. Review URL: http://codereview.chromium.org/3035028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53805 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for gman@chromium.org2010-07-208-15/+242
| | | | | | | | | | | | | | GL_OES_texture_float, GL_OES_texture_float_linear, GL_OES_texture_half_float, GL_OES_texture_half_float_linear TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3005017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53060 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed standalone command buffer demos.apatrick@chromium.org2010-07-201-1/+7
| | | | | | | | | TEST=try BUG=none Review URL: http://codereview.chromium.org/2870056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53057 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the gles2_demo to work with latest gpu processgman@chromium.org2010-07-193-0/+13
| | | | | | | | | | | stuff. Also added GL_BGRA_EXT to ElementsPerGroup TEST=hand ran gles2_demo BUG=none Review URL: http://codereview.chromium.org/2888016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52887 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Fix gpu::gles2::GetCommandName range check.mattm@chromium.org2010-07-161-5/+2
| | | | | | | | | | CID=7802 BUG=none TEST=none Review URL: http://codereview.chromium.org/2813056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52722 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for OpenGL ES 2.0 extensionsgman@chromium.org2010-07-1614-133/+455
| | | | | | | | | | | | | | this one specifically adds support for GL_EXT_texture_compression_dxt1 and GL_OES_texture_npot and GL_EXT_texture_format_BGRA8888 TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/2827051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52598 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for gl2ext.hgman@chromium.org2010-07-161-4/+16
| | | | | | | | | TEST=hand tested with gles2_demo and simple_texture2d BUG=none Review URL: http://codereview.chromium.org/3039003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52579 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed bug with the way the command buffer code handledgman@chromium.org2010-07-153-10/+29
| | | | | | | | | | | arrays of uniforms. TEST=unit tests and WebGL conformance tests BUG=none Review URL: http://codereview.chromium.org/2834048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52552 0039d316-1c4b-4281-b951-d872f2087c98
* Expose MapBufferSubData and MatTexSubImage2Dgman@chromium.org2010-07-153-467/+474
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/2911010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52541 0039d316-1c4b-4281-b951-d872f2087c98
* GLES2DecoderImpl takes ownership of GLContext passed to initialize.apatrick@chromium.org2010-07-149-49/+60
| | | | | | | | | | | This is to simplify the management of the GLContext lifetime (one per decoder) when we support shared contexts. TEST=try, WebGL demos BUG=none Review URL: http://codereview.chromium.org/2998001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52390 0039d316-1c4b-4281-b951-d872f2087c98
* Adds MapBufferSubData and MapTexSubImage2D.gman@chromium.org2010-07-1416-37/+1059
| | | | | | | | | | | | | | | | | 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