summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Renames Chrome only GL extension functions to followgman@chromium.org2010-11-1817-347/+405
| | | | | | | | | | | 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
* Adds support for GL_FIXED vertex attributes.gman@chromium.org2010-11-188-44/+249
| | | | | | | | | | | | | | | | | 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
* Update cmd buffer script to reflect ppapi reorg.neb@chromium.org2010-11-171-10/+10
| | | | | | | | | | | | 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
* Do an early return from GLES2DecoderImpl::Initialize if context group ↵senorblanco@chromium.org2010-11-171-0/+1
| | | | | | | | | | | | 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
* Added glResizeCHRM to resize the drawable associated with the command buffer.gman@chromium.org2010-11-1614-3/+108
| | | | | | | | | | | | | | | | | 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
* Fix GL_OES_standard_derivatives support.gman@chromium.org2010-11-134-0/+11
| | | | | | | | | | | 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
* Fix bool issues.gman@chromium.org2010-11-121-4/+4
| | | | | | | | | 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
* Add GL_CHROMIUM_resource_safe extension stringgman@chromium.org2010-11-123-24/+12
| | | | | | | | | | | | 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
* Use the shader translator to correct bad type informationgman@chromium.org2010-11-1212-50/+339
| | | | | | | | | | | 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
* Handle GL errors when querying the multisample count.enne@chromium.org2010-11-111-1/+3
| | | | | | | | | | | | 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
* * Check for GL_ANGLE_framebuffer_mutlisamplegman@chromium.org2010-11-099-12/+53
| | | | | | | | | | | | * 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
* Re-add setting of wrap and filtering mode parameters of backingkbr@chromium.org2010-11-091-0/+24
| | | | | | | | | | | | | | | | 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
* Reland r65152 with mac and linux fix.apatrick@chromium.org2010-11-064-33/+25
| | | | | | | | | | | 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
* Revert 65152 - Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-054-25/+33
| | | | | | | | | | | | | | | | | | | - 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
* Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-054-33/+25
| | | | | | | | | | | | | | | | - 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
* Fix a bug with count on commands that take a countgman@chromium.org2010-11-047-266/+199
| | | | | | | | | | | | | | | | | | | | | | | 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
* Advertise the GL_CHROMIUM_copy_texture_to_parent_texture andkbr@google.com2010-11-031-0/+4
| | | | | | | | | | | | | | | | | 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
* Saved offscreen textures are allocated GL_RGB when no alpha channel is ↵apatrick@chromium.org2010-11-031-31/+67
| | | | | | | | | | | | | | | 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
* Use PPAPI from chrome trunk rather than pulling via deps. This is a re-land ↵brettw@chromium.org2010-11-021-4/+4
| | | | | | 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
* Revert PPAPI change due to Linux compile failures.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64751 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | 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
* Revert PPAPI change.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64719 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | 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
* Revert 64716 - Switch to the new PPAPI repository. This removes the DEPS ↵brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | | | | | | 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
* Switch to the new PPAPI repository. This removes the DEPS entry that refers tobrettw@chromium.org2010-11-021-4/+4
| | | | | | | | | | 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
* Attempt at fixing leaks from SetProp. Apparently there is a finitesky@chromium.org2010-11-011-0/+2
| | | | | | | | | | | | | | | | | | 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
* Let every "accelerated IO surface swapped" message have an identifier of the ↵thakis@chromium.org2010-10-282-0/+8
| | | | | | | | | | | | | | | 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
* Fix destruction order of ContextGroupgman@chromium.org2010-10-274-7/+11
| | | | | | | | | 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
* Fix up SharedMemory implementation so that it is more equivalent on Windows ↵dmaclach@chromium.org2010-10-272-9/+7
| | | | | | | | | | | | | 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
* Disable scissor test during multisample resolve.enne@chromium.org2010-10-271-0/+4
| | | | | | | | | | | 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 antialiasing in WebGL.enne@chromium.org2010-10-251-1/+1
| | | | | | | | | | | 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
* Expose bindings for glGetTexLevelParameter[fi]. These functions will be ↵senorblanco@chromium.org2010-10-221-0/+6
| | | | | | | | | | | 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
* Changes WebGL to rely on the command buffergman@chromium.org2010-10-207-8/+52
| | | | | | | | | | | | | | 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
* Convert LOG(INFO) to VLOG(1) - gpu/.pkasting@chromium.org2010-10-202-23/+17
| | | | | | | | | | 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
* Add Ability to pass in allowed extensions to GPU contexts.gman@chromium.org2010-10-1919-178/+232
| | | | | | | | | | | | | | | | | | | | 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_nsdisable_screen_update from base to app/macbrettw@chromium.org2010-10-186-14/+14
| | | | | | | | | | | 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
* Move constructor and destructor of MockGLInterface out of line.thakis@chromium.org2010-10-1418-16/+450
| | | | | | | | | | | | | Speeds up building all of gpu by over one minute / over 10% on my machine (from 9:23 to 8:11). Move the mock to gpu/command_buffer/common to have a more obvious place for the cc file. BUG=None TEST=None Review URL: http://codereview.chromium.org/3811006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62649 0039d316-1c4b-4281-b951-d872f2087c98
* Use packed depth/stencil format if available.enne@chromium.org2010-10-141-2/+4
| | | | | | | | | | | WebGL context creation attributes are requests, not requirements. The command buffer needs to be more conservative in its format choices. As separate stencil buffers are not generally supported, pick packed buffers if possible. BUG=58966 TEST=https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/context-attributes-alpha-depth-stencil-antialias.html Review URL: http://codereview.chromium.org/3746001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62584 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Fix more ctor/dtors found by clang plugin.erg@google.com2010-10-1320-69/+126
| | | | | | | | | | | (1.2 megs off of Debug Linux .a files) BUG=none TEST=compiles everywhere Review URL: http://codereview.chromium.org/3743001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62420 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Make sure the fbo is always bound while the swap callback runs if an ↵thakis@chromium.org2010-10-111-10/+20
| | | | | | | | | | | | | offscreen target is used. This didn't happen for non-multisampled offscreen targets that didn't have a parent. BUG=58557 TEST=None Review URL: http://codereview.chromium.org/3654002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62164 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Fix resizing of composited background tabs.thakis@chromium.org2010-10-081-0/+6
| | | | | | | | | BUG=54842 TEST=Have an composited tab be a background tab. Resize window larger. Switch to composited tab. It should have the new size. Review URL: http://codereview.chromium.org/3528019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62026 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Removed unused class declaration.thakis@chromium.org2010-10-081-13/+0
| | | | | | | | | BUG=None TEST=Compiles Review URL: http://codereview.chromium.org/3570019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61978 0039d316-1c4b-4281-b951-d872f2087c98
* Rolled ANGLE rev 441:443. Other changes to accomodate the new ANGLE API.alokp@chromium.org2010-10-064-16/+16
| | | | | | Review URL: http://codereview.chromium.org/3563006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61697 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed null dereference when GPU ContextGroup failed to initialize.apatrick@chromium.org2010-10-051-0/+1
| | | | | | | | | TEST=try BUG=55925 Review URL: http://codereview.chromium.org/3592006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61539 0039d316-1c4b-4281-b951-d872f2087c98
* Add offscreen context creation attributes to GGL.enne@chromium.org2010-10-0111-120/+398
| | | | | | | | | | | View contexts and more extensive color format picking not handled yet. BUG=39849 TEST=WebGL conformance tests (context*.html) Review URL: http://codereview.chromium.org/3302019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61220 0039d316-1c4b-4281-b951-d872f2087c98
* A step in making it possible for WebGL to request no featuresgman@chromium.org2010-09-3020-786/+1081
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and the add them in as extensions are enabled. The idea is when WebGL inits it's context it will pass "" to FeatureInfo::Initialize. After that it can pass various GL extension strings to FeatureInfo::AddFeatures to turn on more features. It can then call glGetString(GL_EXTENSIONS) to see if the feature was turned on. Questions: I started this CL trying to make it possible so each context could have it's own FeatureInfo. I decided against that. So that brings up the question, should I get rid of FeatureInfo and just put this stuff back on ContextGroup or leave it as is? If I leave it as is, should I move all the max_XXX stuff on ContextGroup to FeatureInfo? TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3413038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61114 0039d316-1c4b-4281-b951-d872f2087c98
* Switch gles2_cmd_buffer to issue glFinish when it decodes glFinish.nduca@chromium.org2010-09-301-5/+1
| | | | | | | | BUG=57375 Review URL: http://codereview.chromium.org/3518006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61097 0039d316-1c4b-4281-b951-d872f2087c98
* shared_memory: remove wstrings, fix callers.evan@chromium.org2010-09-292-3/+3
| | | | | | | | | BUG=23581 TEST=compiles Review URL: http://codereview.chromium.org/3555002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60985 0039d316-1c4b-4281-b951-d872f2087c98
* Hooked up functionality for getting info for attribs and uniforms.alokp@chromium.org2010-09-294-9/+248
| | | | | | Review URL: http://codereview.chromium.org/3436030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60951 0039d316-1c4b-4281-b951-d872f2087c98
* Implement video frame exchange in GpuVideoDecoder and testshclam@chromium.org2010-09-291-0/+2
| | | | | | | | | | | | Implement ProduceVideoFrame() in GpuVideoDecoder and unit tests for testing the loginc in GpuVideoDecoder. BUG=53714 TEST=unit_tests --gtest_filter=GpuVideoDecoder* Review URL: http://codereview.chromium.org/3414003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60902 0039d316-1c4b-4281-b951-d872f2087c98