summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Speed up IdAllocator.husky@google.com2011-05-273-11/+64
| | | | | | | | | | | | | | | | | | | | I noticed while debugging that FindFirstFree() was iterating through all existing IDs, so it's O(n^2). This CL makes most operations constant time by adding an explicit freelist (but we need to fall back to a linear search in the worst case). This will increase memory usage slightly, but only by as much as the maximum number of IDs that were in use at any one time. We won't get "garbage IDs" building up over time. MarkAsUsed and FreeID both do an erase/insert pair. The erase could be optimised out (as we've already done the lookup by this point) but I figured it was clearer and simpler this way. TEST=Existing Review URL: http://codereview.chromium.org/7077006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87026 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ShaderTranslator not resetting the info_log on success.gman@chromium.org2011-05-262-3/+15
| | | | | | | | | | | TEST=added unit test BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7062030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86934 0039d316-1c4b-4281-b951-d872f2087c98
* Apply setInterval to new surface-context pairsnduca@chromium.org2011-05-251-0/+12
| | | | | | | | BUG=83832 Review URL: http://codereview.chromium.org/6987025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86720 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit CL 86306gman@chromium.org2011-05-2418-0/+2034
| | | | | | | | TEST=ran locally BUG=83382 Review URL: http://codereview.chromium.org/7066028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86468 0039d316-1c4b-4281-b951-d872f2087c98
* Final gyp patch to make use of the new cross-platform POSIX defines ↵tony@chromium.org2011-05-232-2/+2
| | | | | | | | toolkit_uses_gtk, os_posix, and use_x11. For lists of source files that use a mix of POSIX and Gtk APIs, toolkit_uses_gtk was given precedence. Solaris was made to use ALSA also, as libasound has been ported to FreeBSD and Solaris as a wrapper around the native OSS. Review URL: http://codereview.chromium.org/7055003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86352 0039d316-1c4b-4281-b951-d872f2087c98
* GLContext no longer holds a pointer to a GLSurface.apatrick@chromium.org2011-05-2311-27/+65
| | | | | | | | | | This is part of an ongoing effort to treat GL contexts and GL surfaces as independent entities. TEST=run WebGL on mac, windows and linux, trybots BUG=none Review URL: http://codereview.chromium.org/7021014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86332 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 86306 (failed compile on win builder) - Move OpenGL ES 2.0 ↵mattm@chromium.org2011-05-2317-2030/+0
| | | | | | | | | | | | | | | | | | | | | conformance test support into main tree This support breaks often because it is not built but the buildbots. This CL adds it to the main tree so it will be built by the buildbots. Not sure where to add it in all.gyp but I need to make sure it's built TEST=opengl es 2.0 conformance tests still build BUG=83382 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7057033 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/7066003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86316 0039d316-1c4b-4281-b951-d872f2087c98
* Move OpenGL ES 2.0 conformance test support into main treegman@chromium.org2011-05-2317-0/+2030
| | | | | | | | | | | | | | | | This support breaks often because it is not built but the buildbots. This CL adds it to the main tree so it will be built by the buildbots. Not sure where to add it in all.gyp but I need to make sure it's built TEST=opengl es 2.0 conformance tests still build BUG=83382 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7057033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86306 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ringbuffer test.jbauman@chromium.org2011-05-202-3/+28
| | | | | | | | | | | | The SetToken mock was using the command header as the token value. Also, the ringbuffer test didn't support the jump command, so if the number of entries in the command buffer is too small then the test breaks. BUG= TEST= Review URL: http://codereview.chromium.org/6990002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86167 0039d316-1c4b-4281-b951-d872f2087c98
* Added more trace info to SwapBuffers, traced some functions in ↵jbates@chromium.org2011-05-191-4/+7
| | | | | | | | | | | WebGraphicsContext3D. SwapBuffers now traces frame count for both offscreen and onscreen contexts. An offscreen bool is also traced. BUG=none TEST=observe more trace info in SwapBuffers calls Review URL: http://codereview.chromium.org/7037042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85980 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to help optimizer eliminate redundant code in GPU logging.apatrick@chromium.org2011-05-181-24/+47
| | | | | | | | | | Even in release builds, there was often a fair amount of overhead for DCHECK and friends. It was showing up quite high in my CodeAnalyst profiles and was not necessary in release mode. TEST=trybots, step through DCHECK code and check it doesn't do anything DCHECK related in release. BUG=none Review URL: http://codereview.chromium.org/7032016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85783 0039d316-1c4b-4281-b951-d872f2087c98
* Call SwapBuffersCallback multiple times if a frame was dropped.nduca@chromium.org2011-05-182-0/+5
| | | | | | | | BUG=82084 Review URL: http://codereview.chromium.org/7031028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85710 0039d316-1c4b-4281-b951-d872f2087c98
* Add more stubbed out defines so nacl can bump chrome rev.nfullagar@google.com2011-05-161-0/+3
| | | | | | | | TEST=trybots BUG=none Review URL: http://codereview.chromium.org/7032007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85544 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented threshold based trace events that only get added to the trace if ↵jbates@chromium.org2011-05-131-1/+1
| | | | | | | | | | | | | | | | | the elapsed time between begin and end is greater than a specified time. In order to reduce macro code duplication, created some additional internal helper macros. Improved performance on the critical trace-disabled code path by deferring some member initialization. Removed the unused __LINE__/__FILE__ data. Prefixed internal macros with "INTERNAL_" so that users ignore them. Moved all the internal macros below so that the user sees the relevant macros first. BUG=81565 TEST=base_unittests Review URL: http://codereview.chromium.org/7016012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85349 0039d316-1c4b-4281-b951-d872f2087c98
* Switch most usages of std::map to base::hash_table in GPU service.gman@chromium.org2011-05-138-22/+18
| | | | | | | | | | | TEST=unit tests pass BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/7013039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85317 0039d316-1c4b-4281-b951-d872f2087c98
* Implement GL_CHROMIUM_rate_limit_offscreen_contextnduca@chromium.org2011-05-137-2/+45
| | | | | | | | | | +jamesr for OWNERS on content/renderer because nobody else on GPU has owners there. :s BUG=81481 Review URL: http://codereview.chromium.org/6976012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85233 0039d316-1c4b-4281-b951-d872f2087c98
* Validate glTexParameter parameters.gman@chromium.org2011-05-128-79/+273
| | | | | | | | | | | | | | | | This was never previously validated so you could pass through desktop gl parameters like GL_CLAMP_TO_BORDER Now fixed. TEST=unit tests BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/6949011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85213 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 85013 - Split GLContext::Create*GLContext into ↵apatrick@chromium.org2011-05-127-22/+55
| | | | | | | | | | | | GLSurface::Create*GLSurface plus a surface type independent GLContext::CreateGLContext TEST=try, including layout tests BUG=none Review URL: http://codereview.chromium.org/7013037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85207 0039d316-1c4b-4281-b951-d872f2087c98
* Drive compositor scheduling with the swapbuffers callback.nduca@chromium.org2011-05-123-6/+7
| | | | | | | | | | | | | | This modifies the compositor to hold DoDeferredUpdate until the previous frames are ack'd by the GPU. This vastly improves rendering smoothness. There is some complexity in the way we intercept the SwapBuffers callback due to the different types of GraphicsContexts that get scheduled by render_widget. BUG=80480,53051 Review URL: http://codereview.chromium.org/6902106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85186 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Reland 85013 - Split GLContext::Create*GLContext into ↵antonm@chromium.org2011-05-127-55/+22
| | | | | | | | | GLSurface::Create*GLSurface plus a surface type independent GLContext::CreateGLContext". git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85124 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 85013 - Split GLContext::Create*GLContext into ↵apatrick@chromium.org2011-05-127-22/+55
| | | | | | | | | | | GLSurface::Create*GLSurface plus a surface type independent GLContext::CreateGLContext. TEST=webgl on windows and mac, trybots BUG=none Review URL: http://codereview.chromium.org/6997003 Review URL: http://codereview.chromium.org/7015016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85081 0039d316-1c4b-4281-b951-d872f2087c98
* Changed CHECK to DCHECK in cmd_buffer_helper.cc.apatrick@chromium.org2011-05-111-1/+1
| | | | | | | | | | Profiling revealed that this was a performance hotspot in chrome.dll when running WebGL content on windows. TEST=try BUG=none Review URL: http://codereview.chromium.org/7015002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85036 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85013 - Split GLContext::Create*GLContext into ↵apatrick@chromium.org2011-05-117-55/+22
| | | | | | | | | | | | | GLSurface::Create*GLSurface plus a surface type independent GLContext::CreateGLContext. TEST=webgl on windows and mac, trybots BUG=none Review URL: http://codereview.chromium.org/6997003 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7015003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85016 0039d316-1c4b-4281-b951-d872f2087c98
* Split GLContext::Create*GLContext into GLSurface::Create*GLSurface plus a ↵apatrick@chromium.org2011-05-117-22/+55
| | | | | | | | | | surface type independent GLContext::CreateGLContext. TEST=webgl on windows and mac, trybots BUG=none Review URL: http://codereview.chromium.org/6997003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85013 0039d316-1c4b-4281-b951-d872f2087c98
* Permissions: removed x from gpu/gpu.gypscheib@chromium.org2011-05-101-0/+0
| | | | | | TBR=scheib git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84745 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-108-838/+74
| | | | | | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84486 Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84739 0039d316-1c4b-4281-b951-d872f2087c98
* iwyu: Use callback_old.h where appropriate, part 1.jhawkins@chromium.org2011-05-103-1/+3
| | | | | | | | | | | BUG=none TEST=none R=thakis@chromium.org Review URL: http://codereview.chromium.org/6985009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84725 0039d316-1c4b-4281-b951-d872f2087c98
* Defer IPC messages to the GpuCommandBufferStub until GpuScheduler is ↵apatrick@chromium.org2011-05-092-1/+22
| | | | | | | | | | | | rescheduled. This stops the renderer process from continusously sending synchronous flushes during the swapbuffers period on mac. TEST=WebGL on windows and mac, trybots BUG=none Review URL: http://codereview.chromium.org/6929045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84679 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 84486 - Merge gpu_trace_event back into ↵scheib@chromium.org2011-05-068-73/+837
| | | | | | | | | base/debug/trace_event.Initial land attempt at http://codereview.chromium.org/6551019/gpu_trace_event fork at http://codereview.chromium.org/6691013- gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug- Unit Tests implemented for trace_event- gpu_common library removed (was added only for gpu_trace_event)- Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019)- GPU trace calls renamed to new calls.- Tracing switch removed from test_shell, as linux log file support removed.BUG=79509TEST=trace_event_win_unittest and about:gpuCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284Review URL: http://codereview.chromium.org/6862002 TBR=scheib@chromium.org Review URL: http://codereview.chromium.org/6955006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84494 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-068-837/+73
| | | | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284 Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84486 0039d316-1c4b-4281-b951-d872f2087c98
* Rework SwapBuffers sync to allow enough SwapBuffers without blockingpiman@google.com2011-05-063-13/+22
| | | | | | | | | | | This change allows the renderer to not block on SwapBuffers when using the SwapBuffers-callback-based draw scheduler, for better interactivity. BUG=none TEST=nytimes with Nat's CL 6902106, run the about:gpu profiler, observe no blocking FlushSync Review URL: http://codereview.chromium.org/6913036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84372 0039d316-1c4b-4281-b951-d872f2087c98
* Thanks to piman, added necessary glFlush to the IOSurface code path onkbr@google.com2011-05-052-8/+3
| | | | | | | | | | | | | | | | the Mac. This was the root cause of the delay in transmission of rendering results from the GPU process to the browser process. Undid the changes from the fix for Issue 80602; they are no longer needed. Reran various test cases on Mac; no regressions. BUG=81740 TEST=none Review URL: http://codereview.chromium.org/6931046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84353 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 84284 - Merge gpu_trace_event back into ↵scheib@chromium.org2011-05-058-72/+837
| | | | | | | | | base/debug/trace_event.Initial land attempt at http://codereview.chromium.org/6551019/gpu_trace_event fork at http://codereview.chromium.org/6691013- gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug- Unit Tests implemented for trace_event- gpu_common library removed (was added only for gpu_trace_event)- Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019)- GPU trace calls renamed to new calls.- Tracing switch removed from test_shell, as linux log file support removed.BUG=79509TEST=trace_event_win_unittest and about:gpuReview URL: http://codereview.chromium.org/6862002 TBR=scheib@chromium.org Review URL: http://codereview.chromium.org/6933035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84293 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-058-837/+72
| | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84284 0039d316-1c4b-4281-b951-d872f2087c98
* Fix garbage seen on Mac OS X when toggling compositor and resizingkbr@google.com2011-05-042-3/+8
| | | | | | | | | | | | | window by avoiding descheduling a given command buffer at a couple of inopportune times. The fact that these fixes work indicates that the overall IOSurface handling needs work, but these fixes get us back to a working state. BUG=80602 TEST=none Review URL: http://codereview.chromium.org/6927024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84131 0039d316-1c4b-4281-b951-d872f2087c98
* Allow gpu ringbuffer to wrap around.jbauman@chromium.org2011-05-032-13/+27
| | | | | | | | | | | The ringbuffer was unwilling to wrap around unless the last block filled it up completely - otherwise it would have to wait until it was completely empty. Fix this in the most straightforward way by filling the ringbuffer up with a padding block if necessary. BUG=80946 TEST= Review URL: http://codereview.chromium.org/6901138 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83924 0039d316-1c4b-4281-b951-d872f2087c98
* Roll ANGLE r609:r626apatrick@chromium.org2011-05-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revision: 626 Author: apatrick@chromium.org Date: 5:24:23 PM, Thursday, April 28, 2011 Message: Fix compilation errors in translator.cpp. Review URL: http://codereview.appspot.com/4445073 ---- Modified : /trunk/samples/translator/translator.cpp Modified : /trunk/src/common/version.h Revision: 625 Author: jbauman@chromium.org Date: 4:19:51 PM, Thursday, April 28, 2011 Message: Don't constantly recreate index buffers. Recreating index buffers for closing loops can take a long time, so use a streaming index buffer instead. BUG= TEST= Review URL: http://codereview.appspot.com/4438080 ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Context.cpp Modified : /trunk/src/libGLESv2/Context.h Revision: 624 Author: benvanik@google.com Date: 1:11:54 PM, Thursday, April 28, 2011 Message: Updating resource types on Context (Framebuffers and Fences) to use hash_map, as done to other types in r615. Issue=148 Signed-off-by: Daniel Koch ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Context.h Revision: 623 Author: benvanik@google.com Date: 12:44:39 PM, Thursday, April 28, 2011 Message: Unifying resource handle allocation code with an allocator optimized for O(1) allocs/releases. Issue=143 Signed-off-by: Daniel Koch ---- Modified : /trunk/src/build_angle.gyp Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Context.cpp Modified : /trunk/src/libGLESv2/Context.h Added : /trunk/src/libGLESv2/HandleAllocator.cpp Added : /trunk/src/libGLESv2/HandleAllocator.h Modified : /trunk/src/libGLESv2/ResourceManager.cpp Modified : /trunk/src/libGLESv2/ResourceManager.h Modified : /trunk/src/libGLESv2/libGLESv2.vcproj Revision: 622 Author: daniel@transgaming.com Date: 9:20:58 AM, Thursday, April 28, 2011 Message: Handle null pointer produced by vertex buffer lock Issue=120 TRAC #16558 Signed-off-by: Daniel Koch Author: Nicolas Capens (original patch by Jacob Benoit) ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Blit.cpp Revision: 620 Author: daniel@transgaming.com Date: 11:36:43 AM, Tuesday, April 26, 2011 Message: Add MapLongVariableNames files to standalone vcproj ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/compiler/translator_common.vcproj Revision: 619 Author: zmo@google.com Date: 6:30:07 PM, Friday, April 22, 2011 Message: Implement shader identifier name mapping. The name mapping happens when an identifier is longer than 32 characters. The name mapping is behind a flag, so it won't happen by default. Also, functions to query the mapped names are added. The purpose of this CL is for the drivers that can't handle long names. For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that. This CL also fixes the issue that some of the TIntermSymbols' ids are 0s. ANGLEBUG=144 TEST=test manually with shaders with long identifier names. Review URL: http://codereview.appspot.com/4428058 ---- Modified : /trunk/src/common/version.h Modified : /trunk/include/GLSLANG/ShaderLang.h Modified : /trunk/src/build_angle.gyp Modified : /trunk/src/compiler/Compiler.cpp Added : /trunk/src/compiler/MapLongVariableNames.cpp Added : /trunk/src/compiler/MapLongVariableNames.h Modified : /trunk/src/compiler/ParseHelper.cpp Modified : /trunk/src/compiler/ParseHelper.h Modified : /trunk/src/compiler/ShHandle.h Modified : /trunk/src/compiler/ShaderLang.cpp Modified : /trunk/src/compiler/VariableInfo.cpp Modified : /trunk/src/compiler/VariableInfo.h Modified : /trunk/src/compiler/glslang.y Modified : /trunk/src/compiler/glslang_tab.cpp Modified : /trunk/src/compiler/glslang_tab.h Modified : /trunk/src/compiler/intermediate.h Revision: 618 Author: daniel@transgaming.com Date: 4:33:27 AM, Friday, April 22, 2011 Message: Use StretchRect to speed up simple blits. Fixed copy position transformation. TRAC #16494 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Blit.cpp Modified : /trunk/src/libGLESv2/Blit.h Modified : /trunk/src/libGLESv2/Texture.cpp Revision: 617 Author: daniel@transgaming.com Date: 9:18:50 PM, Thursday, April 21, 2011 Message: Advertise depthbuffer-less surface configs. TRAC #16493 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libEGL/Config.cpp Modified : /trunk/src/libEGL/Display.cpp Modified : /trunk/src/libEGL/Surface.cpp Revision: 616 Author: daniel@transgaming.com Date: 9:17:57 PM, Thursday, April 21, 2011 Message: Heuristically optimize buffer usage. TRAC #16343 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Buffer.cpp Modified : /trunk/src/libGLESv2/Buffer.h Modified : /trunk/src/libGLESv2/IndexDataManager.cpp Modified : /trunk/src/libGLESv2/VertexDataManager.cpp Revision: 615 Author: daniel@transgaming.com Date: 8:03:48 AM, Thursday, April 14, 2011 Message: Use a hash map for faster resource lookups. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/Program.cpp Modified : /trunk/src/libGLESv2/ResourceManager.h Revision: 614 Author: daniel@transgaming.com Date: 7:58:33 AM, Wednesday, April 13, 2011 Message: Optimized prepareVertexData and protect against NULL pointers. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/IndexDataManager.cpp Modified : /trunk/src/libGLESv2/VertexDataManager.cpp Revision: 613 Author: daniel@transgaming.com Date: 7:57:16 AM, Wednesday, April 13, 2011 Message: Move the vertex declaration cache to a helper class. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/libGLESv2/Context.cpp Modified : /trunk/src/libGLESv2/Context.h Revision: 612 Author: daniel@transgaming.com Date: 7:56:47 AM, Wednesday, April 13, 2011 Message: Eliminate lookupAttributeMapping. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens ---- Modified : /trunk/src/libGLESv2/VertexDataManager.cpp Modified : /trunk/src/libGLESv2/Context.cpp Modified : /trunk/src/libGLESv2/Context.h Modified : /trunk/src/libGLESv2/VertexDataManager.h Revision: 609 Author: jbauman@chromium.org Date: 11:59:51 AM, Wednesday, April 06, 2011 Message: Profiling shows that creating and destroying vertex declarations is extremely expensive, so we can keep a 16-element cache around to speed that up. BUG= TEST=JSGameBench Review URL: http://codereview.appspot.com/4358051 ---- Modified : /trunk/src/common/version.h Modified : /trunk/src/libGLESv2/VertexDataManager.cpp Modified : /trunk/src/libGLESv2/VertexDataManager.h TEST=tryBUG=none Review URL: http://codereview.chromium.org/6865035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83749 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Issue that glProgramInfoLog was not called if program did not link.gman@chromium.org2011-04-2911-155/+337
| | | | | | | | | TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/6904077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83523 0039d316-1c4b-4281-b951-d872f2087c98
* Rework FlushSync to return early if commands have been processed since the ↵piman@google.com2011-04-2828-1335/+83
| | | | | | | | | | | last update BUG=80480 TEST= Review URL: http://codereview.chromium.org/6883179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83442 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Adjust dependencies to build with base.dllrvargas@google.com2011-04-282-1/+3
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6883205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83269 0039d316-1c4b-4281-b951-d872f2087c98
* Removed "compositor" child window that was created by the GPU ↵apatrick@chromium.org2011-04-272-7/+38
| | | | | | | | process.Removed the sync IPC that it used to ask the browser process to resize on Linux. Adapted windows to use the same mechanism.TEST=test webgl pages on windows (ANGLE and GL), linux and mac, run try job on windows, linux, mac. checkdeps failure look unrelated to patch.BUG=77536 Review URL: http://codereview.chromium.org/6880218 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83248 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Adjust dependencies to build with base.dllrvargas@google.com2011-04-261-0/+7
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6894040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83082 0039d316-1c4b-4281-b951-d872f2087c98
* gpu_trace_event static category pointers are no longer dangling at shutdown.jbates@chromium.org2011-04-262-16/+27
| | | | | | | | | BUG=80184 TEST=tbd Review URL: http://codereview.chromium.org/6883150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82963 0039d316-1c4b-4281-b951-d872f2087c98
* Add a yield command to the command buffer.piman@google.com2011-04-239-11/+73
| | | | | | | | | | | This allows more graceful scheduling so that waiting on the previous frame's swapbuffers doesn't end up being a Finish. BUG=none TEST=check in about:gpu and verify that SwapBuffers in the renderer process actually only waits for the previous SwapBuffers in the gpu process. Review URL: http://codereview.chromium.org/6899037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82759 0039d316-1c4b-4281-b951-d872f2087c98
* Replaced std::string argument storage in gpu_trace_event with faster ↵jbates@chromium.org2011-04-222-23/+212
| | | | | | | | | | | | | TraceValue. Second try to work around arm NULL definition bug. previous review: http://codereview.chromium.org/6877101 BUG=80172 TEST=tbd Review URL: http://codereview.chromium.org/6894016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82696 0039d316-1c4b-4281-b951-d872f2087c98
* Update DCHECK() usage to utilize the more expressive debugging functions.kushi.p@gmail.com2011-04-221-2/+2
| | | | | | | | BUG=58409 Review URL: http://codereview.chromium.org/6891008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82639 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add traces for some gl calls that can be slowpiman@google.com2011-04-221-0/+4
| | | | | | | | | BUG=none TEST=about:gpu Review URL: http://codereview.chromium.org/6897001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82625 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 82620 - Replaced std::string argument storage in gpu_trace_event with ↵thestig@chromium.org2011-04-222-203/+14
| | | | | | | | | faster TraceAnyTypeBUG=80172TEST=Review URL: http://codereview.chromium.org/6877101 TBR=jbates@chromium.org Review URL: http://codereview.chromium.org/6896016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82621 0039d316-1c4b-4281-b951-d872f2087c98
* Replaced std::string argument storage in gpu_trace_event with faster ↵jbates@chromium.org2011-04-222-14/+203
| | | | | | | | | | | TraceAnyType BUG=80172 TEST= Review URL: http://codereview.chromium.org/6877101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82620 0039d316-1c4b-4281-b951-d872f2087c98
* Quick fix so we can bump DEPS of Chrome in NaClnfullagar@google.com2011-04-221-1/+20
| | | | | | | | | | | - stub out GPU_TRACE_EVENTn on #if defined(__native_client__) builds and avoid pulling in base/*.h files. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/6900004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82613 0039d316-1c4b-4281-b951-d872f2087c98