summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix WebGL getParameter bug in command buffer. zmo@google.com2010-09-243-14/+11
| | | | | | | | | | | | | | | GetHelper was truning all getParameter return values into integers, even if they should have been floats. By returning false in GetHelper, it lets the individual DoGet(Float,Boolean,Integer)v functions skip this behavior and return the real value directly. Also, update unit tests now that the correct function is being called. BUG=51331 TEST=LayoutTests/fast/canvas/webgl/gl-get-calls.html git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60515 0039d316-1c4b-4281-b951-d872f2087c98
* Adds stub for client side GL logging.gman@chromium.org2010-09-2313-37/+335
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/3417009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60347 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60236 - Fix WebGL getParameter bug in command buffer. atwilson@chromium.org2010-09-231-1/+4
| | | | | | | | | | | | | | | | | | | | | GetHelper was turning all getParameter return values into integers, even if they should have been floats. By returning false in GetHelper, it lets the individual DoGet(Float,Boolean,Integer)v functions skip this behavior and return the real value directly. BUG=51331 TEST=LayoutTests/fast/canvas/webgl/gl-get-calls.html R=apatrick,gman Patch by Adrienne Walker (enne@chromium.org) Originally reviewed at http://codereview.chromium.org/3023042 Review URL: http://codereview.chromium.org/3402026 TBR=darin@chromium.org Review URL: http://codereview.chromium.org/3396017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60247 0039d316-1c4b-4281-b951-d872f2087c98
* Fix WebGL getParameter bug in command buffer. darin@chromium.org2010-09-221-4/+1
| | | | | | | | | | | | | | | | | | GetHelper was turning all getParameter return values into integers, even if they should have been floats. By returning false in GetHelper, it lets the individual DoGet(Float,Boolean,Integer)v functions skip this behavior and return the real value directly. BUG=51331 TEST=LayoutTests/fast/canvas/webgl/gl-get-calls.html R=apatrick,gman Patch by Adrienne Walker (enne@chromium.org) Originally reviewed at http://codereview.chromium.org/3023042 Review URL: http://codereview.chromium.org/3402026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60236 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: clang buildthakis@chromium.org2010-09-222-6/+9
| | | | | | | | | | | | | Fixes the last few warnings / errors necessary to build chrome/mac with clang. See http://code.google.com/p/chromium/wiki/Clang BUG=none TEST=none Review URL: http://codereview.chromium.org/2762014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60131 0039d316-1c4b-4281-b951-d872f2087c98
* Enabled GL_POINT_SPRITE capability in desktop GL backend for commandkbr@google.com2010-09-202-1/+8
| | | | | | | | | | | | | | buffer. This is required in order to properly enable support for the gl_PointCoord built-in variable in GLSL fragment shaders. Ran GPU unit tests; requires http://code.google.com/p/angleproject/issues/detail?id=35 to fully test. BUG=55884 TEST=none Review URL: http://codereview.chromium.org/3404006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59982 0039d316-1c4b-4281-b951-d872f2087c98
* Added lots of logging to the GPU code.apatrick@chromium.org2010-09-206-13/+67
| | | | | | | | | | | This should help us diagnose initialization failures. TEST=try BUG=none Review URL: http://codereview.chromium.org/3380010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59970 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit GpuVideoDecoder and related patches.hclam@chromium.org2010-09-172-0/+20
| | | | | | | | | BUG=53714 TEST=Tree is green Review URL: http://codereview.chromium.org/3442006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59860 0039d316-1c4b-4281-b951-d872f2087c98
* Enables GL_OES_standard_derivativesgman@chromium.org2010-09-174-4/+23
| | | | | | | | | | | | Note: With this CL standard derivaties will unfortunately be accessable by WebGL. Another CL will be coming ASAP that fixes this. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/3446008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59859 0039d316-1c4b-4281-b951-d872f2087c98
* Bumped ANGLE rev to 425 to pull the new API for extracting attribs and ↵alokp@chromium.org2010-09-174-47/+151
| | | | | | | | | uniforms. Created a new class ShaderTranslator to encapsulate shader translation. PS: I will add tests for this class once ANGLE actually returns attribs and uniforms. Review URL: http://codereview.chromium.org/3451002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59816 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 59784 - GpuVideoDecoder to use GpuVideoDevice and IPC messages to ↵mlloyd@chromium.org2010-09-172-20/+0
| | | | | | | | | | | | | | | | | | complete VideoFrame allocation GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses GpuVideoDevice to create VideoFrames from the GL textures. These GL textures are passed into VideoDecodeEngine. BUG=53714 TEST=Tree is green Review URL: http://codereview.chromium.org/3335019 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3451007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59790 0039d316-1c4b-4281-b951-d872f2087c98
* GpuVideoDecoder to use GpuVideoDevice and IPC messages to complete ↵hclam@chromium.org2010-09-172-0/+20
| | | | | | | | | | | | | | | VideoFrame allocation GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses GpuVideoDevice to create VideoFrames from the GL textures. These GL textures are passed into VideoDecodeEngine. BUG=53714 TEST=Tree is green Review URL: http://codereview.chromium.org/3335019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59784 0039d316-1c4b-4281-b951-d872f2087c98
* Removed base dependency from PGL.apatrick@chromium.org2010-09-141-5/+4
| | | | | | | | | | | This is so it can be statically linked with untrusted NaCl code. TEST=try BUG=none Review URL: http://codereview.chromium.org/3366021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59321 0039d316-1c4b-4281-b951-d872f2087c98
* Update build_gles2_cmd_buffer.py for PPAPI.neb@chromium.org2010-09-131-23/+139
| | | | | | | | | BUG=none TEST=generated files on Linux are not different from before, PPAPI files compile fine. Review URL: http://codereview.chromium.org/3227005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59305 0039d316-1c4b-4281-b951-d872f2087c98
* Made GLES demos work on PPAPI.neb@chromium.org2010-09-1311-14/+305
| | | | | | | | | BUG=none TEST=they work on Windows and Linux. Review URL: http://codereview.chromium.org/3132017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59304 0039d316-1c4b-4281-b951-d872f2087c98
* We need to initialize backbuffer to all 0s instead of some random color. It ↵zmo@google.com2010-09-131-1/+1
| | | | | | | | | | | is required by WebGL spec. BUG=none TEST=try Review URL: http://codereview.chromium.org/3324018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59272 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 59119 - Removed includion of <iostream> from logging.h.jamesr@chromium.org2010-09-121-11/+7
| | | | | | | | | | | | | | | So that it does not introduce static initializers into including files. TEST=try BUG=54904 Review URL: http://codereview.chromium.org/3354018 Reverting due to serious perf regression in some cases. TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/3358030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59203 0039d316-1c4b-4281-b951-d872f2087c98
* Removed includion of <iostream> from logging.h.apatrick@chromium.org2010-09-101-7/+11
| | | | | | | | | | | So that it does not introduce static initializers into including files. TEST=try BUG=54904 Review URL: http://codereview.chromium.org/3354018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59119 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process reports context lost when SwapBuffers fails.apatrick@chromium.org2010-09-101-1/+2
| | | | | | | | | | | This is to give the renderer or plugin process an opportunity to recover. TEST=try BUG=none Review URL: http://codereview.chromium.org/3305028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59115 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dependencies on base from GPU common and client code.apatrick@chromium.org2010-09-0830-142/+315
| | | | | | | | | | | | | The main change was to make scoped_ptr and the basic types the same for both NaCl and trusted plugins and to implement new logging code for GPU common and client code. Service code and unit tests can still use the logging code in base. I am really not happy with the new logging code but I thought I'd let you take a look at it to see what you think. The biggest thing I don't like is it uses assert(false) to throw an exception in a platform independent way, which brings up a modal dialog. Not ideal in the middle of a unit test run. I don't know if that will make the bots hang. Hopefully they'll time out or something. TEST=try BUG=none Review URL: http://codereview.chromium.org/2936009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58857 0039d316-1c4b-4281-b951-d872f2087c98
* Complete initializing a GPU video decoder in a GLES2 contexthclam@chromium.org2010-09-031-0/+3
| | | | | | | | | | | | | | | | | In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the renderer process. In the GPU process the GpuVideoDecoder is connected to a gles2::GLES2Decoder. These changes will be used in the future to switch context before issuing video decode commands. This is also needed by the GPU process to translate a client texture ID to a service texture ID in the GPU video decoder. BUG=53714 TEST=none Review URL: http://codereview.chromium.org/3266008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58518 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process SwapBuffers from child to parent context calls glFlush before ↵apatrick@chromium.org2010-09-021-62/+56
| | | | | | | | | | | | | | | invoking SwapBuffers callback. This is required for the side effects of the swap to be guaranteed visible to teh parent context. Also fixed the back buffer clearing to work with ANGLE. TEST=try, change the default clear color to test that the back buffer was actually cleared. BUG=none Review URL: http://codereview.chromium.org/3170035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58413 0039d316-1c4b-4281-b951-d872f2087c98
* Added check that:alokp@chromium.org2010-09-011-0/+5
| | | | | | | | - all invalid shaders are rejected by the translator and - all translated shaders are compiled Review URL: http://codereview.chromium.org/3256007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58229 0039d316-1c4b-4281-b951-d872f2087c98
* Add way to create a texture in parent's context and copy into itjamesr@chromium.org2010-08-2812-0/+145
| | | | | | | | | | | | | | | | | | | | | | For canvas we need a way to create multiple offscreen render targets within the same OpenGL context and expose them all to the compositor, which exists as a parent context. ggl currently provides a single framebuffer and texture pair per offscreen context and implements swapBuffers() to copy to the parent texture. This generalizes that to let clients create as many parent textures as necessary and do the equivalent of swapBuffers() for each without the service side needing to keep track of the mapping. We'll want to change this in the future when we start using glBlitFramebuffer to support multisampling. I think in that world we'll need a way to bind a texture in the parent's context to the DRAW_FRAMEBUFFER context. For now, I think this is OK. TEST=open a page with multiple accelerated canvases in a shared context BUG=52684 Review URL: http://codereview.chromium.org/3211005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57761 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 7)thestig@chromium.org2010-08-273-8/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3176026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57737 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_OES_depth24gman@chromium.org2010-08-262-1/+15
| | | | | | | | | | | | | Apparently there is no way to test for support for 24bit renderbuffers on desktop GL. They are just supposed to work or something. TEST=unit tests BUG=53358 Review URL: http://codereview.chromium.org/3167041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57574 0039d316-1c4b-4281-b951-d872f2087c98
* Bumped ANGLE rev and related changes.alokp@chromium.org2010-08-261-8/+12
| | | | | | Review URL: http://codereview.chromium.org/3148038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57568 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Switch to DWARF for official builds. Good riddence.thestig@chromium.org2010-08-261-4/+0
| | | | | | | | BUG=20737 TEST=none Review URL: http://codereview.chromium.org/2892001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57553 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue with count=0 for DrawArrays and DrawElementsgman@chromium.org2010-08-262-0/+35
| | | | | | | | | | TEST=unit tests BUG=52752 Review URL: http://codereview.chromium.org/3180025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57450 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for GL_EXT_texture_compression_s3tc,gman@chromium.org2010-08-266-9/+189
| | | | | | | | | | | | | GL_EXT_texture_filter_anisotropic, GL_OES_packed_depth_stencil GL_GOOGLE_depth_texture TEST=unit tests and ran conformance tests BUG=53262,53264,53266,53270 Review URL: http://codereview.chromium.org/3135048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57428 0039d316-1c4b-4281-b951-d872f2087c98
* Removed compile-time GLES2_GPU_SERVICE_TRANSLATE_SHADER flag because whether ↵alokp@chromium.org2010-08-252-52/+34
| | | | | | | | shader needs to be translated is a runtime decision. Review URL: http://codereview.chromium.org/3207001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57362 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for the default texture.gman@chromium.org2010-08-2412-173/+288
| | | | | | | | | | | | | | | Since we are simulating non-shared resources on top of shared resources we can't actually let contexts use texture 0 because they are all sharing it. Also, moved the black textures to the texture manager. TEST=unit tests and ran conformance tests BUG=none Review URL: http://codereview.chromium.org/3150026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57214 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for EXT_framebuffer_multisamplegman@chromium.org2010-08-2318-62/+665
| | | | | | | | | | | | | | | I probably need more tests but in order to test I need to figure out how to init the system with different caps enabled from the unit tests and that's probably not a small amount of work so leaving that till later. TEST=some unit tests, ran conformance tests BUG=none Review URL: http://codereview.chromium.org/3122033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57081 0039d316-1c4b-4281-b951-d872f2087c98
* Sorry but I had to rollback this change.gman@chromium.org2010-08-201-135/+24
| | | | | | | | | | | os.path.relpath is not available with python 2.4 which is the verison of python that Chrome's build system ships with. TBR=neb@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56887 0039d316-1c4b-4281-b951-d872f2087c98