summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Expose API for GL_EXT_occlusion_query_boolean but as no-opsgman@chromium.org2012-02-2717-34/+753
| | | | | | | | | | | R=jbauman@chromium.org BUG=88601 TEST=none Review URL: http://codereview.chromium.org/9463027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123766 0039d316-1c4b-4281-b951-d872f2087c98
* Add Pepper support for several GL extensionsjbauman@chromium.org2012-02-261-56/+169
| | | | | | | | | | | | | Add support to the command buffer code generator to generate multiple pepper interfaces, and use that to generate interfaces for ANGLE_instanced_arrays, ANGLE_framebuffer_blit, ANGLE_framebuffer_multisample, CHROMIUM_enable_feature, and CHROMIUM_map_sub. BUG=93148 TEST= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=123696 Review URL: https://chromiumcodereview.appspot.com/9420017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123702 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 123696 - Add Pepper support for several GL extensionsjbauman@chromium.org2012-02-261-169/+56
| | | | | | | | | | | | | | Add support to the command buffer code generator to generate multiple pepper interfaces, and use that to generate interfaces for ANGLE_instanced_arrays, ANGLE_framebuffer_blit, ANGLE_framebuffer_multisample, CHROMIUM_enable_feature, and CHROMIUM_map_sub. BUG=93148 TEST= Review URL: https://chromiumcodereview.appspot.com/9420017 TBR=jbauman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9466042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123697 0039d316-1c4b-4281-b951-d872f2087c98
* Add Pepper support for several GL extensionsjbauman@chromium.org2012-02-261-56/+169
| | | | | | | | | | | Add support to the command buffer code generator to generate multiple pepper interfaces, and use that to generate interfaces for ANGLE_instanced_arrays, ANGLE_framebuffer_blit, ANGLE_framebuffer_multisample, CHROMIUM_enable_feature, and CHROMIUM_map_sub. BUG=93148 TEST= Review URL: https://chromiumcodereview.appspot.com/9420017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123696 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gcc 4.6 warnings in gpu.tony@chromium.org2012-02-231-1/+1
| | | | | | | | | | | The 10th param is an unsigned int. BUG=None Review URL: http://codereview.chromium.org/9456023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123361 0039d316-1c4b-4281-b951-d872f2087c98
* Fix fake uniforms for Uniform2i, 3i and 4igman@chromium.org2012-02-234-14/+37
| | | | | | | | | | | | These 3 functions were not getting translated from fake to real locations TEST=WebGL conformance tests BUG=115397 Review URL: http://codereview.chromium.org/9455004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123199 0039d316-1c4b-4281-b951-d872f2087c98
* Map uniform locations to fake locations.gman@chromium.org2012-02-229-274/+368
| | | | | | | | | | | | | | | | | | | | | | The issue was there's was a vector of location_info_ that mapped real locations to intern info about the corresponding uniform. It assumed locations would be small numbers but it turns out some drivers use the upper 16 bits of a 32 bit location for the location of array elements. We need lookup to be fast so if we make up fake locations for the client then when the client uses a location we can quickly index into our uniform info and get the real location. TEST=unit tests, ran OpenGL ES 2.0 conformance tests and WebGL tests BUG=112230 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9372080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122964 0039d316-1c4b-4281-b951-d872f2087c98
* This is the glue that binds the GpuMemoryManager and the WebKit ↵mmocny@chromium.org2012-02-211-0/+1
| | | | | | | | | | | | | | | | WebGraphicsContext3D GL_CHROMIUM_gpu_memory_manager extension. Depends on: 1. https://chromiumcodereview.appspot.com/9289052/ 2. https://bugs.webkit.org/show_bug.cgi?id=77155 TBR=backer BUG=114234 TEST=GpuMemoryManager unittests updated Review URL: https://chromiumcodereview.appspot.com/9234072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122787 0039d316-1c4b-4281-b951-d872f2087c98
* Use shared memory to update the renderer's view of the command buffer state.jbauman@chromium.org2012-02-175-0/+184
| | | | | | | | | | | | | The renderer can't receive UpdateState messages while it's executing javascript or NaCl, causing it to eventually flushsync once it fills up the command buffer or transfer buffer. To avoid this, share a piece of memory between the renderer and gpu process that the GPU can asynchronously update the state. A 4-slot asynchronous communication mechanism is used so that the renderer always receives a consistent copy of the state that was put in by the GPU process. BUG= TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=122034 Review URL: https://chromiumcodereview.appspot.com/9380037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122593 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Split some of the GPU projects to individual gypi files.rvargas@google.com2012-02-177-149/+211
| | | | | | | | | | There should be no change in behavior. BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9359055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122413 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Make gles2_utils a separate component.rvargas@google.com2012-02-164-6/+40
| | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9365070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122373 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call finish if there is nothing to dogman@chromium.org2012-02-152-36/+4
| | | | | | | | | | TEST=none BUG=25971 Review URL: http://codereview.chromium.org/9392025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122183 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 122034 - Use shared memory to update the renderer's view of the ↵zmo@google.com2012-02-155-185/+0
| | | | | | | | | | | | | | | | | command buffer state. The renderer can't receive UpdateState messages while it's executing javascript or NaCl, causing it to eventually flushsync once it fills up the command buffer or transfer buffer. To avoid this, share a piece of memory between the renderer and gpu process that the GPU can asynchronously update the state. A 4-slot asynchronous communication mechanism is used so that the renderer always receives a consistent copy of the state that was put in by the GPU process. BUG=114397 TEST= Review URL: http://codereview.chromium.org/9380037 TBR=jbauman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9403022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122116 0039d316-1c4b-4281-b951-d872f2087c98
* Use shared memory to update the renderer's view of the command buffer state.jbauman@chromium.org2012-02-155-0/+185
| | | | | | | | | | | | The renderer can't receive UpdateState messages while it's executing javascript or NaCl, causing it to eventually flushsync once it fills up the command buffer or transfer buffer. To avoid this, share a piece of memory between the renderer and gpu process that the GPU can asynchronously update the state. A 4-slot asynchronous communication mechanism is used so that the renderer always receives a consistent copy of the state that was put in by the GPU process. BUG= TEST= Review URL: http://codereview.chromium.org/9380037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122034 0039d316-1c4b-4281-b951-d872f2087c98
* Add AsyncFlush when transferbuffer is > a certain sizegman@chromium.org2012-02-148-23/+114
| | | | | | | | | | | | TEST=unit tests BUG=113241 R=jbauman@chromium.org Review URL: http://codereview.chromium.org/9387014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121849 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for ANGLE_instanced_arraysjbauman@chromium.org2012-02-1422-54/+1416
| | | | | | | | | | | | We require ARB_instanced_arrays or ANGLE_intanced_arrays to support this. BUG=93148 TEST= Review URL: http://codereview.chromium.org/9374006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121838 0039d316-1c4b-4281-b951-d872f2087c98
* Stop using base::rand in GPU processgman@chromium.org2012-02-101-2/+6
| | | | | | | | | | | | | | Does not work with sandbox apparently TEST=ran gpu_unittests BUG=113542 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9375028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121375 0039d316-1c4b-4281-b951-d872f2087c98
* Added a flag gles2_cmd_decoder.cc so the unit tests can turn off all the LOG ↵gman@chromium.org2012-02-103-2/+21
| | | | | | | | | | | | | | | | | messages of synthesized GL errors. The unit tests are specifically testing the errors are generated so they don't need the messages. The messages are still on for other code since any users of that code in Chromium have a bug if they see a log message. R=evan@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/9372031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121366 0039d316-1c4b-4281-b951-d872f2087c98
* Combine ANGLE_instanced_arrays pointers with othersjbauman@chromium.org2012-02-101-9/+0
| | | | | | | | | | | | Reduces duplicate effort needed to use the functions. BUG= TEST= Review URL: http://codereview.chromium.org/9375023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121350 0039d316-1c4b-4281-b951-d872f2087c98
* Fix use-after-free in ~TextureInfopiman@chromium.org2012-02-093-0/+33
| | | | | | | | | | | | | In some paths, the TextureInfo (refcounted) may outlive the TextureManager, accessing a stale pointer in its destructor. This fixes it. BUG=chromium-os:25634 TEST=pepper flash, reload videos many times. Review URL: http://codereview.chromium.org/9374004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121188 0039d316-1c4b-4281-b951-d872f2087c98
* Add gl bindings for ANGLE_instanced_arrays and ARB_instanced_arraysjbauman@chromium.org2012-02-091-0/+18
| | | | | | | | | | BUG=93148 TEST= Review URL: http://codereview.chromium.org/9348046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121112 0039d316-1c4b-4281-b951-d872f2087c98
* Fix OpenGL ES 2.0 conformance test supportgman@chromium.org2012-02-082-2/+3
| | | | | | | | | | | | TEST=ran OpenGL ES 2.0 conformance tests BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9307045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120900 0039d316-1c4b-4281-b951-d872f2087c98
* Swizzle Uniform Locationsgman@chromium.org2012-02-0710-165/+377
| | | | | | | | | | | | TEST=unit tests and ran OpenGL ES 2.0 conformance tests BUG=106062 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9309047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120743 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove even more dead switches.thestig@chromium.org2012-02-071-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/9310105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120737 0039d316-1c4b-4281-b951-d872f2087c98
* Fix TexImage2D clearing too agressivelygman@chromium.org2012-02-075-12/+125
| | | | | | | | | | | | TEST=unit tests and WebGL conformance test BUG=112668 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9307102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120721 0039d316-1c4b-4281-b951-d872f2087c98
* Added CommandBuffer::GetLastError.apatrick@chromium.org2012-02-012-2/+16
| | | | | | | | | | This is equivalent to GetLastState().error. It saves copying 6 ints. This is temporary until skia does not invoke MakeCurrent for every GL call. BUG==112187 Review URL: http://codereview.chromium.org/9314020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120022 0039d316-1c4b-4281-b951-d872f2087c98
* Change PluginWindowHandle to AcceleratedWidget in ui/gfx/glpiman@chromium.org2012-02-015-10/+10
| | | | | | | | | | BUG=104551 TEST=compile Review URL: http://codereview.chromium.org/9160012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119990 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 119430 - Make transferbuffer increase in size dynamically"gman@chromium.org2012-01-2717-1300/+2155
| | | | | | | | | | | | | This reverts commit 2f38c45427c68fe731c1f5c05256b6c141a6a590. BUG=101431 TEST= TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/9121057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119509 0039d316-1c4b-4281-b951-d872f2087c98
* Force the GPU process to reschedule itself after a timeout so it responds to ↵apatrick@chromium.org2012-01-272-4/+61
| | | | | | | | | IPCs. BUG=111514 Review URL: https://chromiumcodereview.appspot.com/9295021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119504 0039d316-1c4b-4281-b951-d872f2087c98
* Remove placeholder commandsgman@chromium.org2012-01-276-153/+6
| | | | | | | | | | | | TEST=none BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9290068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119481 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 119430 - Make transferbuffer increase in size dynamicallykinuko@chromium.org2012-01-2717-2155/+1300
| | | | | | | | | | | | | TEST=unit tests BUG=101431 Review URL: http://codereview.chromium.org/9113069 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9298005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119436 0039d316-1c4b-4281-b951-d872f2087c98
* Make transferbuffer increase in size dynamicallygman@chromium.org2012-01-2717-1300/+2155
| | | | | | | | | | TEST=unit tests BUG=101431 Review URL: http://codereview.chromium.org/9113069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119430 0039d316-1c4b-4281-b951-d872f2087c98
* Move cmd buffer functions to txt file.gman@chromium.org2012-01-272-173/+181
| | | | | | | | | | | | | | | This is to get > 80 char lines out of a .py file so gclint will not complain TEST=none BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9235075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119413 0039d316-1c4b-4281-b951-d872f2087c98
* Remove command buffer command id tests etc..gman@chromium.org2012-01-2712-926/+209
| | | | | | | | | | | | | | | The command buffer is no longer a public API so it's not important that the cmd ids be static. TEST=none BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9288083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119362 0039d316-1c4b-4281-b951-d872f2087c98
* Quick fix to resolve a heap corruption in shader translator.zmo@chromium.org2012-01-261-4/+12
| | | | | | | | | | | For the long run, we should modify the ANGLE interface to also return size for mapped_name, so we can just construct the string with a size parameter. BUG=110559 TEST=test in the bug tracker, no more heap corruption R=gman Review URL: https://chromiumcodereview.appspot.com/9113066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119172 0039d316-1c4b-4281-b951-d872f2087c98
* Clear the backbuffer on initialization in GLES2DecoderImplgman@chromium.org2012-01-252-1/+9
| | | | | | | | | | TEST=unit tests BUG=110352 Review URL: http://codereview.chromium.org/9195022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119140 0039d316-1c4b-4281-b951-d872f2087c98
* Ask the GLSurface for the real service ID of the backbuffer.backer@chromium.org2012-01-201-6/+6
| | | | | | | | | | | | The real FBO ID of the backbuffer may not be 0 (on OSX and Linux Aura). It's a mistake to assume so. BUG=none TEST=none Review URL: http://codereview.chromium.org/9226018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118518 0039d316-1c4b-4281-b951-d872f2087c98
* Do a flip instead of a blit when possible.backer@chromium.org2012-01-202-19/+43
| | | | | | | | | | | If the offscreen buffer is not multisampled and the context was not created requesting that the backbuffer be preserved on SwapBuffers, we can flip instead of blit on the swap. BUG=91426 TEST=by hand using simple_vertex_shader_ppapi requesting EGL_BUFFER_PRESERVED and EGL_BUFFER_DESTROYED; confirmed that offscreen_target_buffer_preserved_ == true for WebGL (although WebGL seems to not hit this path anymore) Review URL: https://chromiumcodereview.appspot.com/9249017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118437 0039d316-1c4b-4281-b951-d872f2087c98
* Code cleanup.backer@chromium.org2012-01-193-31/+5
| | | | | | | | | | | | Seems these callbacks aren't needed anymore. BUG=none TEST=bots stay green; by hand with simple_vertex_shader_ppapi Review URL: http://codereview.chromium.org/9253020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118344 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r118525 / Re-land r118240 - the build failure was a flake.dpranke@chromium.org2012-01-1914-35/+80
| | | | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@118263 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r118240 - gles_2_c_lib as a component.dpranke@chromium.org2012-01-1914-80/+35
| | | | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@118252 0039d316-1c4b-4281-b951-d872f2087c98
* Fix RenderbufferManager to handle deleted objectsgman@chromium.org2012-01-193-13/+48
| | | | | | | | | | | | TEST=unit tests BUG=110198 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9253027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118243 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BufferManager's handling of deleted buffers.gman@chromium.org2012-01-195-71/+112
| | | | | | | | | | | | | | | | The BufferManager was originally designed assuming you can't use a deleted buffer. Now that you can there were some bugs. TEST=unit tests BUG=110198 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9252032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118242 0039d316-1c4b-4281-b951-d872f2087c98
* This change makes gles2_c_lib work as a component. It introduces a ↵dpranke@chromium.org2012-01-1914-35/+80
| | | | | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@118240 0039d316-1c4b-4281-b951-d872f2087c98
* Fix TextureManager optimizations.gman@chromium.org2012-01-199-577/+604
| | | | | | | | | | | | | | | | | | | | | | The issue was the texture manager was originaly written assuming you could not use deleted textures. Now that we allow using deleted textures (per OpenGL ES), textures that get manipulated after being removed from the TextureManager would mess up it's bookkeeping. So no every TextureInfo has a pointer to it's manager. On destruction it will call into the TextureManager to update the bookkeeping. That means all TextureInfos have to be deleted before the TextureManager. R=apatrick@chromium.org BUG=109900 TEST=unit tests Review URL: http://codereview.chromium.org/9211008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118189 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Stop freeing the command buffer when a tab goes to the background. gman@chromium.org2012-01-181-0/+1
| | | | | | | | | | | | | | This essentially reverts functionality" This reverts commit 95bba3796b53af298d6ebbd133e148d6579c3bdc. BUG=103989,108305,108176 TEST=none Review URL: http://codereview.chromium.org/9211017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118140 0039d316-1c4b-4281-b951-d872f2087c98
* Add cmd line switch to make compileShader always succeed.gman@chromium.org2012-01-183-2/+12
| | | | | | | | | | | | | | | | This is so we can test WebGL Conformance tests since the GLSL spec 1.0.17 10.27 says that compileShader can succeed for bad shaders as long as linkProgram doesn't link. TEST=ran OpenGL ES 2.0 conformance tests BUG=110478 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9242016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118022 0039d316-1c4b-4281-b951-d872f2087c98
* Add --enable-gpu-debugging to call glGetError after every command in the ↵gman@chromium.org2012-01-145-9/+59
| | | | | | | | | | | | command buffer. TEST=none BUG=107299 Review URL: http://codereview.chromium.org/8994013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117775 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 116821 - Make StrictSharedIdHandler free its unused ids."gman@chromium.org2012-01-122-2/+26
| | | | | | | | | | | | | | Now that the command buffer no-op if the GPU process crashes this CL should work again BUG=109575,109330 TEST=Ran gpu_tests mentioned in bug TBR=zmo@chromium.org Review URL: http://codereview.chromium.org/9187032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117334 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GLES2 Conformance test supportgman@chromium.org2012-01-111-25/+24
| | | | | | | | | | | | TEST=ran GLES2 Conformance tests BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9166034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117295 0039d316-1c4b-4281-b951-d872f2087c98