| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
BUG=131661
TEST=gpu_unittests now checks for the GL_CHROMIUM_shallow_flush string.
Review URL: https://chromiumcodereview.appspot.com/10782005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147969 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wiring:
- Added bindings for glProgramBinary, glGetProgramBinary, glProgramParameteri
- Plumbed the shader cache from gl_channel_manager to program_manager
- Program cache creation after first context is created
Refactoring:
- moved DoCompile to ProgramManager
New:
- added functionality to ShaderInfo to store if we have a possible pending cache compile
- exposed attrib_map and uniform_map in ShaderInfo for the cache
- program_cache base class with in-memory status storage
- Simple memory_program_cache implementation, stores programs with lru eviction
- Added caching logic to DoCompileShader and Link in ProgramMAnager
- MemoryProgramCache, the in-memory cache implementation
- ProgramCacheLruHelper, an O(1) lru implementation
Misc:
- A couple style fixes in modified files
Design doc: https://docs.google.com/document/d/1Vceem-nF4TCICoeGSh7OMXxfGuJEJYblGXRgN9V9hcE/edit
BUG=88572
Review URL: https://chromiumcodereview.appspot.com/10797055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147932 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Latency tests require instrumenting where the SwapBuffers call is received, as opposed to where it is completed. Fix a regression introduced by r146621 in the latency tests by restoring the TRACE_EVENT placement.
R=jbates
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10805022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147923 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
These can be used on mac and bots eventually
TEST=ran'em
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10810029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147599 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
nothing will be drawn during subsequent draw calls.
BUG=138088
TEST=gpu_unittests; revised WebGL conformance test gl-vertex-attrib-zero-issues.html (will be pulled to GPU bots); test cases from bug report
Review URL: https://chromiumcodereview.appspot.com/10808041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147584 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In-memory cache
- maximum in memory limit (currently 6mb)
- lru eviction
- Cache includes saving the attribute + uniform mappings
Wiring:
- Added bindings for glProgramBinary and glGetProgramBinary
- Plumbed the shader cache from gl_channel_manager to program_manager
Refactoring:
- moved the meat of DoCompile to the ProgramManager
New:
- added field to ShaderInfo to store if we have a possible pending cache compile
- exposed attrib_map and uniform_map in ShaderInfo for the cache
- program_cache base class with in-memory status storage
- Simple memory_program_cache implementation, stores programs with lru eviction
- Added caching logic to DoCompileShader in gles2_cmd_decoder and Link in program_manager
Design doc: https://docs.google.com/document/d/1Vceem-nF4TCICoeGSh7OMXxfGuJEJYblGXRgN9V9hcE/edit
BUG=88572
Review URL: https://chromiumcodereview.appspot.com/10534173
TBR=dmurph@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10795037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147497 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
every 5ms. Flushing logic now has to be done at a higher level by the compositor.
BUG=124514
TEST=Verify texture uploads are faster.
Review URL: https://chromiumcodereview.appspot.com/10535124
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147387 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
So we don't bucket all AMD cards as crappy.
BUG=117371
Review URL: https://chromiumcodereview.appspot.com/10790060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147334 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In-memory cache
- maximum in memory limit (currently 6mb)
- lru eviction
- Cache includes saving the attribute + uniform mappings
Wiring:
- Added bindings for glProgramBinary and glGetProgramBinary
- Plumbed the shader cache from gl_channel_manager to program_manager
Refactoring:
- moved the meat of DoCompile to the ProgramManager
New:
- added field to ShaderInfo to store if we have a possible pending cache compile
- exposed attrib_map and uniform_map in ShaderInfo for the cache
- program_cache base class with in-memory status storage
- Simple memory_program_cache implementation, stores programs with lru eviction
- Added caching logic to DoCompileShader in gles2_cmd_decoder and Link in program_manager
Design doc: https://docs.google.com/document/d/1Vceem-nF4TCICoeGSh7OMXxfGuJEJYblGXRgN9V9hcE/edit
BUG=88572
Review URL: https://chromiumcodereview.appspot.com/10534173
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147328 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=137584
TEST=unit tests; ran WebGL gl-pointcoord.html conformance test on all GPUs on Mac
Review URL: https://chromiumcodereview.appspot.com/10789028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146950 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed to allow texture streaming of all miplevels. This affects only pepper, as WebGL does its own validation.
BUG=136929
TEST=
Review URL: https://chromiumcodereview.appspot.com/10735066
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146711 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With --ui-enable-threaded-compositing, every Layer::SetExternalTexture() was causing a heavy CCThreadProxy::acquireLayerTextures(). This synchronization is unnecessary on the common case of buffer flips, because RWHVA handles the necessary synchronization via OnCompositingWillStart callbacks.
To reduce the synchronization burden, we handle
- wait for a commit on resize fast ACKS
- handle the common case of buffer flips via WebExternalTextureLayerClient::prepareTexture()
- and explicitly call WebExternalTextureLayer::willModifyTexture() when we need the extra synchronization on tear down.
BUG=136012
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10689108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146621 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
For context see this thread:
https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II
TBR=thakis,pkasting,jam
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TEST=passes new webgl conformance test
BUG=136538
Review URL: https://chromiumcodereview.appspot.com/10735038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146010 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=123295
TEST=existing unittests
Review URL: https://chromiumcodereview.appspot.com/10694111
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146001 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ran in on Windows. It worked here. Not sure why it failed on bots a week ago.
BUG=135229
TEST=it IS a test
Review URL: https://chromiumcodereview.appspot.com/10748014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145916 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables DCHECK, NOTREACHED, and other debugging code on Android
non-official release builds. Since all Android builds are done in
release mode, we don't set NDEBUG according to whether the build is in
release or debug mode. Rather we set NDEBUG for official builds only.
This requires a change to skia.gyp to define SK_RELEASE exactly the
same when building skia and its direct dependencies:
SK_RELEASE should be defined in skia.gyp only when use_system_skia is
set to 1 because system skia is always in release mode. When building
with chromium version of skia (which is what we do now) this should
not be defined and left to the skia headers to figure out whether to
include debug code or not (they define SK_RELEASE only if NDEBUG was
defined).
BUG=http://b/6712716
Review URL: https://chromiumcodereview.appspot.com/10695047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes it possible to asynchronously query GL errors.
TEST=unit tests
BUG=133630
Review URL: https://chromiumcodereview.appspot.com/10577037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145739 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=133438
TEST=unit tests
Review URL: https://chromiumcodereview.appspot.com/10708002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145180 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TEST=gl test
BUG=135220
Review URL: https://chromiumcodereview.appspot.com/10692047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145091 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
because it is failing on some gpu bots.
BUG=135229
TBR=apatrick@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10700044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145041 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10696054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145024 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
cache, in kb.
Review URL: https://chromiumcodereview.appspot.com/10697029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144922 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppressed regressing WebGL conformance tests.
Removed check for alpha==1 for a depth texture because I think GL_ANGLE_depth_texture is specified such that this is not expected.
The roll causes the image transport to be flipped. Compensated in AcceleratedSurface.
BUG=134743
Review URL: https://chromiumcodereview.appspot.com/10702010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144776 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds support to Windows and Mac. Linux doesn't gain anything, because the GPU process is blocked on the actual SwapBuffers call (whereas Windows and Mac asynchronously notify the browser to execute the Swap).
The surface gets a chance to defer either Draws or Swaps. The surface can unschedule the GpuScheduler on the first attempt at a draw, for example, and reschedule it later when the draw is safe to execute (ie: when the pending SwapBuffers is acked by the browser).
Platforms with triple-buffered contexts can defer all the way until a Swap, while most platforms will use the draws to defer.
Review URL: https://chromiumcodereview.appspot.com/10389202
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144648 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
called when tracing is disabled.
BUG=127711
Review URL: https://chromiumcodereview.appspot.com/10698021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144615 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppressed regressing WebGL conformance tests.
Removed check for alpha==1 for a depth texture because I think GL_ANGLE_depth_texture is specified such that this is not expected.
The roll causes the image transport to be flipped. Compensated in AcceleratedSurface.
BUG=134743
Review URL: https://chromiumcodereview.appspot.com/10668003
TBR=apatrick@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10699003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144425 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppressed regressing WebGL conformance tests.
Removed check for alpha==1 for a depth texture because I think GL_ANGLE_depth_texture is specified such that this is not expected.
The roll causes the image transport to be flipped. Compensated in AcceleratedSurface.
BUG=134743
Review URL: https://chromiumcodereview.appspot.com/10668003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extensions were being cached per context group. Recently we started creating an offscreen context before any onscreen contexts, which meant that our onscreen specific extensions were never being reported. This CL keeps the cacheing for the context specific extensions and adds in the surface specific extensions.
TEST=use chrome://tracing to verify that HandlePostSubBuffer is being called in the GPU process on a CrOS device
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10673002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144271 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed to get some of the new extension functions to link properly.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10597006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144235 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=132844
Review URL: https://chromiumcodereview.appspot.com/10635011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144070 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=133936
TEST=Manual
Review URL: https://chromiumcodereview.appspot.com/10629014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143904 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a program argument so that at least in debug we can
verify locations are correct. It also means we could fallback
to actually calling GetUniformLocation if need be.
TEST=unit tests
BUG=132844
Review URL: https://chromiumcodereview.appspot.com/10581029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143126 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=130617
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=142931
Review URL: https://chromiumcodereview.appspot.com/10573004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143003 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GL_CHROMIUM_copy_texture command buffer GL extension.
The extension needs to support the ability to unpremultiply the source of the copy because of the canvas2d-webgl texture use case. Canvas is stored in premultiplied form, yet WebGL expects texture contents to be in unpremultiplied form.
Change also includes conversion of argument types to overriders of WebGraphicsContext3D::copyTextureCHROMIUM(...).
This change is necessary as a result of a wk-change: https://bugs.webkit.org/show_bug.cgi?id=86275
BUG=101051
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10535174
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142962 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This breaks almost all the webgl conformance tests and gl_tests on all gpu bots.
TEST=unit tests
BUG=130617
Review URL: https://chromiumcodereview.appspot.com/10573004
TBR=gman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10581015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142946 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=130617
Review URL: https://chromiumcodereview.appspot.com/10573004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142931 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=132844
TEST=unit tests
Review URL: https://chromiumcodereview.appspot.com/10568003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142879 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=112299
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10541185
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142869 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Finish() uses GPU_CLIENT_SINGLE_THREAD_CHECK() but is called by other methods
that call this macro, triggering GPU_CHECK_EQ(0, 1) crashes.
- DeleteQueriesEXTHelper was checking that pending queries had *no* results
available before removing them instead of checking they *had* results
available.
Review URL: https://chromiumcodereview.appspot.com/10536191
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142357 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command buffer.
This will be used by GpuMemoryManager
BUG=129739
TEST=bots
R=gman
Review URL: https://chromiumcodereview.appspot.com/10548034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142061 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each shader translator takes about 700 KB of memory in the GPU proces in Release. There are typically between 2-4 of these per tab with --force-compositing-mode. This CL introduces a cache, so that tabs share shader translators whenever possible.
BUG=132426
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10535128
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142002 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it.
I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates.
BUG=127414
TEST=
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=141302
Review URL: https://chromiumcodereview.appspot.com/10411042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default textures were not tracked correctly.
This fixes that issue
TEST=unit tests and GLES2 conformance tests no longer crash
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10549002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141815 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
No idea why these stopped working
TEST=they compile and run
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10532111
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141778 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it.
I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates.
BUG=127414
TEST=
Review URL: https://chromiumcodereview.appspot.com/10411042
TBR=sail@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10534077
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141305 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it.
I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates.
BUG=127414
TEST=
Review URL: https://chromiumcodereview.appspot.com/10411042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141302 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=131743
Review URL: https://chromiumcodereview.appspot.com/10535073
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141292 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10441087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141117 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a message filter in GpuChannel to detect if the UI has commands to execute. This is polled in GpuScheduler so that renderers will defer to the UI.
BUG=none
TEST=smoothly drag a window of https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/google/san-angeles/index.html on alex
Review URL: https://chromiumcodereview.appspot.com/10186002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140866 0039d316-1c4b-4281-b951-d872f2087c98
|