summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Fix OES_texture_float test failure.zmo@chromium.org2012-03-201-8/+38
| | | | | | | | | | | We need to map the internal_format on desktop GL. BUG=118091 TEST=webgl conformance tests R=gman Review URL: https://chromiumcodereview.appspot.com/9752013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127784 0039d316-1c4b-4281-b951-d872f2087c98
* Increase reschedule timeout to 1 second.jbauman@chromium.org2012-03-201-1/+1
| | | | | | | | | | | | | Due to the new per-command-buffer descheduling, this was being hit too often due to shader compiles and other expensive operations in still-scheduled command buffers. BUG= TEST= Review URL: http://codereview.chromium.org/9732023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127774 0039d316-1c4b-4281-b951-d872f2087c98
* Check that attachments are the correct type for the attachment typegman@chromium.org2012-03-194-19/+87
| | | | | | | | | | | | TEST=unit tests BUG=102232 R=jbauman@chromium.org Review URL: http://codereview.chromium.org/9732010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127559 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused code in StrictSharedIdHandlergman@chromium.org2012-03-191-10/+0
| | | | | | | | | | | | TEST=none BUG=109504 R=jbauman@chromium.org Review URL: http://codereview.chromium.org/9732004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127537 0039d316-1c4b-4281-b951-d872f2087c98
* Add OpenGL occlusion query support to pepper.jbauman@chromium.org2012-03-161-1/+10
| | | | | | | | | | | Should be full support for opengl es's occlusion query interface. Still only dev interfaces right now. BUG=88601 TEST= Review URL: https://chromiumcodereview.appspot.com/9601020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127298 0039d316-1c4b-4281-b951-d872f2087c98
* clang: Fix two -Wbool-conversion warningsthakis@chromium.org2012-03-161-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/9700063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127128 0039d316-1c4b-4281-b951-d872f2087c98
* JSONWriter cleanup: integrate pretty print into write options.ericdingle@chromium.org2012-03-161-2/+3
| | | | | | | | | | | BUG= TEST=base_unittests TBR=abodenha@chromium.org,ajwong@chromium.org,chocobo@chromium.org,mnissler@chromium.org,akalin@chromium.org,brettw@chromium.org,arv@chromium.org Review URL: http://codereview.chromium.org/9590002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127080 0039d316-1c4b-4281-b951-d872f2087c98
* Make Occlusion Query Samplegman@chromium.org2012-03-155-7/+342
| | | | | | | | | | | | BUG=88601 TEST=this is the test Make Occlusion Query test Review URL: http://codereview.chromium.org/9699048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127009 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb client side synthesized GL messages to JS Consolegman@chromium.org2012-03-152-1/+18
| | | | | | | | | | | | TEST=tested by hand BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9706042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126869 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_COMMANDS_ISSUED_CHROMIUM fence like query.gman@chromium.org2012-03-1415-442/+649
| | | | | | | | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@126607 0039d316-1c4b-4281-b951-d872f2087c98
* Insert No-ops into the command buffer when glQueryObjectuiv is called.gman@chromium.org2012-03-141-0/+3
| | | | | | | | | | | | | | | | This is so that if that if the GPU process dies we'll notice. Otherwise, no IPC messages will ever be sent to the GPU process and so nothing will check that it's still living. TEST=none BUG=88601 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9689083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126545 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2012-03-132-1/+6
| | | | | | | | | | | | | CID_COUNT=2 CID=103473,103474 BUG=none TEST=none R=groby Review URL: http://codereview.chromium.org/9666036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126345 0039d316-1c4b-4281-b951-d872f2087c98
* Switch query_tracker to use tr1/unordered_map for faster look ups.nfullagar@google.com2012-03-132-5/+2
| | | | | | | | | | tr1/unordered_map is compatible with NaCl BUG=none TEST=none Review URL: http://codereview.chromium.org/9695017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126324 0039d316-1c4b-4281-b951-d872f2087c98
* Move constructor and destructor of GLES2CmdHelper out of linethakis@chromium.org2012-03-134-8/+15
| | | | | | | | | | | | | | | | This makes the cc file a bit less pointless and also removes a (harmless) "no symbols defined in static library" build warning in mac. gles2_conform_support/egl/display.h uses GLES2CmdHelper, so add a dependency from egl_native to gles2_cmd_helper to fix a dependency issue exposed by this change. BUG=none TEST=temporary ocd relief Review URL: http://codereview.chromium.org/9662026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126304 0039d316-1c4b-4281-b951-d872f2087c98
* Schedule for pending queriesgman@chromium.org2012-03-137-13/+38
| | | | | | | | | | | | TEST=some unit tests BUG=88601 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9693008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126302 0039d316-1c4b-4281-b951-d872f2087c98
* Land http://src.chromium.org/viewvc/chrome?view=rev&revision=125984 to trunk.cevans@chromium.org2012-03-121-1/+2
| | | | | | | | BUG=125984 TBR=apatrick Review URL: https://chromiumcodereview.appspot.com/9693011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126213 0039d316-1c4b-4281-b951-d872f2087c98
* Make gles2_c_lib depend on command_buffer_clientthakis@chromium.org2012-03-081-0/+2
| | | | | | | | | | | | | | gles2_c_lib is missing a dependency on command_buffer_client, since GLES2AttachShader and friends use gpu::CommandBufferHelper::GetSpace(unsigned int). This breaks the work-in-progress components build on mac. (Triggered by https://chromiumcodereview.appspot.com/9581018/) BUG=90078 TEST=none Review URL: http://codereview.chromium.org/9630019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125691 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_EXT_occlusion_query_booleangman@chromium.org2012-03-0837-411/+2524
| | | | | | | | | | TEST=unit tests BUG=88601 Review URL: http://codereview.chromium.org/9555011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125649 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Pickle Read methods to use higher performance PickleIterator.jbates@chromium.org2012-03-072-3/+3
| | | | | | | | | | | | | | | | There was a lot of redundant error checking and initialization code in all Pickle Read methods because of the void** iterator type. This change replaces the void* iterator with PickleIterator, which encapsulates the read pointer so that less error checking and initialization code is needed for reading. PickleIterator has all the necessary data to do the actual reading. The advantage of having it provide Read methods (as opposed to leaving them solely in the Pickle interface) is that the callers do not need to pass around the const Pickle* once they have a PickleIterator. Followup CLs will refactor the call sites to remove const Pickle* arguments where they are now unnecessary. Then the Pickle::Read* methods can be removed entirely. The alternative approach would have been to change the Pickle::Read methods to non-const and remove the iterator parameter (making Read methods advance an internal read pointer). Unfortunately, the const Read with iterator design is entrenched throughout the chromium code, making this a much more complex change with the same performance outcome. BUG=13108 Review URL: https://chromiumcodereview.appspot.com/9447084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125447 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Fix the component build when the incremental linker is used.rvargas@google.com2012-03-071-1/+1
| | | | | | | | | BUG=114261 TEST=none TBR=gman Review URL: https://chromiumcodereview.appspot.com/9617033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125277 0039d316-1c4b-4281-b951-d872f2087c98
* Deschedule command buffer while polling fencesjbauman@chromium.org2012-03-062-5/+8
| | | | | | | | | | | Use the normal deschedule path when waiting for fences, and use a separate callback to poll for the fences to complete (not the normal rescheduled command buffer message). This lets us run commands on other command buffers while waiting for this command buffer to finish. BUG=112349 Review URL: http://codereview.chromium.org/9553012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125234 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Build most of the gpu as a single DLL.rvargas@google.com2012-03-0535-304/+478
| | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9581018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124983 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 124702 - GPU: Buld most of the gpu as a single DLL.rvargas@google.com2012-03-0234-474/+302
| | | | | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9514020 TBR=rvargas@google.com Review URL: https://chromiumcodereview.appspot.com/9582024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124715 0039d316-1c4b-4281-b951-d872f2087c98
* Fails glLinkProgram if two glBindAttribLocation conflicts.zmo@chromium.org2012-03-024-1/+126
| | | | | | | | | | | | | i.e., two declared attributes are bound to the same location, then we fail the link. Many drivers already do this, but not all of them. For example, mesa does not, and it caused memory corruption actually. So we do this in chrome command buffer. BUG=112569 TEST=test case in 112569 R=gman Review URL: https://chromiumcodereview.appspot.com/9570023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124707 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Buld most of the gpu as a single DLL.rvargas@google.com2012-03-0234-302/+474
| | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9514020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124702 0039d316-1c4b-4281-b951-d872f2087c98
* 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