summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Fix flake in FencedWrapperAllocatorTest::TestAlignment.hshi@chromium.org2013-04-131-11/+8
| | | | | | | | | | | | | | Re-enable the test on Windows after verifying the tests are passing gpu_unittests on win trybots. BUG=226750 TBR=piman R=michaeln TEST=gpu_unittests Review URL: https://chromiumcodereview.appspot.com/14096005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194093 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily disable FencedAllocator.TestAlignment on windowsmichaeln@google.com2013-04-131-1/+7
| | | | | | | | BUG=226750 TBR=hshi Review URL: https://codereview.chromium.org/13935003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194085 0039d316-1c4b-4281-b951-d872f2087c98
* Use base/memory/scoped_ptr.h in gpu client code.dcheng@chromium.org2013-04-127-390/+6
| | | | | | | | BUG=229096 Review URL: https://chromiumcodereview.appspot.com/13905006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194043 0039d316-1c4b-4281-b951-d872f2087c98
* FencedAllocator should align all allocations to multiples of 16 bytes.hshi@chromium.org2013-04-122-1/+44
| | | | | | | | | | | | | Round block sizes and allocation sizes in FencedAllocator to multiples of 16 bytes. Currently skia only requires 4-byte alignment but we would like to preemptively bump this up to 16 for SSE/NEON. BUG=226750 TEST=manually on daisy using the repro case of WebRTC screen capture crash. Review URL: https://codereview.chromium.org/13994011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194039 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Fix unit_tests and webview compilations for components build.yfriedman@chromium.org2013-04-121-1/+2
| | | | | | | | | | | | | | | What I missed in https://codereview.chromium.org/13494003/ is that jingle is also needed for unit tests. Other variants get it transitivitely through the 'service' process/target which is unused on Android. Also fixes a regression in component build for android_webview after some changes there. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/14099007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193813 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r192949 "Disable shader disk cache by default."dsinclair@chromium.org2013-04-114-7/+43
| | | | | | | | | | | This reverts commit r192949. The disable has been merged into M27 so re-enabling on trunk. BUG=228989 Review URL: https://chromiumcodereview.appspot.com/13872012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193798 0039d316-1c4b-4281-b951-d872f2087c98
* Revert FeatureInfo::Workarounds setup in command buffer.zmo@chromium.org2013-04-112-3/+85
| | | | | | | | | | | | This is a temporary solution so we can move forward with green gl_tests, until we migrate the setup code from src/content to src/gpu. Note that in regular chrome codepath, kGpuDriverBugWorkarounds is always passed down to gpu process, so the code path in this CL is never triggered: it is for testing only. BUG=228979 TEST=gl_tests,gpu_unittests Review URL: https://codereview.chromium.org/14186003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193787 0039d316-1c4b-4281-b951-d872f2087c98
* Move GpuMemoryBufferFactoryProxy to gpu/command_buffer/client as we'll be ↵kaanb@chromium.org2013-04-113-0/+52
| | | | | | | | | | | allocating buffers from gles2_implementation BUG=175012 Review URL: https://chromiumcodereview.appspot.com/14009002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193559 0039d316-1c4b-4281-b951-d872f2087c98
* Send shader information to disk cache on access as well as create.dsinclair@chromium.org2013-04-118-34/+77
| | | | | | | | | | | | | | | Currently we send the shader information to the disk cache when the shader is first saved. This patch also sends the shaders when we read them from the memory cache. This allows us to use the LRU capabilities of the shader cache and re-cache any shaders if the disk cache has been cleared. BUG=226998 Review URL: https://chromiumcodereview.appspot.com/13722006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193538 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process "unschedule fences" have a timeout.apatrick@chromium.org2013-04-102-3/+14
| | | | | | | | | If the GPU process has waited for more than a given amount of time for a fence to complete, treat it as completed. This is because, when the D3D device is lost, some drivers will never complete the underlying queries and never detect the device lost. By forcing through subsequent rendering, either the driver sometimes detects the device lost and recovers or a subsequent drawing call hangs allowing the GPU watchdog thread to terminate the GPU process. Review URL: https://chromiumcodereview.appspot.com/13093015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193471 0039d316-1c4b-4281-b951-d872f2087c98
* Moved logging functionality of out of the GLES2 Command Decoder into a ↵kloveless@chromium.org2013-04-107-75/+150
| | | | | | | | | | | separate Logger class (in an attempt to start simplifying the Decoder). Testing: Building/running GPU tests works. Review URL: https://chromiumcodereview.appspot.com/13600009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193461 0039d316-1c4b-4281-b951-d872f2087c98
* Force GPU switch with CGLSetVirtualScreen only for compositorccameron@chromium.org2013-04-106-16/+83
| | | | | | | | | | | | | | | | | | | | | | | | Only compositor contexts are known to use only the subset of GL that can be safely migrated between the iGPU and the dGPU. Mark those contexts as safe to forcibly transition between the GPUs. In particular, Intel GPUs support using a GL_STENCIL_INDEX8 attachment with no depth buffer, but NV GPUs don't. Skia will use this FBO combo if it is listed as available. If we use this combo on the iGPU and then forcibly transition the GL context using this combo from the iGPU to the dGPU, corruption occurs on NV, and a hang happens on AMD. Further, if we cache complete FBO combos, then we will cache this combo as valid when using the iGPU, and claim that it's valid when using the dGPU, resulting in GL errors. BUG=180876 Review URL: https://chromiumcodereview.appspot.com/13746002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193302 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Fix mock setup for [Bind|Release]TexImage2DCHROMIUM unit testskaanb@chromium.org2013-04-101-3/+3
| | | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/13841022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193292 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-091-5/+5
| | | | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193020 Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193040 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Rewrite std::string("") to std::string(), Linux edition."dcheng@chromium.org2013-04-091-5/+5
| | | | | | | | | | | | | | This reverts commit e59558b78e8c6a1b0bd916a724724b638c3c91b6. Revert "Fix build after r193020." This reverts commit 558a35897f6b3ffbcaefde927c1f150b815d140a. Revert "Really fix build after r193020." This reverts commit e3748a79b523a8d365d4a33ef986eebb4186fa78. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193030 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-091-5/+5
| | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193020 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite scoped_array<T> to scoped_ptr<T[]> in gpu/, Linux edition.dcheng@chromium.org2013-04-0925-56/+56
| | | | | | | | | | This changelist was automatically generated using a clang tool. BUG=171111 Review URL: https://codereview.chromium.org/13454036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192995 0039d316-1c4b-4281-b951-d872f2087c98
* GLImage support for Android zero-copy pixel bufferskaanb@chromium.org2013-04-092-6/+29
| | | | | | | | | BUG=175012 Review URL: https://chromiumcodereview.appspot.com/13543007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192971 0039d316-1c4b-4281-b951-d872f2087c98
* Disable shader disk cache by default.dsinclair@chromium.org2013-04-084-41/+5
| | | | | | | | | | | | | | The code to handle cache clearing didn't land in time for the M27 branch so it has been decided to disable this feature for M27. This patch will be rolled back after it lands on the M27 branch. BUG=228989 Review URL: https://chromiumcodereview.appspot.com/13800013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192949 0039d316-1c4b-4281-b951-d872f2087c98
* Fix large mis-paint when resizing windows aura chromecpu@chromium.org2013-04-064-6/+12
| | | | | | | | | | | | | | | | | | | See bug attached for screenshots The CL does two things: - Disables the resizer lock, so that UI bits can go ahead of content bits - Janks (blocks) the UI thread until the compositor has flushed / finished the pending commands. This makes the mis-draw way less, up to one frame behind, which at my regular mouse speed of 1.2 pixels / ms comes out to 20 pixels of whiteout. BUG=177115 TEST=none Review URL: https://codereview.chromium.org/13604007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192657 0039d316-1c4b-4281-b951-d872f2087c98
* Blacklist EXT_draw_buffers on Mac NVIDIA GeForce GT 650M.zmo@chromium.org2013-04-052-1/+5
| | | | | | | | | | Also, turn on support for EXT_draw_buffers on Windows. To make it easy for debugging ANGLE implementation bugs. BUG=180397 TEST=gpu_unittests,content_unittests Review URL: https://codereview.chromium.org/13730008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192647 0039d316-1c4b-4281-b951-d872f2087c98
* Use macro to simplify gpu driver bug workaround defs and code.zmo@chromium.org2013-04-054-144/+73
| | | | | | | | BUG=226789 TEST=no logic change, simply code refactor, so everything stays the same Review URL: https://codereview.chromium.org/13400003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192580 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up scoped_array<T> construction from NULL.dcheng@chromium.org2013-04-051-2/+0
| | | | | | | | | | This won't be allowed by unique_ptr<T> or scoped_ptr<T>. BUG=171118 Review URL: https://codereview.chromium.org/13710002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192518 0039d316-1c4b-4281-b951-d872f2087c98
* Use GpuDriverBugList to manage all the workarounds.zmo@chromium.org2013-04-0412-194/+252
| | | | | | | | | | | Before the workarounds are hardwired in feature_info.cc. Now the workarounds are expressed as entries in gpu_driver_bug_list.json. BUG=222857 TEST=gpu_unittests,content_unittests Review URL: https://codereview.chromium.org/13594007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192406 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Tweak QualComm flicker bugs workaroundssievers@chromium.org2013-04-043-3/+26
| | | | | | | | | | | | | | | | | | | | | | Revert r189334 (in MailboxOutputSurface), which fixes corruption on S3 in release builds, which then needs another workaround (see added glFlush() for QualComm, crbug.com/222018). Also tweak the QualComm scissor workaround by deferring it to draw time. This hopefully has two effects: - handle known corner cases that were previously unhandled - only call glScissor() when the FBO is actually complete, hoping that it will positively affect crbug.com/170083 which crashes in glScissor() in the driver. BUG=219052,222018,170083 TBR=piman@chromium.org for mailbox_output_surface.cc Review URL: https://chromiumcodereview.appspot.com/13608004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192314 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GL virtualization warnings on OS Xccameron@chromium.org2013-04-033-2/+17
| | | | | | | | | | | | | | | | | | | | | | Stub out GetDisplay for GLSurfaceCGL so that the NOTIMPLEMENTED in GLSurface is not hit. Fix a bug where, when using context virtualization, a GL_INVALD_FRAMEBUFFER_OPERATION is generated by GLES2DecoderImpl::Initialize. This is a use-before-initialization bug wherein GpuCommandBufferStub::Initialize calls MakeCurrent on the virtual context, and because decoder_ is non-NULL in GLContextVirtual::MakeCurrent, we try to restore the state from the decoder (but decoder_ has not yet been initialized). Remove extra logic to prevent calling Destroy on un-initialized decoders, and add a check inside Destroy. BUG=180463 Review URL: https://chromiumcodereview.appspot.com/13430019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192109 0039d316-1c4b-4281-b951-d872f2087c98
* In GLES2Implementation, replace calls to Finish/FinishHelper with WaitForCmd.apatrick@chromium.org2013-04-031-6/+6
| | | | | | | | | FinishHelper does the same as WaitForCmd but also insert a (redundant in these cases) glFinish command in the command buffer beforehand. In these cases we only need to ensure that the GPU process has processed all the commands, not that the underlying GL implementation has finished them on the GPU. This should generally make the synchronization cheaper. More importantly, in the event that the GPU hangs, glFinish sometimes never return on Windows, causing a hang until the GPU watchdog thread aborts after 10 seconds. Review URL: https://codereview.chromium.org/13460014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192099 0039d316-1c4b-4281-b951-d872f2087c98
* Make GL_TEXTURE_EXTERNAL_OES texture immutable.gman@chromium.org2013-04-033-80/+119
| | | | | | | | | | | | | | | | | | | | | | This is semi-redundant. The reason things work now is there are 2 GLenum validators. One for glBindTexture and a different one for glTexImage2D etc. The one for glTexImage2D does not have GL_TEXTURE_EXTERNAL_OES in it. But, It seemed best to mark the texture as immutable just in case someone forgets. Also, it seemed best to add a couple more tests that test that things work. In that vain it was clear a few things that were public (npot, texture_complete, cube_complete) should not have been public so fixed that. BUG=none Review URL: https://chromiumcodereview.appspot.com/13463010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192011 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_TEXTURE_EXTERNAL_OES texture copy.hkuang@chromium.org2013-04-032-25/+49
| | | | | | | | | | | | | Add support for GL_TEXTURE_EXTERNAL_OES texture copy in function CopyTextureCHROMIUM which is needed for 2D Canvas Painting. In Issue 11973010, this support was already added inside the copyTextureCHROMIUMResourceManager, but it is still missing in the function CopyTextureCHROMIUM. So just add it. Also fix the RestoreTextureState, which was binding the OES texture to GL_TEXTURE_2D which will generate glError. BUG=225079 TEST= Review URL: https://chromiumcodereview.appspot.com/13168004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191968 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Fix remaining linker errors for components buildyfriedman@chromium.org2013-04-031-1/+2
| | | | | | | | | | | Miscellaneous missing dependencies and a few more exports. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/12988003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191944 0039d316-1c4b-4281-b951-d872f2087c98
* Get gl_tests running on Nexus 4gman@chromium.org2013-04-025-26/+101
| | | | | | | | | BUG=180432 Review URL: https://chromiumcodereview.appspot.com/13390016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191861 0039d316-1c4b-4281-b951-d872f2087c98
* Implement client side PBOs for glReadPixelhubbe@chromium.org2013-04-028-37/+265
| | | | | | | | | | | | | | Use PBOs in gl_helper swizzle bytes on gpu flip vertically on gpu remove gl_helper_thread Implements GLHelper::CropScaleReadbackAndCleanTexture() to be non-blocking in the client by using shared memory combined with a query (not requiring actual GL PBO support, which would not be available on Android). Review URL: https://chromiumcodereview.appspot.com/12892005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191737 0039d316-1c4b-4281-b951-d872f2087c98
* Add --force-synchronous-glreadpixels flag while we sort out GPU ↵miu@chromium.org2013-04-022-0/+5
| | | | | | | | | | | pipelining/performance issues on Mac tab capture. BUG=223326 TBR=hclam,kbr,apatrick Review URL: https://chromiumcodereview.appspot.com/13173004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191721 0039d316-1c4b-4281-b951-d872f2087c98
* Windows: On context lost, GPU process exits.apatrick@chromium.org2013-04-013-0/+17
| | | | | | | | | | Some drivers cannot recover from device lost. IDirect3DDevice9::ResetEx returns an access denied error after a GPU hang. Although this results in a fallback to software, exiting the GPU process allows a newly launched GPU process to reinitialize D3D and GPU accelerated features continue to work. I have observed this with an AMD driver but suspect there are issues with Intel from crash reports. Review URL: https://chromiumcodereview.appspot.com/12617020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191705 0039d316-1c4b-4281-b951-d872f2087c98
* Add a |scope| argument to TRACE_EVENT_INSTANT* and require its presence.simonjam@chromium.org2013-03-261-1/+4
| | | | | | | | | | | | | | The scope indicates how long the vertical line should be in the tracing UI. It can be global (full screen), process or thread (fill those tracks), or local (the original style for INSTANT). BUG=None Review URL: https://chromiumcodereview.appspot.com/12252058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190577 0039d316-1c4b-4281-b951-d872f2087c98
* TextureImageTransportSurface: Reuse TextureDefinitionsievers@chromium.org2013-03-244-14/+246
| | | | | | | | | | | | | | | | | | | | This passes around ownership of the TextureDefinition between mailbox manager and surface. It will make it easier to switch to a refcounted scheme for mailbox textures. I optimized Texture::Save()/Restore() just because when I first create the TextureDefinition in ImageTransportSurface, I do not have a TextureManager yet to figure out what the max. number of needed levels is. So I added a bunch of unit tests for that. BUG=181640,220561 Review URL: https://chromiumcodereview.appspot.com/12893006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190222 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Cache results of GetShaderPrecisionFormat client-sidebrianderson@chromium.org2013-03-244-5/+83
| | | | | | | | | | | | This will allow us to avoid making the round-trip call to the server every time this function is called. BUG=222894 Review URL: https://chromiumcodereview.appspot.com/13004003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190205 0039d316-1c4b-4281-b951-d872f2087c98
* ifdef OS_NAME -> if defined(OS_NAME)dbeam@chromium.org2013-03-231-1/+1
| | | | | | | | | | | | ifndef OS_NAME -> if !defined(OS_NAME) BUG=none TEST=no regressions Review URL: https://chromiumcodereview.appspot.com/12545059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190069 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add traces to Produce/Consume texture.epenner@chromium.org2013-03-231-0/+8
| | | | | | | | | | | | | | | Currently consume is expensive. Also, we currently have no other way of detecting compositor frames being produced/consumed in the GPU process. BUG=220561 NOTRY=true No try since the aura failure isn't related. Review URL: https://chromiumcodereview.appspot.com/12888005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189962 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gl_tests for Galaxy Nexusgman@chromium.org2013-03-206-21/+128
| | | | | | | | | | | | | | | | | | | | | | | | Query bugs were real. Added more unit tests CopyTextureCHROMIUM bugs are iffy. We could try to work around them in the command buffer. Basically we'd have to set filtering on all textures used in an FBO just before each glClear/glDraw/glRead That would be slow so we could do that only on SGX. We could optimize if we knew either (a) there are no textures with problematic filtering (unlikely to be true) or (b) there are no textures with problemative filtering on the currently bound FBO. It's not a small change so we can do that later if we want. There's still an issue with mailboxes that I'll fix in another CL BUG=180432 Review URL: https://chromiumcodereview.appspot.com/12716027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189291 0039d316-1c4b-4281-b951-d872f2087c98
* Make gl_tests apk for androidgman@chromium.org2013-03-192-1/+28
| | | | | | | | | BUG=180432 Review URL: https://chromiumcodereview.appspot.com/12502009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189109 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Use correct enum values for CHROMIUM_pixel_transfer_buffer_object.reveman@chromium.org2013-03-191-4/+2
| | | | | | | | | | | BUG=None R=gman@chromium.org NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12643012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188939 0039d316-1c4b-4281-b951-d872f2087c98
* GLES2Decoder: Remove redundant || expressionhans@chromium.org2013-03-171-2/+2
| | | | | | | | | | | | | | Since the expression had the same lhs and rhs, it did not make much sense. It seems this got introduced in a refactoring in r175473. This was found by experimenting with a potential new Clang warning. BUG=none Review URL: https://chromiumcodereview.appspot.com/12670007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188642 0039d316-1c4b-4281-b951-d872f2087c98
* Change CHECK that context is current to DCHECK.jbauman@chromium.org2013-03-161-1/+1
| | | | | | | | | | | The context can become not current after a resize callback due to a lost device. The code after the CHECK handles this fine, so convert this to a DCHECK instead. BUG=189889 Review URL: https://chromiumcodereview.appspot.com/12880002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188599 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Implement idle async pixel transfers.reveman@chromium.org2013-03-166-1/+42
| | | | | | | | | | | | | This makes the fallback pixel transfer implementation perform texture uploads when command buffer is idle. BUG=161337 R=epenner@chromium.org Review URL: https://chromiumcodereview.appspot.com/12040049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188558 0039d316-1c4b-4281-b951-d872f2087c98
* Set the GL implementation during unit tests.gman@chromium.org2013-03-154-6/+26
| | | | | | | | BUG=196334 Review URL: https://chromiumcodereview.appspot.com/12830007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188514 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium style checker cleanuprsleevi@chromium.org2013-03-151-2/+2
| | | | | | | | | | | | Automated clean up of style checker errors that were missed due to the plugin not being executed on implementation files. BUG=115047 TBR=ben, brettw, jamesr, joi, satorux, piman, wez Review URL: https://chromiumcodereview.appspot.com/12813004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188311 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Extend QualComm scissor bug workaroundsievers@chromium.org2013-03-141-0/+3
| | | | | | | | | | | | | This extends the workaround from https://codereview.chromium.org/11734037/ Apparently, the driver also applies an incorrect scissor after we change the texture to FBO binding with glFramebufferTexture2D(). BUG=188600 NOTRY=True Review URL: https://codereview.chromium.org/12566032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188232 0039d316-1c4b-4281-b951-d872f2087c98
* Don't actually call glGetShaderPrecisionFormat unless running either on a ↵kbr@chromium.org2013-03-142-2/+9
| | | | | | | | | | | | | | GLES2 implementation or unit tests. Calling it on some Mac OS OpenGL drivers causes a GL_INVALID_OPERATION which breaks either the WebGL implementation or applications later. This should have been caught by the GPU bots. Tested with WebGL conformance tests, the shiny-teapot demo, and gpu_unittests. BUG=192533 Review URL: https://codereview.chromium.org/12544023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188216 0039d316-1c4b-4281-b951-d872f2087c98
* Implement EXT_draw_buffers WebGL extention support in command buffer.zmo@chromium.org2013-03-1430-33/+642
| | | | | | | | | | | | | A few things: 1) I only hooked up with desktop GL backend, i.e., GL_ARB_draw_buffers. Will add GLES support later. 2) Probably we need to do something to enable this for Pepper3D also? If yes, will do so in a seperate CL. 3) I didn't add the wordarounds for Mac/Linux driver bugs. Will do so in a seperate CL. BUG=180397 TEST=gpu_unittests, webgl conformance tests Review URL: https://codereview.chromium.org/12545014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188129 0039d316-1c4b-4281-b951-d872f2087c98