summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Make OpenGL string entry points validate the stringgman@chromium.org2011-10-182-18/+96
| | | | | | | | | | | | BUG=69808 TEST=unit tests R=apatrick@chromium.org Review URL: http://codereview.chromium.org/8345003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106111 0039d316-1c4b-4281-b951-d872f2087c98
* Last straw for translated_shader_source extension.zmo@google.com2011-10-171-0/+2
| | | | | | | | | | While hooking up with webkit side of this extension, I realized something is missing. So this CL is the fix. BUG=95531 TEST=tested with the webkit side CL Review URL: http://codereview.chromium.org/8294002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105969 0039d316-1c4b-4281-b951-d872f2087c98
* Check for NULL from GetBucketgman@chromium.org2011-10-172-1/+61
| | | | | | | | | | | | There were a few places in the code that needed to check for NULL TEST=unit tests BUG=58468 Review URL: http://codereview.chromium.org/8320007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105920 0039d316-1c4b-4281-b951-d872f2087c98
* Make GPU_DCHECK* keep reference to passed variables pph34r@gmail.com2011-10-141-37/+37
| | | | | | | | | | | | | to avoid unused variable warnings in release build. BUG=87490 TEST=None Review URL: http://codereview.chromium.org/8271002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105432 0039d316-1c4b-4281-b951-d872f2087c98
* Support dynamic switching between integrated and discrete GPUs on Mac OS X.kbr@chromium.org2011-10-132-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Chrome to allocate most OpenGL contexts with the kCGLPFAAllowOfflineRenderers flag, and specify NSSupportsAutomaticGraphicsSwitching in the Info.plist for the main executable and helper apps. This keeps Chrome on the integrated GPU except when using WebGL, accelerated 2D Canvas, Pepper 3D, and Core Animation-based plugins (except Flash). Chrome shares resources between OpenGL contexts in order to display WebGL and other content in the compositor, and resource sharing doesn't work between contexts allocated on different GPUs. Therefore, when the first context for a given renderer requests the discrete GPU, the channel is dropped and all contexts are reallocated on the discrete GPU. Similarly, when the last context requesting the discrete GPU for a given renderer is shut down, all contexts are dropped and reallocated on the integrated GPU. Currently dynamic GPU switching is only supported on the latest Mac OS X 10.7 update and MacBook Pros with dual AMD / Intel GPUs, though this will improve in future OS updates. Tested with WebGL, CSS 3D, Flash and Unity3D content and observed desired GPU switching behavior. Also added a layout test to WebKit under https://bugs.webkit.org/show_bug.cgi?id=69776 which when run in Chrome catches an assertion failure related to the destruction of contexts. The intent is to add it as a UI layout test on the GPU bots. BUG=88788 TEST=none Review URL: http://codereview.chromium.org/8233027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105399 0039d316-1c4b-4281-b951-d872f2087c98
* Change the enum GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE to the assigned value.zmo@google.com2011-10-133-3/+3
| | | | | | | | | | The ANGLE side change is in r785, thus, roll ANGLE from r784 to r785. BUG=none TEST=tree green Review URL: http://codereview.chromium.org/8252012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105329 0039d316-1c4b-4281-b951-d872f2087c98
* Make command buffer limit cubemaps to 512x512 on Intel on OSXgman@chromium.org2011-10-134-3/+74
| | | | | | | | | | | | | This is to work around bug where cubemaps larger than 512x512 have errors on all Intel macs up to and including OSX 10.7.2 TEST=none BUG=99424 Review URL: http://codereview.chromium.org/8227030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105234 0039d316-1c4b-4281-b951-d872f2087c98
* GPU service understands size of GL_UNSIGNED_INT pixel data type.apatrick@chromium.org2011-10-122-0/+4
| | | | | | | | | It is needed for the GL_GOOGLE_depth_texture extension. BUG=99860 Review URL: http://codereview.chromium.org/8241020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105164 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that a ContextGroup is not destroyed if it was not correctly initialized.apatrick@chromium.org2011-10-101-2/+6
| | | | | | | | | The counting of contexts in the group was out of sync, causing an assertion in release builds. BUG=97775 Review URL: http://codereview.chromium.org/8205021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104791 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that ContextGroup is destroyed when an appropriate GL context is current.apatrick@chromium.org2011-10-055-35/+66
| | | | | | | | | | | Before it relied on the destructor being invoked and this was not always true. I think the subsequent invalid GL commands might have caused memory corruption that lead to the bug referenced below. Now the ContextGroup is destroyed explicitly when the context is known to be correct. BUG=97775 Review URL: http://codereview.chromium.org/8135014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104157 0039d316-1c4b-4281-b951-d872f2087c98
* Implement 'ANGLE_translated_shader_source' extension in command-buffer.zmo@google.com2011-10-0518-5/+192
| | | | | | | | | | | | This works with ANGLE r780. So if it's on top of ANGLE, query the translated HLSL using ANGLE's GetTranslatedShaderSource extension; otherwise, return the cached translated shader source from ANGLE shader translator. BUG=95531 TEST=unittest Review URL: http://codereview.chromium.org/8120020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104036 0039d316-1c4b-4281-b951-d872f2087c98
* From comment:apatrick@chromium.org2011-10-031-0/+9
| | | | | | | | | | | | | | | | | | // TODO(apatrick): Attempt to diagnose crbug.com/97775. If SwapBuffers is // never called on an offscreen context, no data will ever be uploaded to the // saved offscreen color texture (it is deferred until to when SwapBuffers // is called). My idea is that some nvidia drivers might have a bug where // deleting a texture that has never has not been populated might cause a // crash. In the context of bug 97775, the uptime is very short. It is possible that SwapBuffers is never being called on the view context, which on mac is actually an offscreen context. This is a bit a shot in the dark but I haven't reproduced it. BUG=97775 Review URL: http://codereview.chromium.org/8089006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103746 0039d316-1c4b-4281-b951-d872f2087c98
* Add an additional feature to GLES2DecoderImpl that is used to force the ↵twiz@chromium.org2011-10-031-9/+63
| | | | | | | | | | | | | | | context to obey WebGL feature semantics. The 'force_webgl_glsl_validation' flag is used to override the FeatureInfo parameters of the context group. This change enables all extensions for WebGL contexts, in preparation for allowing resource sharing with the compositor. BUG=96605 TEST=https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html Review URL: http://codereview.chromium.org/7782038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103724 0039d316-1c4b-4281-b951-d872f2087c98
* External stream texture support.sievers@chromium.org2011-09-2832-78/+774
| | | | | | | | | | | | | | | | | | | | | | This adds a GL_CHROMIUM_stream_texture extension with an abstract interface that can be used to allow a consumer to render from a stream of textures being produced externally. It adds the following functionality: * GLuint glCreateStreamTextureCHROMIUM(GLuint texture) This API takes a texture id and creates a StreamTexture object associated with the texture in the GPU process that can be implemented in a platform-specific way. The returned handle is supposed to identify the stream endpoint. Connecting this to a producer is outside the scope of this change. * GLvoid glDestroyStreamTextureCHROMIUM(GLuint texture) Deletes the StreamTexture object associated with the texture and marks the texture as not special anymore. * BindTexture() will invoke method StreamTexture::Update() if the target is GL_TEXTURE_EXTERNAL_OES and the texture is marked as 'stream texture'. TEST=added unit tests Review URL: http://codereview.chromium.org/7754033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103191 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 102978 - Change X11 error handler override to allow easy X11 error ↵dominich@chromium.org2011-09-2711-61/+27
| | | | | | | | | | | | | | | checking. BUG=None TEST=None Review URL: http://codereview.chromium.org/7889040 TBR=dominich@chromium.org Review URL: http://codereview.chromium.org/8052015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102985 0039d316-1c4b-4281-b951-d872f2087c98
* Change X11 error handler override to allow easy X11 error checking.dominich@chromium.org2011-09-2711-27/+61
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7889040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102978 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue with unused mips.gman@chromium.org2011-09-272-9/+36
| | | | | | | | | | | | | | | | | | | | The bug was 1) Create a texture with N mips (4x4, 2x2, 1x1) 2) Then update the texture to use less than N mips (2x2, 1x1) etc. The code would incorrectly look at the unused mips in determining whether or not the texture was renderable. TEST=unit test BUG=97207 R=zmo@chromium.org Review URL: http://codereview.chromium.org/8041048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102967 0039d316-1c4b-4281-b951-d872f2087c98
* Roll skia to 2303bsalomon@google.com2011-09-221-0/+3
| | | | | | Review URL: http://codereview.chromium.org/7977031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102366 0039d316-1c4b-4281-b951-d872f2087c98
* Code cleanup: rename DisallowedExtensions to DisallowedFeature.zmo@google.com2011-09-2213-31/+31
| | | | | | | | BUG=none TEST=bots green Review URL: http://codereview.chromium.org/7979031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102213 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes issues where WGC3D based on OSMesa GL implementation isn't allowing ↵bsalomon@google.com2011-09-211-5/+3
| | | | | | | | | | OES extensions that are supported. TEST=none BUG=none Review URL: http://codereview.chromium.org/7980034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102135 0039d316-1c4b-4281-b951-d872f2087c98
* Turn on glsl built-in function emulation in ANGLE shader translator.zmo@google.com2011-09-206-23/+89
| | | | | | | | | | | | At the moment we need to turn it on for ATI/Mac and also Windows/D3D. Also, added the switch to turn of driver bug workaround, although this CL doesn't hook it up with all workarounds yet. BUG=96293 TEST=failing webgl glsl feature tests passing, with the switch, these tests fail. Review URL: http://codereview.chromium.org/7923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101880 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 101545 - Moved code not relating to GPU scheduling out of ↵apatrick@chromium.org2011-09-2021-1353/+149
| | | | | | | | | | | | | | | | | | GpuScheduler and into GpuCommandBufferStub. Reason for revert: Compile failure on Arm. This was mostly a refactor because the code was awkward. I also deleted the original gles2_demo since we have the gles2 book demos now. THings still to do are a common way of setting up the few objects involved in initializing a command buffer that is now more-or-less duplicated in the gles2 conformance tests, the gles2 demos, the command buffer stub and the in-process webgl context. I also want to completely remove the reference to the decoder from the scheduler. I tested WebGL on both windows and mac and saw no regressions. I checked the conformance tests, the gpu tests and am running by the try bots now. The gles2 demos still work. Review URL: http://codereview.chromium.org/7782041 Review URL: http://codereview.chromium.org/7951008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101873 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 101545 - Moved code not relating to GPU scheduling out of ↵rsimha@chromium.org2011-09-1621-149/+1353
| | | | | | | | | | | | | | | | | | | | GpuScheduler and into GpuCommandBufferStub. Reason for revert: Compile failure on Arm. This was mostly a refactor because the code was awkward. I also deleted the original gles2_demo since we have the gles2 book demos now. THings still to do are a common way of setting up the few objects involved in initializing a command buffer that is now more-or-less duplicated in the gles2 conformance tests, the gles2 demos, the command buffer stub and the in-process webgl context. I also want to completely remove the reference to the decoder from the scheduler. I tested WebGL on both windows and mac and saw no regressions. I checked the conformance tests, the gpu tests and am running by the try bots now. The gles2 demos still work. Review URL: http://codereview.chromium.org/7782041 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7920015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101547 0039d316-1c4b-4281-b951-d872f2087c98
* Moved code not relating to GPU scheduling out of GpuScheduler and into ↵apatrick@chromium.org2011-09-1621-1353/+149
| | | | | | | | | | | | | | | GpuCommandBufferStub. This was mostly a refactor because the code was awkward. I also deleted the original gles2_demo since we have the gles2 book demos now. THings still to do are a common way of setting up the few objects involved in initializing a command buffer that is now more-or-less duplicated in the gles2 conformance tests, the gles2 demos, the command buffer stub and the in-process webgl context. I also want to completely remove the reference to the decoder from the scheduler. I tested WebGL on both windows and mac and saw no regressions. I checked the conformance tests, the gpu tests and am running by the try bots now. The gles2 demos still work. Review URL: http://codereview.chromium.org/7782041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101545 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed ppb_opengles.h to ppb_opengles2.h.alokp@chromium.org2011-09-151-3/+11
| | | | | | Review URL: http://codereview.chromium.org/7888051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101308 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 100801 - Ensure that compositor does not block the renderer process ↵apatrick@chromium.org2011-09-131-2/+3
| | | | | | | | | by issuing too many SwapBuffers. This might have regressed with r84372. It caused there to be one additional token queued in the swap buffers token queue than before. Review URL: http://codereview.chromium.org/7876010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100978 0039d316-1c4b-4281-b951-d872f2087c98
* Use Instance* in the Graphics3D constructor rather than Instance&, forbrettw@chromium.org2011-09-131-1/+1
| | | | | | | | | | | | | | | | consistency. I also created a new 2-arg constructor since the share_context will normally be empty, and it's less clear what to use there if you don't have a shared context. I copied comments from the C interface to the C++ one, and converted the comments in the C header file to C-style comments from C++ ones. The documentation still needs some Doxygen love, but we can worry about that later. Review URL: http://codereview.chromium.org/7867048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100865 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100801 - Ensure that compositor does not block the renderer process ↵apatrick@chromium.org2011-09-121-3/+2
| | | | | | | | | | | | | | by issuing too many SwapBuffers. This might have regressed with r84372. It caused there to be one additional token queued in the swap buffers token queue than before. BUG=95649 Review URL: http://codereview.chromium.org/7867053 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7880009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100803 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that compositor does not block the renderer process by issuing too ↵apatrick@chromium.org2011-09-121-2/+3
| | | | | | | | | | | many SwapBuffers. This might have regressed with r84372. It caused there to be one additional token queued in the swap buffers token queue than before. BUG=95649 Review URL: http://codereview.chromium.org/7867053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100801 0039d316-1c4b-4281-b951-d872f2087c98
* Keep track of the current per-thread context and surface. Addkbr@google.com2011-09-091-6/+2
| | | | | | | | | | | | | | | | ScopedMakeCurrent to make it easier to briefly make another context current. Use it in AcceleratedSurface implementation and verify in the caller that it is working. This infrastructure would have made it possible to catch http://crbug.com/95492 and similar bugs where the wrong context was current. BUG=95962 TEST=ran CSS 3D example poster-circle; no assertion failures Review URL: http://codereview.chromium.org/7787022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100528 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 100494 - Fix bug in SimulateAttrib0."""gman@chromium.org2011-09-092-42/+137
| | | | | | | | | | TEST=none BUG=95625 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7796016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100507 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100494 - Revert "Revert 100453 - Revert "Revert 100384 - Fix bug in ↵dmichael@chromium.org2011-09-092-137/+42
| | | | | | | | | | | | | | | | | SimulateAttrib0."" The bug was a unsigned->signed conversion issue. Clang truncates, gcc/vc overflow TEST=unit tests BUG=95625 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7863007 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/7796015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100498 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 100453 - Revert "Revert 100384 - Fix bug in SimulateAttrib0.""gman@chromium.org2011-09-092-42/+137
| | | | | | | | | | | | The bug was a unsigned->signed conversion issue. Clang truncates, gcc/vc overflow TEST=unit tests BUG=95625 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7863007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100494 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100453 - Revert "Revert 100384 - Fix bug in SimulateAttrib0 that did ↵dpapad@chromium.org2011-09-092-125/+32
| | | | | | | | | | | | | | | not check for out of memory." TEST=unit tests and run on linux touch (where bug was) BUG=95625 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7841067 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/7866006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100473 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 100384 - Fix bug in SimulateAttrib0 that did not check for ↵gman@chromium.org2011-09-092-32/+125
| | | | | | | | | | | | out of memory." TEST=unit tests and run on linux touch (where bug was) BUG=95625 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7841067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100453 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100384 - Fix bug in SimulateAttrib0 that did not check for out of memory.nsylvain@chromium.org2011-09-092-121/+32
| | | | | | | | | | | | | | | | | | It also did not correctly check for math overflow. Also fixed similar bugs in SimulateFixedAttribs TEST=unit tests BUG=95625 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7845017 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/7857037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100411 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug in SimulateAttrib0 that did not check for out of memory.gman@chromium.org2011-09-092-32/+121
| | | | | | | | | | | | | | | It also did not correctly check for math overflow. Also fixed similar bugs in SimulateFixedAttribs TEST=unit tests BUG=95625 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7845017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100384 0039d316-1c4b-4281-b951-d872f2087c98
* A less-mysterious fix for b95492: Restore the GL context after resize.nduca@chromium.org2011-09-092-4/+9
| | | | | | | | | BUG=95492 TEST=crash reports do not reappear in canary Review URL: http://codereview.chromium.org/7847016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100350 0039d316-1c4b-4281-b951-d872f2087c98
* Destroy resolved framebuffers on resize, not swap.piman@chromium.org2011-09-081-8/+9
| | | | | | | | | | | | This fixes a regression introduced by http://codereview.chromium.org/7795015 BUG=95611 TEST=viewport-unchanged-upon-resize.html, read-pixels-test.html Review URL: http://codereview.chromium.org/7841047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100277 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GPU cmd tests so they pass ASANgman@chromium.org2011-09-084-976/+925
| | | | | | | | | | | | TEST=unit tests BUG=95115 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7789021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100116 0039d316-1c4b-4281-b951-d872f2087c98
* Fix early flush logic.jbauman@chromium.org2011-09-082-8/+16
| | | | | | | | | | | | | Use clock() instead of time() to determine how much time has passed, as that likely has a higher resolution. Also add back in the old flush logic, as a backup in case clock() doesn't have a high-enough resolution to cause it to flush before the entire command buffer is used up. BUG= TEST= Review URL: http://codereview.chromium.org/7789023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100057 0039d316-1c4b-4281-b951-d872f2087c98
* Flush after resize to try to work around mac crashjamesr@chromium.org2011-09-071-0/+3
| | | | | | | | | BUG=95492 TEST=launch chrome to http://www.webkit.org/blog-files/3d-transforms/poster-circle.html Review URL: http://codereview.chromium.org/7839037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99978 0039d316-1c4b-4281-b951-d872f2087c98
* reconstitute moving 3d out of dev CL. (previous attempt was reverted)nfullagar@google.com2011-09-072-10/+10
| | | | | | | | | previous CL: http://codereview.chromium.org/7737013/ BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= try bots, manual testing Review URL: http://codereview.chromium.org/7837018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99968 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 99855 - Move PPAPI graphics3d and opengles interfaces out of Dev.nfullagar@google.com2011-09-062-10/+10
| | | | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= various nacl exmaples, try bots Review URL: http://codereview.chromium.org/7737013 TBR=nfullagar@google.com Review URL: http://codereview.chromium.org/7782020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99861 0039d316-1c4b-4281-b951-d872f2087c98
* Move PPAPI graphics3d and opengles interfaces out of Dev.nfullagar@google.com2011-09-062-10/+10
| | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= various nacl exmaples, try bots Review URL: http://codereview.chromium.org/7737013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99855 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an out of bound access in GLES2DecoderWithShaderTest.VertexAttribPointerglider@chromium.org2011-09-061-1/+1
| | | | | | | | | This bug was found by AddressSanitizer TBR=gman Review URL: http://codereview.chromium.org/7828094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99704 0039d316-1c4b-4281-b951-d872f2087c98
* Remove support for switching draw surfaces on a context.This was originally ↵apatrick@chromium.org2011-09-0227-251/+64
| | | | | | | | intended to share canvas "back buffers" between the GPU process and the browser process. The plan is to issue all the GL calls in the GPU process now, with the browser process just doing the final present. Removing the redundant code. Review URL: http://codereview.chromium.org/7701021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99424 0039d316-1c4b-4281-b951-d872f2087c98
* Static initializers: Remove <iostream> include from GPU logging system.erg@google.com2011-09-013-10/+33
| | | | | | | | | | | | | | | | | GPU can't rely on base because of nacl so it has its own logger. The logger includes <iostream> in the header, so most gles2 and command buffer files have std::__ioinit static initializers. Create a common logging.cc which has a simple method that just returns std::cerr so all the __ioinits collapse down to one. BUG=94794 TEST=compiles R=apatrick TBR=noelallen Review URL: http://codereview.chromium.org/7821004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99229 0039d316-1c4b-4281-b951-d872f2087c98
* Delay resize of the front buffer until the swap for offscreen buffers.piman@chromium.org2011-08-311-43/+46
| | | | | | | | | | | | | | Previous code was resizing, and clearing the front buffer as soon as the back buffer was resized. It can lead to race conditions where the compositor draws a black texture if it triggers between the resize and the swap. BUG=None TEST=Pepper Flash Review URL: http://codereview.chromium.org/7795015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98905 0039d316-1c4b-4281-b951-d872f2087c98
* Initial checkin of the compositor_model_bench toolpiman@google.com2011-08-3165-0/+2118
| | | | | | | | | | | | | | | | | | This tool simulates the GPU demands of Chromium's GPU-accelerated compositor. In the current version, we simulate the performance of the existing forward rendering model; coming changes will prototype a new model. BUG=None TEST=self This is http://codereview.chromium.org/7718020/ with trivial fixes Original change by Joshua Trask <joshtrask@google.com> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=98706 Review URL: http://codereview.chromium.org/7792002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98900 0039d316-1c4b-4281-b951-d872f2087c98