| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
advertised. It will now
get called asynchronously when the bits are actually copied to the screen,
rather than synchronously from inside the paint function. This makes it useful
for plugins to use the callback for rate limiting.
This also adds a lot of infrastructure for running tests on pepper devices, and
includes a unit test for the new flush behavior.
I made the existing RenderProcess object an abstract interface and made the
existing MockProcess (renamed to be more clear) implement that. This avoids
a static cast that would actually crash during a unit test because some code
was hardcoded to expect a RenderProcess object.
This fixes base's IDMap iterator which has apparently never been used for an
IDMap with ownership semantics.
TEST=Unit test included
BUG=none
Review URL: http://codereview.chromium.org/661124
TBR=brettw@chromium.org
Review URL: http://codereview.chromium.org/660439
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40494 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
get called asynchronously when the bits are actually copied to the screen,
rather than synchronously from inside the paint function. This makes it useful
for plugins to use the callback for rate limiting.
This also adds a lot of infrastructure for running tests on pepper devices, and
includes a unit test for the new flush behavior.
I made the existing RenderProcess object an abstract interface and made the
existing MockProcess (renamed to be more clear) implement that. This avoids
a static cast that would actually crash during a unit test because some code
was hardcoded to expect a RenderProcess object.
This fixes base's IDMap iterator which has apparently never been used for an
IDMap with ownership semantics.
TEST=Unit test included
BUG=none
Review URL: http://codereview.chromium.org/661124
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40490 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
http://src.chromium.org/viewvc/chrome?view=rev&revision=40212
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/661309
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40329 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
because the chrome's flaky ass tests that break
random builds
TEST=flaky
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40221 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
TBR=gman@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40217 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It sure would be nice if the trybots caught these issues :-(
TBR=apatrick@chromium.org
TEST=none
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40216 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/660238
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40212 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=apatrick@google.com
TEST=none
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40204 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc.cc:50:warning: 'length' may be used uninitialized in this function"
Revert 40193 - Added support for glGetString, glGetShaderSource,
glGetProgramInfoLog and glGetShaderInfoLog
This turned up lots of issues.
* glGetShaderiv needed to be wrapped so it
returns the size of the shader the user passed
in. Not the munged shader sent to GL.
* Another issue that came up is that client
side validation is needed to ensure that
the client side GLES2Implementation does not
generate bad commands. For example, calling
glUniform1iv with a negative count would
generate a bad command. The service side
would see that and think the program was
malicious and stop processing commands.
So, that means I had to add some client side
validation and wrap glGetError on the client
side so I can synthisize GL errors there.
TEST=lots of unit tests.
BUG=none
Review URL: http://codereview.chromium.org/661220
TBR=gman@chromium.org
Review URL: http://codereview.chromium.org/660229
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40198 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glGetProgramInfoLog and glGetShaderInfoLog
This turned up lots of issues.
* glGetShaderiv needed to be wrapped so it
returns the size of the shader the user passed
in. Not the munged shader sent to GL.
* Another issue that came up is that client
side validation is needed to ensure that
the client side GLES2Implementation does not
generate bad commands. For example, calling
glUniform1iv with a negative count would
generate a bad command. The service side
would see that and think the program was
malicious and stop processing commands.
So, that means I had to add some client side
validation and wrap glGetError on the client
side so I can synthisize GL errors there.
TEST=lots of unit tests.
BUG=none
Review URL: http://codereview.chromium.org/661220
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/660105
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40048 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resources and non-renderable texture situations.
I haven't written enough unit tests for this
but the CL is already too big.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/646070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39984 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had to remove these from the CL to make gcl upload properly accept it.
A + base\scoped_open_process.h
A + chrome\plugin\command_buffer_stub_win.cc
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/661022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39937 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
side can know if it should or should not copy
the results.
This is the way the spec is. If ReadPixels fails
it's not supposed to modify client side memory.
Unfortunately that makes it slow because it stalls
the GPU pipeline 3 times.
The service side has to call glGetError to save up
any current errors. That's one stall. Then it calls
ReadPixels, another stall, finally calls glGetError
a 3rd time to see if ReadPixels succeeded so that
it can tell the client side implementation of
ReadPixels whether or not to copy memory.
We could decide to change the behavior of ReadPixels
so it always copies. That wouldn't be spec complient
but suspect most developers never expect it to fail
and don't count on it not always writing to their
memory.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/652213
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39930 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/657032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39826 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes compilation errors on Karmic, where dlopen() and friends were undefined:
http://chrome-buildbot.corp.google.com:8016/builders/Chromium%20Linux%20Builder%20(dbg-shlib)/builds/7777/steps/compile/logs/stdio
The missing '-ldl' is papered over on Hardy because pretty much everything
depends on gtk, which brings that in through pkg-config, but pkg-config gtk
no longer includes '-ldl' on Karmic.
Review URL: http://codereview.chromium.org/656014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FBO rendering with glGetTexImage() into a TransportDIB that is then used as
a texture for rendering the final image in the render view in the browser.
While not optimal, it works and can be optimized later, after the new GPU
process work is completed.
This CL also enables stencil buffer support on the Mac. All the Pepper3D
demos run on the Mac with these changes.
BUG=none
TEST=3D rendering unit tests.
Review URL: http://codereview.chromium.org/647043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39744 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=cd gpu.demos; open demos.xcodeproj; select any of the "Run *" targets, then use cmd-b (build).
Review URL: http://codereview.chromium.org/652031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39731 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=regression test
BUG=35931
Review URL: http://codereview.chromium.org/652064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39635 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WM_PAINT results in a call to Pepper repaint callback.
Implemented WM_ERASEBKGND to prevent flickering on repaint.
Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/571018
TBR=alokp@chromium.org
Review URL: http://codereview.chromium.org/650100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WM_PAINT results in a call to Pepper repaint callback.
Implemented WM_ERASEBKGND to prevent flickering on repaint.
Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/571018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39530 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=regression tests
BUG=35931
Review URL: http://codereview.chromium.org/628004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39503 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
towards redoing the Callback interfaces.
Added and removed includes as needed.
BUG=35223
TEST=trybots
Review URL: http://codereview.chromium.org/646061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/601085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39226 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
result->size to 0 or result->success to false before
calling the command.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/612006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/614006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39192 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
size_t's from the IPC code.
Review URL: http://codereview.chromium.org/581001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39164 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
TBR=apatrick@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39156 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I need to add a bunch more unit tests for the TextureManager
but this CL is getting large so if you don't mind I'll
do that in the next CL.
I still need to use the texture tracking at draw time but
that's going to require uniform tracking! UGH!
Also breaks out a bunch of the tracking classes into their own files.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/605018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39153 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler to make GLSL shaders DesktopGL complient.
Shader source is now saved by the decoder because
when glGetShaderSource is called we must return
the source that was passed, not the munged source.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/594037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38858 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=26099
Review URL: http://codereview.chromium.org/599020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38727 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/601016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38582 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Added waitForProgress field to NPDeviceContext3D to select between a flush (that pushes more work to the GPU process and waits for at least some of it to have been completed) and getting the current state as quickly as possible. The previous method of checking to see if the put offset had advanced was incorrect.
TEST=trybots
BUG=none
Review URL: http://codereview.chromium.org/561058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixed remaining issues with signed/unsigned comparisons, linkage of
constants, and unused variables.
- Fixed nasty bug where vtbl for GLES2Decoder was changing size during
compilation, causing bizarre test failures.
- Cleaned up AppKit warnings about no NSAutoreleasePool being present.
BUG=none
TEST=none (ran GPU unit tests on Mac OS X)
Review URL: http://codereview.chromium.org/594004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38473 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glGetActiveAttrib
glGetActiveUniform
glGetAttachedShaders
glGetShaderPrecision
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/577017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
seem to conform to the documented interface. I have added an allocated
flag. This is needed to fix NaCl PGL.
Review URL: http://codereview.chromium.org/576002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38186 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/565041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38106 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
service side GL implementations actually report lost contexts (yet).
Added pglGetError to PGL library.
pglSwapBuffers returns false on a lost context or other non-recoverable error and pglGetError reports PGL_CONTEXT_LOST.
Updated demo plugins to reset their PGL contexts on context lost. Standalone plugins cannot currently recover from lost context because they don't use PGL.
Added error code to NPDeviceContext3D for lost context.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/566021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38039 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
just compiling.
BUG=26099
Review URL: http://codereview.chromium.org/552240
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial port of GPU process / plugin to Mac OS X. Uses new IOSurface
APIs and therefore currently runs only on 10.6. Alternate strategy
will need to be devised for 10.5.
Slight UI issues remain such as GPU plugins initially showing up in
the wrong place on the page. These will be fixed in follow-on bugs.
Minimal changes made to command buffer code to get it to compile on
Mac OS X. Commented out use of nested anonymous namespaces in
gles2_cmd_decoder.cc which were causing the linker to crash with a seg
fault.
Refactored gyp files so the OS test enabling the GPU plugin is in one
place, common.gypi, and other files test only the variable enable_gpu.
Slight change to gles2_demo_cc.cc to add some simple animation to
verify that updates from the GPU plugin are reaching the screen.
Changed Pepper test plugin to use 3D view by default and commented out
use of audio context because of recent issues.
TEST=none (ran Pepper Test Plugin with 3D view enabled)
BUG=http://crbug.com/25988
Review URL: http://codereview.chromium.org/558035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37934 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/566019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37918 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
in another CL. Fortunately it didn't seem to break the
build.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/568024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37892 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to emluate the GLES2 glFlush and glFinish more correctly.
I don't like the fact that the GLES2CmdHelper::Finish
autogeneated from glFinish overrides
CommandBufferHelper::Finish but I'm not sure I'm feeling
like making all those functions start with gl or something
and all the fixes required just to avoid that.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/561012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37863 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
signed/unsigned mismatch and link failures due to non-definition of static member variables. I still do not understand why gcc is behaving arbitrarily for only a few static member variables. AFAIK the standard says that static const numeric types do not need to be defined anymore.
Review URL: http://codereview.chromium.org/560002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37837 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
for unitests. They are mocked in gl_mock.h. gles2_cmd_decoder.cc included x_utils.h which in turn included glxew.h.
Review URL: http://codereview.chromium.org/557087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37834 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Necessary to make gcc happy.
Review URL: http://codereview.chromium.org/567005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37766 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/562002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37756 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
kNoError, commandBufferEntries -> commandBufferSize.
Added NPDevice3DContextError enumeration.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/558054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37751 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
warning level.
Review URL: http://codereview.chromium.org/552266
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37749 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
All status is now in the Device3D context.
It can be retreived with fewer IPC messages.
It can be now be accessed off the main plugin thread, which is necessary to run OpenGL in another thread.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/555020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37545 0039d316-1c4b-4281-b951-d872f2087c98
|