summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Test that glDiscardFramebufferEXT binds to the correct functionoetuaho@nvidia.com2014-02-051-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | MockGLInterface::GetGLProcAddress used to return the same mock function for different versions of a GL function. This prevented any detailed testing of the GL bindings in the GPU unit tests. This patch changes the logic so that MockGLInterface::GetGLProcAddress returns a different mock function for each different valid function name, so that the function pointer can be checked to ensure that the bindings were done correctly. However, the different mock versions of the same GL function still redirect to the same MockGLInterface member function. This preserves hiding the intricacies of the GL bindings from unit tests that are not interested in them. Initially, this is used to make sure that glInvalidateFramebuffer is bound on GLES3, and glDiscardFramebufferEXT is bound on GLES2 when the extension is present. BUG=322489 TEST=gpu_unittests Review URL: https://codereview.chromium.org/148763004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248959 0039d316-1c4b-4281-b951-d872f2087c98
* Add Mavericks to test config.zmo@chromium.org2014-02-044-5/+14
| | | | | | | | | | BUG=338160 TEST=gpu_unittests on 10.9 bots R=kbr@chromium.org Review URL: https://codereview.chromium.org/141753015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248647 0039d316-1c4b-4281-b951-d872f2087c98
* Add gpu::MailboxHolder to hold state for a gpu::Mailboxsheu@chromium.org2014-02-035-5/+82
| | | | | | | | | | | | | | | | | | | | | | | | gpu::Mailbox by itself can hold only a texture id, but in common usage it comes with texture target and syncpoint information for cross-context sharing. To reduce repetition of this pattern, gpu::MailboxHolder holds: * a gpu::Mailbox * a GL texture target * a syncpoint index Refactor other classes to use a gpu::MailboxHolder instead of separate gpu::Mailbox and associated state. Syncpoints are created with uint32 indices; make sure all uses of syncpoints use the appropriate type. BUG=None TEST=local build, unittests on CrOS snow, desktop Linux TBR=piman@chromium.org, enn@chromium.orge, cevans@chromium.org, scherkus@chromium.org Review URL: https://codereview.chromium.org/132233041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248612 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-02-036-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=ben@chromium.org, piman@chromium.org, sievers@chromium.org, piman, sievers BUG=270918 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=248049 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248557 0039d316-1c4b-4281-b951-d872f2087c98
* Add GPU bots to the default set of try jobs in ui/gl/ and gpu/.danakj@chromium.org2014-02-031-0/+17
| | | | | | | | | R=kbr@chromium.org, piman@chromium.org, piman BUG=270918 Review URL: https://codereview.chromium.org/151593002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248541 0039d316-1c4b-4281-b951-d872f2087c98
* Mark GL2FixedTests_blend_input_run as failingvangelis@chromium.org2014-01-311-0/+2
| | | | | | | | | BUG=339911 TBR=zmo Review URL: https://codereview.chromium.org/145023019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248284 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 248049 "Ensure GL initialization only happens once, and p..."kbr@chromium.org2014-01-316-20/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caused content_gl_tests to start failing on all Mac Release GPU bots. See Issue 339658 for details. > Ensure GL initialization only happens once, and provide common init path > > Currently tests initialize GL by calling into methods that should be > internal to the gl bindings code. Instead, everyone should go through > GLSurface::InitializeOneOff. > > Also GLSurface::InitializeOneOff early outs if it was already called, > leading to a pattern of initializing GL all over the place just in case > and not having a clear idea of where it should be set up. Instead, DCHECK > that it is not called more than once, and move calls to this method to > be during process startup for unit test suites instead of mid-test. > > This adds two test variants of InitializeOneOff for tests to call, that > set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. > > R=piman, sievers > BUG=270918 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 > > Review URL: https://codereview.chromium.org/135213003 TBR=danakj@chromium.org BUG=270918,339658 Review URL: https://codereview.chromium.org/151003002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248093 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-01-306-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=piman, sievers BUG=270918 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248049 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 247966 "Remove unnecessary dependency from gpu/ to libui.dll"xhwang@chromium.org2014-01-301-0/+1
| | | | | | | | | | | | | | | | | | | > Remove unnecessary dependency from gpu/ to libui.dll > > The command buffer uses ui/gfx/ types and ui/gl/ bindings, but those are > separate components from ui/ui.gyp:ui. libui.dll pulls in a bunch of dependencies > (like net/) that the command buffer doesn't need. > > R=piman > > Review URL: https://codereview.chromium.org/137203006 BUG=339518 TBR=jamesr@chromium.org Review URL: https://codereview.chromium.org/131143006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247974 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unnecessary dependency from gpu/ to libui.dlljamesr@chromium.org2014-01-301-1/+0
| | | | | | | | | | | | The command buffer uses ui/gfx/ types and ui/gl/ bindings, but those are separate components from ui/ui.gyp:ui. libui.dll pulls in a bunch of dependencies (like net/) that the command buffer doesn't need. R=piman Review URL: https://codereview.chromium.org/137203006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247966 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove std::string("") usage and fix lint errors.thestig@chromium.org2014-01-301-1/+1
| | | | | | | | TBR=oshima@chromium.org,stevenjb@chromium.org,bajones@chromium.org,rch@chromium.org Review URL: https://codereview.chromium.org/149573004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247844 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 247793 "Ensure GL initialization only happens once, and p..."yoz@chromium.org2014-01-306-20/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | due to new static initializers in gl_bindings_autogen_gl.cc > Ensure GL initialization only happens once, and provide common init path > > Currently tests initialize GL by calling into methods that should be > internal to the gl bindings code. Instead, everyone should go through > GLSurface::InitializeOneOff. > > Also GLSurface::InitializeOneOff early outs if it was already called, > leading to a pattern of initializing GL all over the place just in case > and not having a clear idea of where it should be set up. Instead, DCHECK > that it is not called more than once, and move calls to this method to > be during process startup for unit test suites instead of mid-test. > > This adds two test variants of InitializeOneOff for tests to call, that > set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. > > R=piman, sievers > BUG=270918 > > Review URL: https://codereview.chromium.org/135213003 TBR=danakj@chromium.org Review URL: https://codereview.chromium.org/149953003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247811 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-01-306-30/+20
| | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=piman, sievers BUG=270918 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247793 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Always update SurfaceTexture when usedsievers@chromium.org2014-01-291-29/+44
| | | | | | | | | | | | This basically causes it to get updated from glCopyTextureCHROMIUM() also which is used with canvas/webgl. BUG=309162 Review URL: https://codereview.chromium.org/148513004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247699 0039d316-1c4b-4281-b951-d872f2087c98
* Don't allow glBindTexImage2D() with GL_TEXTURE_CUBE_MAPsievers@chromium.org2014-01-292-0/+17
| | | | | | | | | | We are using the same validators as for glBindTexture(), so we need to filter this out manually. (Using the texImage2D()/TextureTarget validator is not really better either, because it would not allow GL_TEXTURE_RECTANGLE_ARB.) Review URL: https://codereview.chromium.org/141703013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247542 0039d316-1c4b-4281-b951-d872f2087c98
* add a human-readable explanation to allow the trace to show why the command ↵humper@google.com2014-01-282-0/+3
| | | | | | | | | | buffer was synchronously flushed; This is handy to track down why we're experiencing long command buffer flushes on Android sometimes with GPU rasterization BUG= Review URL: https://codereview.chromium.org/132243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247514 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression with r247334sievers@google.com2014-01-281-18/+22
| | | | | | | | | | GetLevelImage() does not handle GL_TEXTURE_CUBE_MAP. TBR=reveman@chromium.org Review URL: https://codereview.chromium.org/132333014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247382 0039d316-1c4b-4281-b951-d872f2087c98
* [gpu] Remove StreamTexture(Manager) concept from command decodersievers@google.com2014-01-2751-1157/+311
| | | | | | | | | | | | | Instead add a simple GpuControl interface to attach a GLImage-wrapped SurfaceTexture ref to a texture which will provide the necessary hooks. BUG=282700,309162 R=palmer@chromium.org, piman@chromium.org, reveman@chromium.org Review URL: https://codereview.chromium.org/147463002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247334 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Windows accelerated surface support.jbauman@chromium.org2014-01-274-18/+0
| | | | | | | | | | Presentation now only happens directly from the GPU process, so this code isn't used anymore. BUG=325947 Review URL: https://codereview.chromium.org/140173004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247312 0039d316-1c4b-4281-b951-d872f2087c98
* Encapsulate functionality of the mock GL interface to MockGLInterfaceoetuaho@nvidia.com2014-01-2517-41/+44
| | | | | | | | | | | | | | | | | Previously, the mock GL interface was split into two classes, GLInterface and MockGLInterface, and related functionality existed also outside these classes. Grouping the functionality under MockGLInterface and removing the ability to read the static GLInterface* from outside makes this part of the code more self-contained and easier to understand. The comment explaining the role of MockGLInterface is also fixed: the interface is not the desktop GL interface, but rather an union of different GL interfaces. Also clean up unused autogenerated egl/glx/osmesa/wgl headers. Only the gl interface header is currently being used for mocking. The commit doesn't introduce functional changes, but only refactors existing functionality. BUG=none TEST=gpu_unittests Review URL: https://codereview.chromium.org/132823009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247086 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Fix crash in GLES2DecoderImpl::Destroy.reveman@chromium.org2014-01-241-2/+1
| | | | | | | | | | GLES2DecoderImpl::Destroy can be called without group_ set. BUG=337536 Review URL: https://codereview.chromium.org/145273010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246852 0039d316-1c4b-4281-b951-d872f2087c98
* Make mojo_gles2 a stub shared librarypiman@chromium.org2014-01-2229-28/+50
| | | | | | | | | | | | | | | This follows the mojo_system pattern, separating mojo_gles2 into a client-side shared library which is just a trampoline into a shell-provided mojo_gles2_impl component. This includes core GLES2 functions which are auto-generated, replacing the use of gles2_c_lib. BUG=333157 R=darin@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/140513003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246434 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 245563 and 245800 which made re2 GN generated.brettw@chromium.org2014-01-222-2/+2
| | | | | | | | | | | This change keeps the BUILD file in the new location and does not resort the .gyp files to facilitate relanding. TBR=thakis BUG= Review URL: https://codereview.chromium.org/132693017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246255 0039d316-1c4b-4281-b951-d872f2087c98
* Unit test for GPU command buffer wrapping condition.vmiura@chromium.org2014-01-221-4/+83
| | | | | | | | | | | | | | | Patches introduced under Issue 181711 and then reverted had introduced a GPU command buffer wrapping bug which wasn't caught by any unit tests. Command ring buffer could fill completely so that put == get, at that point appearing empty (put == get should mean empty), then more commands would be written overwriting prior commands in flight. BUG=322726 Review URL: https://codereview.chromium.org/132053006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246218 0039d316-1c4b-4281-b951-d872f2087c98
* Only allow the SVGA3D VMware driver, not the llvmpipe one.zmo@chromium.org2014-01-221-1/+5
| | | | | | | | | | BUG=332596 TEST= R=kbr@chromium.org Review URL: https://codereview.chromium.org/137063004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246191 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add gpu::MailboxHolder to hold state for a gpu::Mailbox"danakj@chromium.org2014-01-215-82/+5
| | | | | | | | | | | | | | | This reverts commit 9ee2343406a6fae9c8aacc7303f7b1e5a04aab9e. This patch is the source of the top crash in canary. See the bug for more details. TBR=sheu NOTREECHECKS=true BUG=336040 Review URL: https://codereview.chromium.org/129873005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245959 0039d316-1c4b-4281-b951-d872f2087c98
* Support -Goutput_dir=blahblah in GN-GYP hybrid modejamesr@chromium.org2014-01-182-2/+2
| | | | | | | | | | | | | | This supports specifying the output_dir generator flag in the gn-generating-gyp mode. The value of the output_dir flag is mapped to a gyp variable called gyp_output_dir and a GN argument by the same name. References from gyp to gn-generated gyp files must use this variable and references from BUILD.gn files must use the gn argument. BUG=335760 TBR=brettw for build/config/BUILDCONFIG.gn (looked at in person) Review URL: https://codereview.chromium.org/142223002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245800 0039d316-1c4b-4281-b951-d872f2087c98
* Add gpu::MailboxHolder to hold state for a gpu::Mailboxsheu@chromium.org2014-01-185-5/+82
| | | | | | | | | | | | | | | | | | | | | | gpu::Mailbox by itself can hold only a texture id, but in common usage it comes with texture target and syncpoint information for cross-context sharing. To reduce repetition of this pattern, gpu::MailboxHolder holds: * a gpu::Mailbox * a GL texture target * a syncpoint index Refactor other classes to use a gpu::MailboxHolder instead of separate gpu::Mailbox and associated state. Syncpoints are created with uint32 indices; make sure all uses of syncpoints use uint32. BUG=None TEST=local build, unittests on CrOS snow, desktop Linux Review URL: https://codereview.chromium.org/105743004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245730 0039d316-1c4b-4281-b951-d872f2087c98
* Take GL version and extensions correctly into account when binding functionsoetuaho@nvidia.com2014-01-176-18/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform libraries may return non-null function pointers from dlsym or getProcAddress for unsupported GL functions. Previously the function binding logic tried to address this with a separate extension function binding step, but since some of the bindings were still done without consulting the extension string, this failed to account for some conflicts between core and extension functions such as glDiscardFramebufferEXT vs. glInvalidateFramebuffer. Fix this by binding all functions that have multiple versions only after the context has been made current, and consulting the extension and version strings. The logic for binding each function is now only in one place in the generated code and easy to follow. The patch still does not guarantee that the function pointers would be set to null if the function is unsupported. It only attempts to guarantee that an incorrect version of a function is not bound in case another version is supported. The patch is conservative like this to avoid requiring the exact specification of binding conditions in case a function only has one name, and to make it less likely to expose bugs elsewhere. GetGLCoreProcAddress and GetGLProcAddress are combined into one function, which always first looks for the function pointer with dlsym and then with GetProcAddress. The new conditions for binding make sure that this does not result in errors. The patched bindings do not query for incorrect OES or ARB extension strings without the GL_ prefix. Including the incorrect extension strings without the prefix is assumed to have been a mistake. This applies to OES_get_program_binary, OES_vertex_array_object, ARB_get_program_binary, ARB_vertex_array_object, and APPLE_vertex_array_object. BUG=322489 TEST=gpu_unittests, cc_unittests, WebGL conformance tests Review URL: https://codereview.chromium.org/98643013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245623 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the re2 GYP targets to be generated by GN.brettw@chromium.org2014-01-172-2/+2
| | | | | | | | | | BUG=288991 R=bradnelson@google.com Reland of r245254 Review URL: https://codereview.chromium.org/141053003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245563 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor base/safe_numerics.hjschuh@chromium.org2014-01-171-1/+0
| | | | | | | | | | | | | | | * Move into base/numerics subdirectory. * Rename files for clarity. * Add owners. * Rename checked_numeric_cast to checked_cast. * Fixup callsites and include paths. BUG=332611 R=brettw@chromium.org, jam@chromium.org Review URL: https://codereview.chromium.org/141113003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245418 0039d316-1c4b-4281-b951-d872f2087c98
* Normalize _unittest.cc filename suffix for unittestsalecflett@chromium.org2014-01-1713-24/+24
| | | | | | | | | | | This allows tools that use filename heuristics to detect tests (like scythe) BUG=335193 Review URL: https://codereview.chromium.org/138433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245392 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes to make GPU tests run in isolated mode.kbr@chromium.org2014-01-161-0/+6
| | | | | | | | | | | | | | | | | | | | | 1) To match the gyp dependencies, move clearkeycdmadapter binaries, plugins/, lib32/ and lib64/ from chrome.isolate to browser_tests.isolate. 2) On Windows, include <(version_full).manifest in chrome.isolate to be able to execute chrome.exe. Add needed chrome_child.dll and chrome_elf.dll. 3) Add libEGL.dll and libGLESv2.dll dependencies to gpu.gyp:gl_tests and a new angle.isolate; refer to it from gl_tests.isolate and gles2_conform_test.isolate. 4) Copy run_gpu_test to run_gpu_test.py, and invoke that instead in telemetry_gpu_test.isolate, to make this isolate work on Windows. BUG=321878,334539 Review URL: https://codereview.chromium.org/140263002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245283 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Convert the re2 GYP targets to be generated by GN. ↵brettw@chromium.org2014-01-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/68853015/) Reason for revert: Broke Blink compile Original issue's description: > Convert the re2 GYP targets to be generated by GN. > > BUG=288991 > R=bradnelson@google.com > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245254 TBR=bradnelson@chromium.org,bradnelson@google.com NOTREECHECKS=true NOTRY=true BUG=288991 Review URL: https://codereview.chromium.org/141063002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245271 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the re2 GYP targets to be generated by GN.brettw@chromium.org2014-01-162-2/+2
| | | | | | | | | BUG=288991 R=bradnelson@google.com Review URL: https://codereview.chromium.org/68853015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245254 0039d316-1c4b-4281-b951-d872f2087c98
* During virtual context switches only restore texture unitskaanb@chromium.org2014-01-168-42/+326
| | | | | | | | | | | | | | that have changed from the previous context. The most CPU consuming operations on the GPU thread for Android are virtual context switches. We attempt to reduce the CPU usage by context switches with this patch. BUG=244701 Review URL: https://codereview.chromium.org/118203002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245109 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Add trace for real SwapBuffers.epenner@chromium.org2014-01-161-3/+0
| | | | | | | | | | | | There is too many abstractions in our surface classes to determine 'real' SwapBuffers calls in traces. This adds traces in all the relevant places where we do 'real' swaps. BUG=334063 Review URL: https://codereview.chromium.org/137823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245107 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some dead code found by scythe.thakis@chromium.org2014-01-163-69/+0
| | | | | | | | | | | No functionality change. BUG= R=piman@chromium.org Review URL: https://codereview.chromium.org/138313006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245054 0039d316-1c4b-4281-b951-d872f2087c98
* Support nested tracing in gpu_tracer.vmiura@chromium.org2014-01-1512-86/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gpu_tracer used to support only one trace at a time per-context. This change enables nested traces, which will make them more useful for marking various groups of rendering code in the Renderer. Multiple sources are handled. Possible sources: kTraceGroupMarker -> Added by glPush/PopGroupMarkerEXT() kTraceCHROMIUM -> Added by glTraceBegin/EndCHROMIUM() kTraceDecoder -> Added automatically for some commands by GLES2Decoder The sources are separated so that they don't corrupt eachother's stack. i.e. this is OK: glPushGroupMarker() glTraceBeginChromium() glPopGroupMarker() glTraceEndChromium() GPU Service side trace is now enabled by category "gpu.service" GPU Device side trace is now enabled by category "gpu.device" BUG=331161 Review URL: https://codereview.chromium.org/134163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244931 0039d316-1c4b-4281-b951-d872f2087c98
* Remove NVIDIA entry from blacklistvangelis@chromium.org2014-01-141-17/+1
| | | | | | | | | | | It turns out that it's not this particular driver which caused the pink screen but rather a 3D vision setting. BUG=319115 Review URL: https://codereview.chromium.org/132403007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244658 0039d316-1c4b-4281-b951-d872f2087c98
* Blacklisting accelerated video for range of drivers found by VIMEO. vangelis@chromium.org2014-01-131-0/+83
| | | | | | | | BUG=298968 Review URL: https://codereview.chromium.org/134543003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244544 0039d316-1c4b-4281-b951-d872f2087c98
* Report relevant variable names in info logs on failed shader linkoetuaho@nvidia.com2014-01-133-36/+71
| | | | | | | | | | | | | | | | | In case there's a variable precision mismatch or name conflict, the variable name is now printed in the program info log to ease fixing the issue in complex shaders. Also fixes a bug where multiple hashed names would not all be converted to the original names in info logs by preferring to match less characters in the regex, instead of preferring to match more and possibly eating up all the hashed names except the last. BUG=332798 TEST=gpu_unittests, WebGL GLSL conformance tests Review URL: https://codereview.chromium.org/132183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244504 0039d316-1c4b-4281-b951-d872f2087c98
* Remove chromium extensions obsoleted by gpu::Capabilitiesboliu@chromium.org2014-01-113-15/+1
| | | | | | | | | | | | | Remove these extensions that do not guard any new gl functions: GL_CHROMIUM_front_buffer_cached GL_CHROMIUM_fast_NPOT_MO8_textures BUG=285390 NOTRY=true Review URL: https://codereview.chromium.org/112343010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244376 0039d316-1c4b-4281-b951-d872f2087c98
* Pass gfx::Rect and gfx::RectF by const ref.prashant.n@samsung.com2014-01-103-3/+3
| | | | | | | | | | | | | | | | | Avoid unneccessary copy of structures gfx::Rect & gfx::RectF by passing them by const ref rather than value. Any struct of size > 4 bytes should be passed by const ref. Passing by ref for these structs is faster than passing by value, especially when invoking function has multiple parameters. Pass by value creates unneccessary overhead which should be avoided. BUG=159273 Review URL: https://codereview.chromium.org/93663004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244224 0039d316-1c4b-4281-b951-d872f2087c98
* Add synthetic delay points for latency testingskyostil@chromium.org2014-01-104-0/+18
| | | | | | | | | | | | | | | | | | Add synthetic delay points for simulating long computation in the following parts of the graphics/input pipeline: 1. blink.HandleInputEvent - Expensive JavaScript input event handling. 2. cc.RasterRequiredForActivation - Long running raster tasks. 3. cc.BeginMainFrame - Complex main thread picture recording, layout or rAF. 4. gpu.AsyncTexImage - Slow texture uploads. 5. gpu.SwapBuffers - GPU-bound rendering. BUG=307841 Review URL: https://codereview.chromium.org/83183005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244175 0039d316-1c4b-4281-b951-d872f2087c98
* Update GPU feature tests to expect no GPU on Windows <=Vistaccameron@chromium.org2014-01-101-1/+7
| | | | | | | | BUG=327430 Review URL: https://codereview.chromium.org/132403003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244077 0039d316-1c4b-4281-b951-d872f2087c98
* Make correct GL context current during gpu_tracer processingvmiura@chromium.org2014-01-103-17/+29
| | | | | | | | | | | | | The gpu_tracer reads back GL timer queries as a delayed task. During processing the associated GL context wasn't made current, so it was possible to query the wrong context, get incorrect timestamps, or cause GL errors. BUG=331161 Review URL: https://codereview.chromium.org/130313002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244068 0039d316-1c4b-4281-b951-d872f2087c98
* Allow WMware software renderer with newer Mesa drivers in Linuxzmo@chromium.org2014-01-091-3/+15
| | | | | | | | | | | | Currently it's anything equal or newer than 9.2.1 BUG=332596 TEST= R=kbr@chromium.org Review URL: https://codereview.chromium.org/130153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243940 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Win64 build of base library even in a Win32 build.petewil@chromium.org2014-01-091-1/+1
| | | | | | | | | | | | | | | Some components of a 32 bit build of chrome for Windows need to be built as Win64 Dlls. To allow those components to use base, we make a Win64 build of the base library even when building chrome 32 bit. This is needed by the Chrome Desk Band code. crbug.com/327435. https://codereview.chromium.org/79173004/ BUG=327435 Review URL: https://codereview.chromium.org/103333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243936 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 243714 "Update GPU feature tests to expect no GPU on Wind..."scottmg@chromium.org2014-01-091-7/+1
| | | | | | | | | | | | | | | | | | | | | | | Failing on main waterfall Vista Tests (1): [ RUN ] GpuFeatureTest.MultisamplingAllowed [4884:2868:0108/183111:2787078:ERROR:desktop_root_window_host_win.cc(757)] NOT IMPLEMENTED test\gpu\gpu_feature_browsertest.cc(305): error: Value of: GpuDataManager::GetInstance()->IsFeatureBlacklisted( gpu::GPU_FEATURE_TYPE_MULTISAMPLING) Actual: true Expected: expect_blacklisted Which is: false > Update GPU feature tests to expect no GPU on Windows <=Vista > > BUG=243476 > > Review URL: https://codereview.chromium.org/128893002 TBR=ccameron@chromium.org Review URL: https://codereview.chromium.org/130693002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243749 0039d316-1c4b-4281-b951-d872f2087c98