| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tests per file so that tests do not move from file to
file.
The problem is gles2_cmd_decoder_n_unittest_autogen.h
is dependent on gles2_cmd_decoder_n_unittest.cc
So if a test moves to another generated file then
the things it depends on do not move withit.
TEST=none
BUG=65400
Review URL: http://codereview.chromium.org/5686003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68897 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
because if the context is lost those variables will
be uninitialized.
TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test
BUG=none
Review URL: http://codereview.chromium.org/5254006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68480 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
can queue from ggl to the command buffer code.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/5606009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68479 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation via new glGetRequestableExtensionsCHROMIUM and
glRequestExtensionCHROMIUM entry points. These entry points are needed in
order to allow WebGL to both query the available extensions and enable them
individually.
Added these entry points to WebGraphicsContext3DCommandBufferImpl. A
subsequent WebKit checkin under https://bugs.webkit.org/show_bug.cgi?id=40316
will utilize them and implement the OES_texture_float extension for WebGL.
BUG=none
TEST=none (ran with new oes-texture-float.html WebGL conformance test)
Review URL: http://codereview.chromium.org/5626008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68352 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=unit tests
BUG=64746
Review URL: http://codereview.chromium.org/5586002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68230 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/5568004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68224 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
I got to undo some hacks, too!
TEST=compiles
Review URL: http://codereview.chromium.org/5535003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68119 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not negative.
Prevents writing to buffer out of range.
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/5525001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67937 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/5139006
TBR=thestig@chromium.org
Review URL: http://codereview.chromium.org/5270010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67674 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/5139006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67662 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
between GPU process and browser process. Thanks to Al Patrick for the
renderer<->GPU flow control mechanism.
This CL prevents the renderer from issuing more OpenGL work than the
GPU process can execute, and, on the Mac, prevents the combination of
the renderer and GPU processes from transmitting more frames via
IOSurfaces from the GPU to the browser process than can be handled by
the GPU.
This fix causes the renderer to block inside ggl::SwapBuffers() when
it gets too far ahead. Different strategies can be considered going
forward, including measuring frame rates in the GPU and renderer
processes and trying to match them via techniques such as delaying the
execution of some timers. However, despite the general undesirability
of blocking the render thread, this fix results in a significant
performance improvement.
With this fix integrated, a fill-limited test case from Chris Rogers
displays at 60 FPS instead of 15 FPS on a Mac Pro. Gregg Tavares'
aquarium from webglsamples.googlecode.com displays at 30 FPS instead
of 4 or 5 FPS on a MacBook Pro. The frame rates measured at the
JavaScript level now match the actual frame rate of the browser, where
previously they were much higher since they were issuing more work
than the browser could render.
A few other minor OpenGL bugs potentially impacting the correctness of
the Mac compositor are being fixed as well in this CL.
Verified that WebGL, CSS 3D and YouTube (Core Animation plugin)
content all work.
BUG=63539
TEST=none
Review URL: http://codereview.chromium.org/5317007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67470 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes synchronous calls from the GPU to the Browser process to resize windows. It must be synchronous because we must be sure when the resize happens, it must be initiated by the GPU because we have to time the resize with GL drawing, and the resize must be done by the Browser because of how GDK/GTK is structured. Specifically, when a window that a GL context is associated with is resized, the back buffer gets blanked. So it is important that we synchronize the resize with the drawing to the back buffer. On Linux, the X window that we are drawing to is wrapped in a GdkWindow inside the Browser process. GDK/GTK assumes that all changes to the window happen via GDK calls. In particular, the size of the window is cached inside the GdkWindow object so that it does not have to make a call to the X server in order to get window geometry. Unfortunately, this necessitates resizing the window inside of the Browser process.
For more discussion of this approach and (some unsuccessfully attempted) alternatives see https://docs.google.com/a/google.com/document/d/1ZNouL-X_Ml1x8sqy-sofz63pDAeo36VWi_yQihaE2YI/edit?hl=en
This patch set uncovered another bug:
- open in two separate windows http://webkit.org/blog/386/3d-transforms/ and http://webkit.org/blog-files/3d-transforms/poster-circle.html
- resize the former until it is smallish
- watch the root layer of the former show up as the root layer of the later.
To my knowledge, this is first trigger of this bug. If and when this patch is accepted, I will file the bug.
BUG=http://code.google.com/p/chromium/issues/detail?id=54430
TEST=Go to http://peter.sh/2010/06/chromium-now-features-gpu-acceleration-and-css-3d-transforms/ . Rotate Z with the slider to trigger the compositor. Resize the window. The resize may be janky (we're uploading large textures), but it should display properly.
Contributed by backer@chromium.org
Review URL: http://codereview.chromium.org/5105006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67416 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initialize destinations variables before calling GL functions
because if the context is lost those variables will
be uninitialized.
TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test
BUG=none
Review URL: http://codereview.chromium.org/5305005
TBR=gman@chromium.org
Review URL: http://codereview.chromium.org/5383001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67328 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
because if the context is lost those variables will
be uninitialized.
TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test
BUG=none
Review URL: http://codereview.chromium.org/5305005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67293 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
GL naming convention.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/5210001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66695 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to sharing VBOs for both index buffers and
vertex buffers this support is off by default but
is turned on in the OpenGL ES 2.0 conformance
tests (another CL)
We can decide how/if to expose it to Pepper later if
we want to claim Pepper is Open GL ES 2.0 conformant.
TEST=The GL_FIXED OpenGL ES 2.0 conformance tests passes
BUG=none
Review URL: http://codereview.chromium.org/5026003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66649 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Someone moved the files in PPAPI around and hand-modified autogenerated files.
This CL moves the change to the .py file used to generate them.
BUG=none
TEST=generated files identical to hand-modified version.
Review URL: http://codereview.chromium.org/5147003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66520 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
initialization fails.
BUG=none
TEST=run GPU process under valgrind on a machine w/no GPU
Review URL: http://codereview.chromium.org/5181002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66489 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new command is used to pipe resize requests to the GPU process. It will allow is to synchronize the resize with the drawing. Specifically, if we resize at the wrong time, we will damage the backbuffer, causing visual artefacts (http://code.google.com/p/chromium/issues/detail?id=54430).
The resize request gets sent to the GLContext. Each backend will implement it differently. At this point it's set as a NOP.
-I will do an XResizeWindow on Linux.
-Nat will do a resize on Windows.
-Nico (or me?) will refactor the MacOSX code to use this path.
There is one line webkit patch that's necessary to activate this code (removing an #ifdef).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4671003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Forgot to add an enum
TEST=another opengl es 2.0 conformance test passes
BUG=none
Review URL: http://codereview.chromium.org/4867001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66030 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=another opengl es 2.0 conformance test passes
BUG=none
Review URL: http://codereview.chromium.org/4862001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66007 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
which means that the underlying OpenGL makes sure
buffers, textures and renderbuffers are cleared.
TEST=unit tests
BUG=none
Review URL: http://codereview.chromium.org/4844001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65883 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
returned by OpenGL drivers.
TEST=unit tests, ran OpenGL ES 2.0 conformance tests and ran WebGL conformance test. Things that used to fail now pass.
BUG=none
Review URL: http://codereview.chromium.org/4829001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65882 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
I believe this bug can only be triggered when there is a corresponding OpenGL bug. However, the i915 driver has this bug.
Patch from Kenneth Waters <kwaters@chromium.org>.
TEST=built and run against broken i915 driver
BUG=none
Review URL: http://codereview.chromium.org/4710002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65809 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Return correct values for GL_MAX_VIEWPORT_DIMS
* connect blitFramebufferEXT to blitFramebufferANGLE
TEST=unit tests
BUG=55471,55560,56733
Review URL: http://codereview.chromium.org/4500001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65560 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
texture of command buffer offscreen contexts, and properly track these
states in the TextureManager. Using code does not have the opportunity
to set these parameters before it is determined that the backing
framebuffer is incomplete.
Ran WebGL content on Linux to verify fix.
BUG=62432
TEST=none
Review URL: http://codereview.chromium.org/4670002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65487 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Original review URL: http://codereview.chromium.org/3531008
TEST=try, ui_tests
BUG=none
Review URL: http://codereview.chromium.org/4545003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65283 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- It now uses GGL instead of a child window.
- Fixed a bug where GLES2 decoder set texture state without updating TextureInfo.
- Fixed Pepper3D demos and added awesome 3D CSS programmer art.
- Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :)
- GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current.
- Removed redundant "this context" argument from GGL SwapBuffers completion callback.
- Temporarily removed context lost notification. I need to figure out the best semantics.
TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac.
BUG=none
Review URL: http://codereview.chromium.org/3531008
TBR=apatrick@chromium.org
Review URL: http://codereview.chromium.org/4561001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65169 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- It now uses GGL instead of a child window.
- Fixed a bug where GLES2 decoder set texture state without updating TextureInfo.
- Fixed Pepper3D demos and added awesome 3D CSS programmer art.
- Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :)
- GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current.
- Removed redundant "this context" argument from GGL SwapBuffers completion callback.
- Temporarily removed context lost notification. I need to figure out the best semantics.
TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac.
BUG=none
Review URL: http://codereview.chromium.org/3531008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65152 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and add some more DCHECKs
Some commands should never have a negative count
since the count refers to how much memory to access.
So, made those commands check for negative count on the client
side and kill the GPU process if they are negative on the
service side.
Note: Someone (me?) checked in a version of build_gles2_cmd_buffer.py
that generates a Finish handler that actually calls glFinish but
didn't check in the generated code.
Should I put that back to glFlush?
TEST=ran unit tests and opengl es 2.0 conformance tests
BUG=none
Review URL: http://codereview.chromium.org/4461001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65063 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GL_CHROMIUM_map_sub extensions by default. These are needed in
WebGraphicsContext3D instances in support of the accelerated 2D canvas
and video rendering functionality.
Associated WebKit bug is https://bugs.webkit.org/show_bug.cgi?id=46894 .
Tested on Linux with this refactoring, accelerated 2D canvas, and
HTML5 video.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4268004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64963 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
requested.
There appears to also be problems in ANGLE which have not been addressed yet, specifically GL_RGB textures are allocated D3DFMT_A8R8G8B8 instead of D3DFMT_X8R8G8B8.
Prevent saved and target offscreen resources from being destroyed if we don't have a context.
TEST=try, run demos locally
BUG=61441
Review URL: http://codereview.chromium.org/4246001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64940 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64757 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64751 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This is a re-land from r64716.
This is identical with an an include directory changed in the ppapi repo which
I'm hoping was what was confusing everything.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64750 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64719 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This is a re-land from r64716.
This is identical with an an include directory changed in the ppapi repo which
I'm hoping was what was confusing everything.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64718 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
entry that refers to
the PPAPI repo, and fixes the includes to use the new location.
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/4164015
TBR=brettw@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64717 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
the PPAPI repo, and fixes the includes to use the new location.
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/4164015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64716 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
amount of memory reserved for properties and Windows doesn't always
automatically free up the memory if the window is deleted without an
explicit remove. For the time being I've made it easier to track
SetProp leaks, but we may want to move to using something other than
SetProp in the future that isn't as fragile.
I didn't fix a couple of places that were trickier. I'm going to file
separate bugs on them.
BUG=44991
TEST=none
Review URL: http://codereview.chromium.org/4195003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64619 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
surface.
Currently, this is only used to DCHECK a currently implicit invariant, but I want to use this to let every surface container only remember its last painted-to surface, and not its last created surface.
No behavior change.
BUG=53165
TEST=none
Review URL: http://codereview.chromium.org/4142004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64317 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=60777
Review URL: http://codereview.chromium.org/4153003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64121 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vs Posix and enforces exclusive creates.
Clean up some naming to make it clearer what size you are getting by changing max_size to created_size.
BUG=NONE
TEST=BUILD
Review URL: http://codereview.chromium.org/4034006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64097 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
If the scissor is enabled during a blit, it throws a GL error.
BUG=60379
TEST=open test in bug report, verify no crash
Review URL: http://codereview.chromium.org/4202002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64081 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Fix command buffer issue where feature_info was being checked for an extension rather than using HasExtension to check the underlying GL implementation.
BUG=59988
TEST=shiny teapot WebGL demo
Review URL: http://codereview.chromium.org/3985001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63765 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
needed by WebGraphicsContext3DDefaultImpl in WebKit.
BUG=60314
TEST=none
Review URL: http://codereview.chromium.org/3976003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63528 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for more validation. This change also means
that the shader compiler is put into WebGL
mode for WebGL.
TEST=ran webgl conformance tests.
BUG=none
Review URL: http://codereview.chromium.org/3890004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63267 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Also wraps a couple conditionals to comply with the style guide, removes some extra {}s, and simplifies some code.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3917001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63148 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Questions:
1) Is WebGraphicsContext3D only used for WebGL? Currently
this patch makes that assumption.
2) I started by adding const char* allowed_extensions to
a bunch of functions. Then, at the IPC level added
GPUInitParams. Should I use GPUInitParams everywhere?
3) Is the path for gpu_init_params.h ok?
TEST=unit tests, manually tested WebGL
BUG=none
Review URL: http://codereview.chromium.org/3775014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63026 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Move scoped_aedesc from base to base/mac
Use namespace and proper Google-style class naming.
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/3828009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62904 0039d316-1c4b-4281-b951-d872f2087c98
|