summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Make NaCl IPC-based PPAPI proxy build on ARM.bbudge@chromium.org2012-08-232-2/+2
| | | | | | | | | | This change modifies the build to fix compile and link failures. It introduces a build/common_untrusted.gypi file, to add things that are needed by all untrusted targets that build Chrome code. BUG=116317 TEST=compiles native_client.gyp:nacl_ipc_irt target on ARM. Review URL: https://chromiumcodereview.appspot.com/10871009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153074 0039d316-1c4b-4281-b951-d872f2087c98
* Free the command buffer on destruction.gman@chromium.org2012-08-234-2/+20
| | | | | | | | | | | | | It used to be this happened automagically when the corresponding GPU service code deleted all shared memory for a context but now shared memory is shared by all contexts in a sharegroup so this needs to be freed explicitly. BUG=143799 Review URL: https://chromiumcodereview.appspot.com/10876025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152905 0039d316-1c4b-4281-b951-d872f2087c98
* Remove overly agressive ASSERTs on output GL parameters.gman@chromium.org2012-08-235-135/+199
| | | | | | | | BUG=144022 Review URL: https://chromiumcodereview.appspot.com/10860082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152900 0039d316-1c4b-4281-b951-d872f2087c98
* fix for incorrectly recording gpu binary cache hit timedmurph@chromium.org2012-08-221-11/+14
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10873012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152859 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Uniform Name Parsinggman@chromium.org2012-08-226-37/+174
| | | | | | | | | BUG=144007 Review URL: https://chromiumcodereview.appspot.com/10855274 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152707 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed in-memory gpu program cache size flag interpretationdmurph@chromium.org2012-08-211-3/+3
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10860055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152474 0039d316-1c4b-4281-b951-d872f2087c98
* GPU program cache - switched to high res timings, and time report binary ↵dmurph@chromium.org2012-08-201-21/+23
| | | | | | | | cache miss without the cache on. Review URL: https://chromiumcodereview.appspot.com/10836344 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152417 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a misuse of framebuffer target in GLHelper (2)sheu@chromium.org2012-08-152-23/+26
| | | | | | | | | | | | | | | | | | | | EGL only recognizes the GL_FRAMEBUFFER target for glFramebufferTexture2D. Also mark GL_DRAW_FRAMEBUFFER as an invalid parameter to OpenGLES framebuffer object functions, as only GL_FRAMEBUFFER is valid. Also, use the _EXT versions of framebuffer enums on other targets, to regularize with the use of EXT functions. BUG=chrome-os-partner:11070 TEST=local build, run on ARM Change-Id: I14d495f0195491df186b60f164ce342e7e5c9463 Review URL: https://chromiumcodereview.appspot.com/10827310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151637 0039d316-1c4b-4281-b951-d872f2087c98
* Fix scons build of gpu command buffer.binji@chromium.org2012-08-142-2/+2
| | | | | | | | | | BUG=none R=gman@chromium.org TBR=nfullagar@google.com Review URL: https://chromiumcodereview.appspot.com/10829307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151450 0039d316-1c4b-4281-b951-d872f2087c98
* Implement GL_EXT_debug_markergman@chromium.org2012-08-1222-108/+689
| | | | | | | | | BUG=141700 Review URL: https://chromiumcodereview.appspot.com/10836185 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151194 0039d316-1c4b-4281-b951-d872f2087c98
* Fix transfer buffer accountingccameron@chromium.org2012-08-101-5/+7
| | | | | | | | | BUG=141550 Review URL: https://chromiumcodereview.appspot.com/10825288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150987 0039d316-1c4b-4281-b951-d872f2087c98
* Clean-up inline members of nested classes (gpu/)hans@chromium.org2012-08-0910-105/+130
| | | | | | | | | | | | | | | | Due to a bug, the Clang-plugin style checker failed to warn about inline constructors, destructors, non-empty virtual methods, etc. for nested classes. The plugin has been fixed, and this patch is part of a clean-up of all the code that now causes the plugin to issue errors. BUG=139346 Review URL: https://chromiumcodereview.appspot.com/10834248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150920 0039d316-1c4b-4281-b951-d872f2087c98
* Make java.gypi export jar path to input_jars_paths variablecjhopman@chromium.org2012-08-091-1/+0
| | | | | | | | | | | | | | | | | Both java.gypi and apk_test.gypi expect the jar path in input_jars_paths. This means that we were specifying the dependence in both 'dependencies' and 'input_jars_paths'. This change makes it so that we don't need that redundancy. Also, make java.gypi use input_jars_paths in its input so that we actually rebuild targets when we should. BUG=136756 Review URL: https://chromiumcodereview.appspot.com/10837143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150850 0039d316-1c4b-4281-b951-d872f2087c98
* Add gpu targets to untrusted build, and add Graphics3D code to untrusted build.bbudge@chromium.org2012-08-078-312/+492
| | | | | | | | | | BUG=116317 TEST=builds,manual With this change, the IPC-based PPAPI proxy builds all code needed for 3d and OpenGL ES. Review URL: https://chromiumcodereview.appspot.com/10837145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150432 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 150343 - Add gpu targets to untrusted build, and add Graphics3D code ↵bbudge@chromium.org2012-08-078-488/+312
| | | | | | | | | | | | | | | to untrusted build. BUG=116317 TEST=builds,manual With this change, the IPC-based PPAPI proxy builds and runs the tumbler example. Review URL: https://chromiumcodereview.appspot.com/10796038 TBR=bbudge@chromium.org Review URL: https://chromiumcodereview.appspot.com/10830197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150345 0039d316-1c4b-4281-b951-d872f2087c98
* Add gpu targets to untrusted build, and add Graphics3D code to untrusted build.bbudge@chromium.org2012-08-078-312/+488
| | | | | | | | | | BUG=116317 TEST=builds,manual With this change, the IPC-based PPAPI proxy builds and runs the tumbler example. Review URL: https://chromiumcodereview.appspot.com/10796038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150343 0039d316-1c4b-4281-b951-d872f2087c98
* Purge ImplementsThreadSafeReferenceCounting() from the codebase now that ↵fischman@chromium.org2012-08-073-38/+0
| | | | | | | | | | Task is dead. TBR=ananta@chromium.org,apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10836116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150202 0039d316-1c4b-4281-b951-d872f2087c98
* make egl_native.cc compile on OSXgman@chromium.org2012-08-041-2/+2
| | | | | | | | | | | | No idea why this doesn't work sometimes. It works for me but not for others. Maybe which verison of XCode? BUG=83382 Review URL: https://chromiumcodereview.appspot.com/10826152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150029 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust Query code to handle context lostgman@chromium.org2012-08-034-5/+6
| | | | | | | | | BUG=140116 Review URL: https://chromiumcodereview.appspot.com/10837105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149978 0039d316-1c4b-4281-b951-d872f2087c98
* If the context is lost allocation of query may fail sogman@chromium.org2012-08-032-2/+35
| | | | | | | | | | | certain things needed to be done. Hopefully this fixes these bugs. BUG=140116,139791 Review URL: https://chromiumcodereview.appspot.com/10830147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149755 0039d316-1c4b-4281-b951-d872f2087c98
* Lowered the min bound for gpu program cache timing histogramsdmurph@chromium.org2012-08-021-5/+5
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10850021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149660 0039d316-1c4b-4281-b951-d872f2087c98
* added 'UMA' to gpu program cache histogramsdmurph@chromium.org2012-08-011-12/+12
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10825117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149367 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging for shaders that don't compilegman@chromium.org2012-08-011-2/+6
| | | | | | | | | BUG=139409 Review URL: https://chromiumcodereview.appspot.com/10824120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149355 0039d316-1c4b-4281-b951-d872f2087c98
* histograms for gpu program cachedmurph@chromium.org2012-07-312-0/+39
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10837009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149270 0039d316-1c4b-4281-b951-d872f2087c98
* Track memory consumption for decoder-internal resources (backbuffer et al) ↵ccameron@chromium.org2012-07-312-18/+28
| | | | | | | | | | | | in addition to external resources. Don't add tracing for each allocation because they're already being traced by TRACE_BACKBUFFER_MEMORY_TOTAL (which has slightly different semantics). BUG=131650 Review URL: https://chromiumcodereview.appspot.com/10829092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149253 0039d316-1c4b-4281-b951-d872f2087c98
* Add a flag to specify the total amount of memory which may be allocated to ↵ccameron@chromium.org2012-07-312-0/+5
| | | | | | | | | | | | | | | GPU resources. Change constants in GpuMemoryManager to helper functions (and variables). This is towards (1) automated testing of the GPU memory manager and (2) getting actual vidmem values. BUG=132994 Review URL: https://chromiumcodereview.appspot.com/10823092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149149 0039d316-1c4b-4281-b951-d872f2087c98
* Added null check for shader source when compiling, and fixed re-caching ↵dmurph@chromium.org2012-07-313-13/+46
| | | | | | | | | | | behavior to spec BUG=139711,139681 Review URL: https://chromiumcodereview.appspot.com/10826073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149104 0039d316-1c4b-4281-b951-d872f2087c98
* Add a few stubs so we can link the latest OpenGL ES 2.0 conformance testsgman@chromium.org2012-07-311-0/+17
| | | | | | | | | BUG=83382 Review URL: https://chromiumcodereview.appspot.com/10834073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149090 0039d316-1c4b-4281-b951-d872f2087c98
* Delete unused member variable.thakis@chromium.org2012-07-281-4/+2
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/10828063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148909 0039d316-1c4b-4281-b951-d872f2087c98
* Add global tracking of GPU memory allocations. Have each ContextGroup push ↵ccameron@chromium.org2012-07-2819-55/+180
| | | | | | | | | | | memory tracking information to the GpuMemoryManager. With this we can determine if we transiently oversubscribe. BUG=135525 TEST= Review URL: https://chromiumcodereview.appspot.com/10796096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148880 0039d316-1c4b-4281-b951-d872f2087c98
* Use EXT_robustness where available on GLES2 platforms to detect and respond ↵kbr@chromium.org2012-07-271-6/+10
| | | | | | | | | | | | to resets of the graphics card. BUG=138162 TEST=ran https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/conformance-suites/1.0.1/extra/slow-shader-example.html on Windows with ANGLE and verified that new code path was taken Review URL: https://chromiumcodereview.appspot.com/10822029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148721 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enabling checkdeps for most of ppapi + nacl.bradnelson@google.com2012-07-271-1/+1
| | | | | | | | | | | | | | Many of the includes / dependencies in ppapi + nacl are badly specified. This turns on checkdeps for most stuff and makes extra stuff explicit. BUG=http://code.google.com/p/chromium/issues/detail?id=93520 TEST=checkdeps passes R=brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/10797018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148699 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2012-07-251-2/+5
| | | | | | | | | | | | | | CID_COUNT=12 CID=104349,104361,104373,104374,104399,104420,104421,104422,104466,104476, 104532,104538 BUG=none TEST=none R=groby TBR=brettw,satorux,mnissler Review URL: https://chromiumcodereview.appspot.com/10833006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148430 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity fix: Big parameter passed by valuearthurhsu@chromium.org2012-07-251-3/+1
| | | | | | | | | | | CID=104369 BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10825015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148401 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dead code in program_manager.ccorenb@chromium.org2012-07-251-4/+0
| | | | | | | | | | | BUG= TEST= CID=104365 TBR=dmurph@chromium.org Review URL: https://chromiumcodereview.appspot.com/10828013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148390 0039d316-1c4b-4281-b951-d872f2087c98
* Bug fixes for getTranslatedShaderdmurph@chromium.org2012-07-237-17/+59
| | | | | | | | | | | | | | | | | Fixed the following bugs: * Getting the length of translated shader source failed on pending compilation * Getting the translated shader source failed on pending compilation * Getting the translated shader source after a new source is set Small refactoring: * Put an enum in ShaderInfo for storing the compilation state BUG=137758 Review URL: https://chromiumcodereview.appspot.com/10812002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147997 0039d316-1c4b-4281-b951-d872f2087c98
* Add a shallow command buffer flush that doesn't glFlushbrianderson@chromium.org2012-07-236-2/+27
| | | | | | | | | 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
* gpu in-memory program cache implementation with a memory limit + lru eviction. dmurph@chromium.org2012-07-2331-90/+2200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* GPU: Fix latency testsbacker@chromium.org2012-07-231-0/+5
| | | | | | | | | | | | | 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
* Make windowless version of OpenGL ES 2.0 conformance testsgman@chromium.org2012-07-205-10/+112
| | | | | | | | | | | | 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
* On desktop GL, don't disable vertex attribute 0 when restoring state, or ↵kbr@chromium.org2012-07-202-8/+10
| | | | | | | | | | | | 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
* Revert 147328 - Current status of patch:gman@chromium.org2012-07-1933-2156/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* This removes low level flushes in the command buffer on texture upload and ↵brianderson@chromium.org2012-07-192-24/+0
| | | | | | | | | | | 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
* Wire the AMD switchable videcard detectioncpu@chromium.org2012-07-181-0/+1
| | | | | | | | | 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
* Current status of patch:dmurph@chromium.org2012-07-1833-95/+2156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Fix vendor detection code and add gl_PointCoord workaround for Intel GPUs.kbr@chromium.org2012-07-173-36/+66
| | | | | | | | | | 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
* Allow 1xn and 2xn compressed textures.jbauman@chromium.org2012-07-142-26/+18
| | | | | | | | | | | | | 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
* Aura: Have ui::Layer implement WebKit::WebExternalTextureLayerClientbacker@chromium.org2012-07-131-5/+0
| | | | | | | | | | | | | | | | 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
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-1112-12/+0
| | | | | | | | | 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
* Fix glGetTexParameter so it works for TEXTURE_CUBE_MAPgman@chromium.org2012-07-113-18/+3
| | | | | | | | | | 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