summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Added ppapi::Surface3D. This CL completes the new Pepper3D interface. The ↵alokp@chromium.org2010-12-281-4/+10
| | | | | | | | implementation is still incomplete but all gpu demos still work! Review URL: http://codereview.chromium.org/6047008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70229 0039d316-1c4b-4281-b951-d872f2087c98
* Added ppapi::Context3D interface. The API has already been reviewed. I am ↵alokp@chromium.org2010-12-232-20/+24
| | | | | | | | adding the new API incrementally so as not to break the demos. Review URL: http://codereview.chromium.org/6062003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70037 0039d316-1c4b-4281-b951-d872f2087c98
* Make CopyTexImage2D and CopyTexSubImage2D fail ifgman@chromium.org2010-12-2316-172/+611
| | | | | | | | | | | formats are incompatible. TEST=unit tests, more WebGL conformance tests pass. BUG=none Review URL: http://codereview.chromium.org/6028005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70021 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Don't hang gpu process if a tab that shares its renderer process with ↵thakis@chromium.org2010-12-222-0/+14
| | | | | | | | | | | | | | | | | | | | | | other tabs and that has accelerated content and outstanding paints. The problem was that the renderer process busy-waits on the GPU process to flush all gpu commands on close, and the GPU process waits with processing commands from the renderer until a paint ack arrives from the browser. But since the window is already closed, no paint acks are sent any more. The fix is to let the browser tell the GPU process when a window is closed, and then let the GPU process not wait for paint acks if the corresponding window has already been closed. Closed windows are identified by (renderer process id, render view routing id). Identifying closed windows by either surface id or gpu channel stub routing id does not work, because they are both created on the GPU side and sent to the browser asynchronously, so it's possible that a browser tab is closed before the ID arrives from the GPU process – in that case, it can't send the "window closed" message even though the GPU process is already in a state where it needs this event. BUG=67170 TEST= 1.) Go to http://www.chromeexperiments.com/detail/body-browser/?f=webgl , click "Launch Experiment", wait until everything is loaded, close popup. %cpu of gpu process and renderer process should go to 0 2.) Go to http://www.chromeexperiments.com/detail/body-browser/?f=webgl , click "Launch Experiment", wait until the bar on the left is loaded but the body isn't yet, close popup. %cpu of gpu process and renderer process should go to 0, but it might take a few seconds until the %cpu in the renderer go down (the site decides to parse the XHR data that gets flushed on widget close) 3.) Go to http://www.chromeexperiments.com/detail/nine-point-five/?f=webgl , click "Launch Experiment", wait until everything is loaded, close popup. %cpu of gpu process and renderer process should go to 0 4.) Go to http://www.chromeexperiments.com/detail/nine-point-five/?f=webgl , click "Launch Experiment", close popup immediately after the background color changed to light grey. %cpu of gpu process and renderer process should go to 0 5.) Go to http://www.chromeexperiments.com/detail/nine-point-five/?f=webgl , click "Launch Experiment", close popup immediately. %cpu of gpu process and renderer process should go to 0 Review URL: http://codereview.chromium.org/6076005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70000 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed requesting of GL_EXT_texture_format_BGRA8888 andkbr@chromium.org2010-12-222-3/+6
| | | | | | | | | | | | | | GL_EXT_read_format_bgra on desktop systems where the underlying extension is GL_EXT_bgra. Fixed glDrawArrays to synthesize INVALID_VALUE instead of INVALID_ENUM when first < 0. Tested these changes with --enable-accelerated-2d-canvas. BUG=none TEST=none Review URL: http://codereview.chromium.org/6015006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69907 0039d316-1c4b-4281-b951-d872f2087c98
* Map the render process's glBindFramebuffer(0) to the context's backing FBO.klobag@chromium.org2010-12-211-0/+2
| | | | | | | | | The default for the context's backing FBO is 0. If the context does have an internal FBO, it can return it so that glBindFramebuffer(0) will not detach the texture from it. Review URL: http://codereview.chromium.org/5987004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69879 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the depedency of gpu::demos on base.alokp@chromium.org2010-12-217-53/+25
| | | | | | Review URL: http://codereview.chromium.org/6081003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69873 0039d316-1c4b-4281-b951-d872f2087c98
* Fix glCopyTexImage2D and glCopyTexSubImage2D to handlegman@chromium.org2010-12-213-3/+97
| | | | | | | | | | | offscreen source areas like glReadPixels does. TEST=webgl conformance tests pass BUG=none Review URL: http://codereview.chromium.org/6035003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69869 0039d316-1c4b-4281-b951-d872f2087c98
* Moved the logic of maintaining the current context to gles2 helper library.alokp@chromium.org2010-12-213-47/+95
| | | | | | Review URL: http://codereview.chromium.org/5927002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69838 0039d316-1c4b-4281-b951-d872f2087c98
* Added --enable-accelerated-layers to run_as block of ppapi demos.alokp@chromium.org2010-12-161-0/+2
| | | | | | Review URL: http://codereview.chromium.org/5933001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69404 0039d316-1c4b-4281-b951-d872f2087c98
* Added a stub gles2 implementation.alokp@chromium.org2010-12-151-0/+21
| | | | | | Review URL: http://codereview.chromium.org/5779006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69279 0039d316-1c4b-4281-b951-d872f2087c98
* Even more virtual method deinlining.erg@google.com2010-12-134-8/+28
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5741001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69041 0039d316-1c4b-4281-b951-d872f2087c98
* Make shader and program object lifetimes match OpenGL ES spec.gman@chromium.org2010-12-1310-97/+429
| | | | | | | | | TEST=unit tests BUG=65705 Review URL: http://codereview.chromium.org/5676003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69039 0039d316-1c4b-4281-b951-d872f2087c98
* Fix off by one error in glGetShaderiv for the sizegman@chromium.org2010-12-132-1/+50
| | | | | | | | | | | of the shader source. TEST=added webgl conformance test BUG=66494 Review URL: http://codereview.chromium.org/5719003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69024 0039d316-1c4b-4281-b951-d872f2087c98
* Hard code number of auto generated command buffer unitgman@chromium.org2010-12-101-3/+3
| | | | | | | | | | | | | | | | | | tests per file so that tests do not move from file to file. The problem is gles2_cmd_decoder_n_unittest_autogen.h is dependent on gles2_cmd_decoder_n_unittest.cc So if a test moves to another generated file then the things it depends on do not move withit. TEST=none BUG=65400 Review URL: http://codereview.chromium.org/5686003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68897 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize destinations variables before calling GL functionsgman@chromium.org2010-12-074-2/+93
| | | | | | | | | | | | because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5254006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68480 0039d316-1c4b-4281-b951-d872f2087c98
* Move limiting how many SwapBuffer calls the clientgman@chromium.org2010-12-072-0/+12
| | | | | | | | | | | | can queue from ggl to the command buffer code. TEST=none BUG=none Review URL: http://codereview.chromium.org/5606009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68479 0039d316-1c4b-4281-b951-d872f2087c98
* Exposed support for dynamically enabling extensions in command bufferkbr@google.com2010-12-0620-111/+413
| | | | | | | | | | | | | | | | | | implementation via new glGetRequestableExtensionsCHROMIUM and glRequestExtensionCHROMIUM entry points. These entry points are needed in order to allow WebGL to both query the available extensions and enable them individually. Added these entry points to WebGraphicsContext3DCommandBufferImpl. A subsequent WebKit checkin under https://bugs.webkit.org/show_bug.cgi?id=40316 will utilize them and implement the OES_texture_float extension for WebGL. BUG=none TEST=none (ran with new oes-texture-float.html WebGL conformance test) Review URL: http://codereview.chromium.org/5626008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68352 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes divide by zero bug in readpixelsgman@chromium.org2010-12-032-2/+31
| | | | | | | | | TEST=unit tests BUG=64746 Review URL: http://codereview.chromium.org/5586002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68230 0039d316-1c4b-4281-b951-d872f2087c98
* Fix zero length string bug and NPOT buggman@chromium.org2010-12-034-15/+24
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/5568004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68224 0039d316-1c4b-4281-b951-d872f2087c98
* scons: excise more scons references from the code baseevan@chromium.org2010-12-031-1/+1
| | | | | | | | | | I got to undo some hacks, too! TEST=compiles Review URL: http://codereview.chromium.org/5535003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68119 0039d316-1c4b-4281-b951-d872f2087c98
* Check offset argument to gpu::gles2::BufferManager::BufferInfo::SetRange is ↵apatrick@chromium.org2010-12-023-9/+19
| | | | | | | | | | | | | not negative. Prevents writing to buffer out of range. TEST=try BUG=none Review URL: http://codereview.chromium.org/5525001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67937 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 67662 - FBTF: Remove unneeded headers from base/ (part 10)thestig@chromium.org2010-11-305-27/+26
| | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5139006 TBR=thestig@chromium.org Review URL: http://codereview.chromium.org/5270010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67674 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 10)thestig@chromium.org2010-11-305-26/+27
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5139006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67662 0039d316-1c4b-4281-b951-d872f2087c98
* Add flow control between renderer and GPU processes, and, on Mac OS X,kbr@google.com2010-11-263-3/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | between GPU process and browser process. Thanks to Al Patrick for the renderer<->GPU flow control mechanism. This CL prevents the renderer from issuing more OpenGL work than the GPU process can execute, and, on the Mac, prevents the combination of the renderer and GPU processes from transmitting more frames via IOSurfaces from the GPU to the browser process than can be handled by the GPU. This fix causes the renderer to block inside ggl::SwapBuffers() when it gets too far ahead. Different strategies can be considered going forward, including measuring frame rates in the GPU and renderer processes and trying to match them via techniques such as delaying the execution of some timers. However, despite the general undesirability of blocking the render thread, this fix results in a significant performance improvement. With this fix integrated, a fill-limited test case from Chris Rogers displays at 60 FPS instead of 15 FPS on a Mac Pro. Gregg Tavares' aquarium from webglsamples.googlecode.com displays at 30 FPS instead of 4 or 5 FPS on a MacBook Pro. The frame rates measured at the JavaScript level now match the actual frame rate of the browser, where previously they were much higher since they were issuing more work than the browser could render. A few other minor OpenGL bugs potentially impacting the correctness of the Mac compositor are being fixed as well in this CL. Verified that WebGL, CSS 3D and YouTube (Core Animation plugin) content all work. BUG=63539 TEST=none Review URL: http://codereview.chromium.org/5317007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67470 0039d316-1c4b-4281-b951-d872f2087c98
* Resize synchronization for Linux.backer@chromium.org2010-11-255-2/+27
| | | | | | | | | | | | | | | | | | | | | | | This patch makes synchronous calls from the GPU to the Browser process to resize windows. It must be synchronous because we must be sure when the resize happens, it must be initiated by the GPU because we have to time the resize with GL drawing, and the resize must be done by the Browser because of how GDK/GTK is structured. Specifically, when a window that a GL context is associated with is resized, the back buffer gets blanked. So it is important that we synchronize the resize with the drawing to the back buffer. On Linux, the X window that we are drawing to is wrapped in a GdkWindow inside the Browser process. GDK/GTK assumes that all changes to the window happen via GDK calls. In particular, the size of the window is cached inside the GdkWindow object so that it does not have to make a call to the X server in order to get window geometry. Unfortunately, this necessitates resizing the window inside of the Browser process. For more discussion of this approach and (some unsuccessfully attempted) alternatives see https://docs.google.com/a/google.com/document/d/1ZNouL-X_Ml1x8sqy-sofz63pDAeo36VWi_yQihaE2YI/edit?hl=en This patch set uncovered another bug: - open in two separate windows http://webkit.org/blog/386/3d-transforms/ and http://webkit.org/blog-files/3d-transforms/poster-circle.html - resize the former until it is smallish - watch the root layer of the former show up as the root layer of the later. To my knowledge, this is first trigger of this bug. If and when this patch is accepted, I will file the bug. BUG=http://code.google.com/p/chromium/issues/detail?id=54430 TEST=Go to http://peter.sh/2010/06/chromium-now-features-gpu-acceleration-and-css-3d-transforms/ . Rotate Z with the slider to trigger the compositor. Resize the window. The resize may be janky (we're uploading large textures), but it should display properly. Contributed by backer@chromium.org Review URL: http://codereview.chromium.org/5105006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67416 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 67293 BrowserTestCanLaunchWithOSMesa was consistently failing - ↵andybons@chromium.org2010-11-247-103/+11
| | | | | | | | | | | | | | | | | Initialize destinations variables before calling GL functions because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5305005 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/5383001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67328 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize destinations variables before calling GL functionsgman@chromium.org2010-11-247-11/+103
| | | | | | | | | | | | because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5305005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67293 0039d316-1c4b-4281-b951-d872f2087c98
* Renames Chrome only GL extension functions to followgman@chromium.org2010-11-1817-347/+405
| | | | | | | | | | | GL naming convention. TEST=none BUG=none Review URL: http://codereview.chromium.org/5210001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66695 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for GL_FIXED vertex attributes.gman@chromium.org2010-11-188-44/+249
| | | | | | | | | | | | | | | | | Similar to sharing VBOs for both index buffers and vertex buffers this support is off by default but is turned on in the OpenGL ES 2.0 conformance tests (another CL) We can decide how/if to expose it to Pepper later if we want to claim Pepper is Open GL ES 2.0 conformant. TEST=The GL_FIXED OpenGL ES 2.0 conformance tests passes BUG=none Review URL: http://codereview.chromium.org/5026003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66649 0039d316-1c4b-4281-b951-d872f2087c98
* Update cmd buffer script to reflect ppapi reorg.neb@chromium.org2010-11-171-10/+10
| | | | | | | | | | | | Someone moved the files in PPAPI around and hand-modified autogenerated files. This CL moves the change to the .py file used to generate them. BUG=none TEST=generated files identical to hand-modified version. Review URL: http://codereview.chromium.org/5147003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66520 0039d316-1c4b-4281-b951-d872f2087c98
* Do an early return from GLES2DecoderImpl::Initialize if context group ↵senorblanco@chromium.org2010-11-171-0/+1
| | | | | | | | | | | | initialization fails. BUG=none TEST=run GPU process under valgrind on a machine w/no GPU Review URL: http://codereview.chromium.org/5181002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66489 0039d316-1c4b-4281-b951-d872f2087c98
* Added glResizeCHRM to resize the drawable associated with the command buffer.gman@chromium.org2010-11-1614-3/+108
| | | | | | | | | | | | | | | | | This new command is used to pipe resize requests to the GPU process. It will allow is to synchronize the resize with the drawing. Specifically, if we resize at the wrong time, we will damage the backbuffer, causing visual artefacts (http://code.google.com/p/chromium/issues/detail?id=54430). The resize request gets sent to the GLContext. Each backend will implement it differently. At this point it's set as a NOP. -I will do an XResizeWindow on Linux. -Nat will do a resize on Windows. -Nico (or me?) will refactor the MacOSX code to use this path. There is one line webkit patch that's necessary to activate this code (removing an #ifdef). BUG=none TEST=none Review URL: http://codereview.chromium.org/4671003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66307 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GL_OES_standard_derivatives support.gman@chromium.org2010-11-134-0/+11
| | | | | | | | | | | Forgot to add an enum TEST=another opengl es 2.0 conformance test passes BUG=none Review URL: http://codereview.chromium.org/4867001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66030 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bool issues.gman@chromium.org2010-11-121-4/+4
| | | | | | | | | TEST=another opengl es 2.0 conformance test passes BUG=none Review URL: http://codereview.chromium.org/4862001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66007 0039d316-1c4b-4281-b951-d872f2087c98
* Add GL_CHROMIUM_resource_safe extension stringgman@chromium.org2010-11-123-24/+12
| | | | | | | | | | | | which means that the underlying OpenGL makes sure buffers, textures and renderbuffers are cleared. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/4844001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65883 0039d316-1c4b-4281-b951-d872f2087c98
* Use the shader translator to correct bad type informationgman@chromium.org2010-11-1212-50/+339
| | | | | | | | | | | returned by OpenGL drivers. TEST=unit tests, ran OpenGL ES 2.0 conformance tests and ran WebGL conformance test. Things that used to fail now pass. BUG=none Review URL: http://codereview.chromium.org/4829001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65882 0039d316-1c4b-4281-b951-d872f2087c98
* Handle GL errors when querying the multisample count.enne@chromium.org2010-11-111-1/+3
| | | | | | | | | | | | I believe this bug can only be triggered when there is a corresponding OpenGL bug. However, the i915 driver has this bug. Patch from Kenneth Waters <kwaters@chromium.org>. TEST=built and run against broken i915 driver BUG=none Review URL: http://codereview.chromium.org/4710002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65809 0039d316-1c4b-4281-b951-d872f2087c98
* * Check for GL_ANGLE_framebuffer_mutlisamplegman@chromium.org2010-11-099-12/+53
| | | | | | | | | | | | * Return correct values for GL_MAX_VIEWPORT_DIMS * connect blitFramebufferEXT to blitFramebufferANGLE TEST=unit tests BUG=55471,55560,56733 Review URL: http://codereview.chromium.org/4500001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65560 0039d316-1c4b-4281-b951-d872f2087c98
* Re-add setting of wrap and filtering mode parameters of backingkbr@chromium.org2010-11-091-0/+24
| | | | | | | | | | | | | | | | texture of command buffer offscreen contexts, and properly track these states in the TextureManager. Using code does not have the opportunity to set these parameters before it is determined that the backing framebuffer is incomplete. Ran WebGL content on Linux to verify fix. BUG=62432 TEST=none Review URL: http://codereview.chromium.org/4670002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65487 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r65152 with mac and linux fix.apatrick@chromium.org2010-11-064-33/+25
| | | | | | | | | | | Original review URL: http://codereview.chromium.org/3531008 TEST=try, ui_tests BUG=none Review URL: http://codereview.chromium.org/4545003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65283 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 65152 - Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-054-25/+33
| | | | | | | | | | | | | | | | | | | - It now uses GGL instead of a child window. - Fixed a bug where GLES2 decoder set texture state without updating TextureInfo. - Fixed Pepper3D demos and added awesome 3D CSS programmer art. - Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :) - GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current. - Removed redundant "this context" argument from GGL SwapBuffers completion callback. - Temporarily removed context lost notification. I need to figure out the best semantics. TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac. BUG=none Review URL: http://codereview.chromium.org/3531008 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/4561001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65169 0039d316-1c4b-4281-b951-d872f2087c98
* Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-054-33/+25
| | | | | | | | | | | | | | | | - It now uses GGL instead of a child window. - Fixed a bug where GLES2 decoder set texture state without updating TextureInfo. - Fixed Pepper3D demos and added awesome 3D CSS programmer art. - Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :) - GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current. - Removed redundant "this context" argument from GGL SwapBuffers completion callback. - Temporarily removed context lost notification. I need to figure out the best semantics. TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac. BUG=none Review URL: http://codereview.chromium.org/3531008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65152 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug with count on commands that take a countgman@chromium.org2010-11-047-266/+199
| | | | | | | | | | | | | | | | | | | | | | | and add some more DCHECKs Some commands should never have a negative count since the count refers to how much memory to access. So, made those commands check for negative count on the client side and kill the GPU process if they are negative on the service side. Note: Someone (me?) checked in a version of build_gles2_cmd_buffer.py that generates a Finish handler that actually calls glFinish but didn't check in the generated code. Should I put that back to glFlush? TEST=ran unit tests and opengl es 2.0 conformance tests BUG=none Review URL: http://codereview.chromium.org/4461001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65063 0039d316-1c4b-4281-b951-d872f2087c98
* Advertise the GL_CHROMIUM_copy_texture_to_parent_texture andkbr@google.com2010-11-031-0/+4
| | | | | | | | | | | | | | | | | GL_CHROMIUM_map_sub extensions by default. These are needed in WebGraphicsContext3D instances in support of the accelerated 2D canvas and video rendering functionality. Associated WebKit bug is https://bugs.webkit.org/show_bug.cgi?id=46894 . Tested on Linux with this refactoring, accelerated 2D canvas, and HTML5 video. BUG=none TEST=none Review URL: http://codereview.chromium.org/4268004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64963 0039d316-1c4b-4281-b951-d872f2087c98
* Saved offscreen textures are allocated GL_RGB when no alpha channel is ↵apatrick@chromium.org2010-11-031-31/+67
| | | | | | | | | | | | | | | requested. There appears to also be problems in ANGLE which have not been addressed yet, specifically GL_RGB textures are allocated D3DFMT_A8R8G8B8 instead of D3DFMT_X8R8G8B8. Prevent saved and target offscreen resources from being destroyed if we don't have a context. TEST=try, run demos locally BUG=61441 Review URL: http://codereview.chromium.org/4246001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64940 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps. This is a re-land ↵brettw@chromium.org2010-11-021-4/+4
| | | | | | from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64757 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change due to Linux compile failures.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64751 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | This is a re-land from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64750 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64719 0039d316-1c4b-4281-b951-d872f2087c98