summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Revert of Turn on seamless cubemap by default on Desktop GL for ES3. ↵zmo2016-03-252-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:40001 of https://codereview.chromium.org/1831833006/ ) Reason for revert: This doesn't work on Mac Intel (most likely a driver bug) Original issue's description: > Turn on seamless cubemap by default on Desktop GL for ES3. > > BUG=597794 > TEST=deqp/texturefiltering_cube_* > R=piman@chromium.org > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/39a22dc8028987efa3ca24135922841d2d2d387c > Cr-Commit-Position: refs/heads/master@{#383362} TBR=piman@chromium.org,piman@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=597794 Review URL: https://codereview.chromium.org/1840553002 Cr-Commit-Position: refs/heads/master@{#383405}
* gpu: disable_program_cache for adreno 530boliu2016-03-251-4/+4
| | | | | | | | | BUG=598060 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1837563003 Cr-Commit-Position: refs/heads/master@{#383394}
* gpu: Pull some variables onto the stack in the decodersievers2016-03-252-12/+14
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel BUG=597636,597625 Review URL: https://codereview.chromium.org/1836603002 Cr-Commit-Position: refs/heads/master@{#383379}
* Turn on seamless cubemap by default on Desktop GL for ES3.zmo2016-03-252-0/+15
| | | | | | | | | | | BUG=597794 TEST=deqp/texturefiltering_cube_* R=piman@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1831833006 Cr-Commit-Position: refs/heads/master@{#383362}
* Content "gn check" work.brettw2016-03-254-9/+14
| | | | | | | | | | | | | | | | | | | Make content/gpu and content/plugin pass GN check. Significant work for most of content/test Makes most of content/shell and content/test pass check. These are not all enabled yet pending a few remaining issues that are more difficult to solve. The private content targets now allow content/test to include headers from them for non-component builds. Checking is disabled for content/test in component builds as described in the comment at the top of //content/BUILD.gn Renames the ui/events/ipc according to GN style. Annotates all content and gpu visibility declarations with why the're there, and fixes some incorrect ones that people added without understanding. Reland of https://codereview.chromium.org/1828483002/ with significant changes. TBR=jschuh (non-security-sensitive ipc build changes) Review URL: https://codereview.chromium.org/1833193002 Cr-Commit-Position: refs/heads/master@{#383358}
* Revert of Introduce GpuVideoDecodeAcceleratorFactory. (patchset #22 ↵lkcrbrettw2016-03-252-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:600001 of https://codereview.chromium.org/1745903002/ ) Reason for revert: Too many problems: Android, Win64 linking, component linking (duplicate code die to incorrect visibility) Original issue's description: > Introduce GpuVideoDecodeAcceleratorFactory. > > - Move platform-specific code from GpuVideoDecodeAccelerator to > GpuVideoDecodeAcceleratorFactory. > > - Make GVDAFactory a content/public interface, to provide the ability to > instantiate VDAs from outside content/. > > - Unify how we obtain access to various GL functionality/classes from VDAs > by introducing a set of callbacks provided by the client. > > - Replace VDA::CanDecodeOnIOThread() with > VDA::TryInitializeDecodeOnSeparateThread(). This allows us to remove > additional client/taskrunner arguments from VDA constructors, and give client > the option to use a separate thread to decode, instead of having to make this > decision in the factory, and enforcing these arguments in the constructors. > > - Deduplicate VDA creation code across users (currently GVDA and vdaunittest). > > BUG=b/27687678 > TEST=compile/run various VDA impls > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/6977e5243786901a766a38c2c291464875dffbd6 > Cr-Commit-Position: refs/heads/master@{#383256} TBR=jochen@chromium.org,ananta@chromium.org,fsamuel@chromium.org,kcwu@chromium.org,liberato@chromium.org,owenlin@chromium.org,sandersd@chromium.org,jam@chromium.org,boliu@chromium.org,posciak@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=b/27687678 Review URL: https://codereview.chromium.org/1832123002 Cr-Commit-Position: refs/heads/master@{#383300}
* Revert of Content "gn check" work. (patchset #10 id:180001 of ↵brettw2016-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1828483002/ ) Reason for revert: Broke https://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN%20%28dbg%29/builds/19740/steps/compile/logs/stdio Original issue's description: > Content "gn check" work. > > Make content/gpu and content/plugin pass GN check. > > Makes most of content/shell and content/test pass check. These are not all enabled yet pending a few remaining issues that are more difficult to solve. > > The private content targets now allow content/test to include headers from them for non-component builds. Checking is disabled for content/test in component builds as described in the comment at the top of //content/BUILD.gn > > Renames the ui/events/ipc according to GN style > > BUG= > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel > TBR=jschuh (IPC build tweak) > > Committed: https://crrev.com/f510be61306f5e4986eceb1f8686bfcc934cd400 > Cr-Commit-Position: refs/heads/master@{#383208} TBR=jam@chromium.org,jschuh@chromium.org,dcheng@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1836533002 Cr-Commit-Position: refs/heads/master@{#383289}
* Introduce GpuVideoDecodeAcceleratorFactory.posciak2016-03-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Move platform-specific code from GpuVideoDecodeAccelerator to GpuVideoDecodeAcceleratorFactory. - Make GVDAFactory a content/public interface, to provide the ability to instantiate VDAs from outside content/. - Unify how we obtain access to various GL functionality/classes from VDAs by introducing a set of callbacks provided by the client. - Replace VDA::CanDecodeOnIOThread() with VDA::TryInitializeDecodeOnSeparateThread(). This allows us to remove additional client/taskrunner arguments from VDA constructors, and give client the option to use a separate thread to decode, instead of having to make this decision in the factory, and enforcing these arguments in the constructors. - Deduplicate VDA creation code across users (currently GVDA and vdaunittest). BUG=b/27687678 TEST=compile/run various VDA impls CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1745903002 Cr-Commit-Position: refs/heads/master@{#383256}
* Clean up calls to CreateGpuMemoryBufferImageCHROMIUM.erikchen2016-03-254-16/+41
| | | | | | | | | | | | | | | | | | This CL should not induce any behavior changes. IOSurfaces expect a format of GL_BGRA, and an internal format of GL_RGBA. Callers of CreateGpuMemoryBufferImageCHROMIUM were incorrectly passing in GL_BGRA as |internalformat|, and the implementation of CreateGpuMemoryBufferImageCHROMIUM was incorrectly allowing this. This CL updates callsites to pass in GL_RGBA, and updates the implementation of CreateGpuMemoryBufferImageCHROMIUM to not accept GL_BGRA. BUG=595948 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1832923002 Cr-Commit-Position: refs/heads/master@{#383243}
* Make lost context callback a base::Closure thru the WGC3DProvider.danakj2016-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the WebGraphicsContext3DProvider have a method to set a lost context callback, and has that method take a SameThreadClosure, wrapped inside a WebClosure. The SameThreadClosure is converted to a base::Closure and passed thru by the WebGraphicsContext3DProviderImpl (which lives in content/) to the actual ContextProvider::SetLostContextCallback() method. This skips going through WebGraphicsContext3D in blink for the callback, though internally the provider does call the same method on WebGraphicsContext3DImpl, which blink used to hijack from it later. This removes the setter method from the WebGraphicsContext3D public API exposed to blink. It introduces a new public/platform/callback/ directory for the WebClosure in order to make separate DEPS rules for this class. It makes use of base::Bind/Callback which has previously not been allowed in blink, though only to wrap a WTF::SameThreadClosure. It also makes use of base/logging.h directly (previously we were unable to use DCHECK in public/platform since the files there build both with and without BLINK_IMPLEMENTATION and in the without case wtf/ is not available to be included. It also uses scoped_ptr since that is nicer than raw pointers and base::Callback understands it but doesn't understand OwnPtr. R=kbr@chromium.org, kinuko@chromium.org, piman@chromium.org BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1830033003 Cr-Commit-Position: refs/heads/master@{#383233}
* Content "gn check" work.brettw2016-03-251-1/+1
| | | | | | | | | | | | | | | | | | Make content/gpu and content/plugin pass GN check. Makes most of content/shell and content/test pass check. These are not all enabled yet pending a few remaining issues that are more difficult to solve. The private content targets now allow content/test to include headers from them for non-component builds. Checking is disabled for content/test in component builds as described in the comment at the top of //content/BUILD.gn Renames the ui/events/ipc according to GN style BUG= CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel TBR=jschuh (IPC build tweak) Review URL: https://codereview.chromium.org/1828483002 Cr-Commit-Position: refs/heads/master@{#383208}
* Re-enable mac_optional_gpu_tests_rel tryserver for GPU related changes.kbr2016-03-241-0/+1
| | | | | | | | | | | There's more capacity on the builders now so jobs shouldn't time out. BUG=596250 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1829063003 Cr-Commit-Position: refs/heads/master@{#383154}
* Add more out of line copy ctors for complex classes.vmpstr2016-03-244-0/+8
| | | | | | | | | | | | | | | This patch adds the remaining copy constructors for complex classes. After this patch, it should be possible to enable the heavy class copy constructor checks by default. R=thakis@chromium.org, dcheng@chromium.org TBR=jam@chromium.org BUG=436357 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1825273002 Cr-Commit-Position: refs/heads/master@{#383131}
* Remove Mac's needs_gl_finish_workaround / gpu::FORCE_GL_FINISH_AFTER_COMPOSITINGtapted2016-03-243-22/+3
| | | | | | | | | | | | | It was once in effect for 10.6 and 10.7. But actually the code under ui/accelerated_widget_mac that would have read the setting to apply the workaround in IOSurfaceLayer went away in r356129 anyway. BUG=579255, 546691 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1823553002 Cr-Commit-Position: refs/heads/master@{#383028}
* Disable glReadPixels workaround.erikchen2016-03-241-1/+12
| | | | | | | | | | | | The original problem was seen on OS X 10.7. Now that Chrome no longer supports OS X 10.7, it may not be necessary anymore. BUG=581777 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1827983002 Cr-Commit-Position: refs/heads/master@{#383001}
* Pull gpu service/client shared memory buffer code to GpuMemoryBufferSupportfsamuel2016-03-244-8/+122
| | | | | | | | | | | | | | | | | | | | | GpuMemoryBufferFactory is a gpu service concept and should not be accessed from the client. Client code accessed GpuMemoryBufferFactory to get the native GPU buffer type and to check whether a provided buffer is supported. Depending on GpuMemoryBufferFactory ends up pulling in other service-only bits. This CL addresses this issue. The two static methods accessed by clients are pulled into a new class: GpuMemoryBufferSupport placed in gpu/ipc/common. BUG=597170 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1831513003 Cr-Commit-Position: refs/heads/master@{#382987}
* Mojo bindings: Fix typemap includes.sammc2016-03-231-12/+24
| | | | | | | | | | | | | | | | | | | | | | | Previously, a header defining a StructTraits specialization could not include its corresponding generated mojom header, due to the mojom header including the StructTraits header. This required a brittle set of forward declarations to correctly avoid this; in practice, this mostly led to StructTraits that were nominally for a particular variant, but included the generated mojom header from the default variant. This CL fixes the issue by splitting typemap headers into public_headers, which define the native type and are included by the generated mojom header, and headers which define the StructTraits specialization for the native type and are only included by the generated mojom source file, allowing the StructTraits header to include the generated mojom header. BUG=596202 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1821073002 Cr-Commit-Position: refs/heads/master@{#382893}
* Add missing IPC struct member msaa_is_slow.ericrk2016-03-231-0/+1
| | | | | | | | | | | | | Missed this in previous CL: crrev.com/1781093002 - added this field to the capabilities, but not to the IPC struct traits. Might explain some of the flakiness in GPU bots. BUG=596730, 596475 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1826673002 Cr-Commit-Position: refs/heads/master@{#382879}
* Move more files to gpu/ipc/commonfsamuel2016-03-235-0/+115
| | | | | | | | | | | | | | | | | This CL moves: content/common/gpu/gpu_memory_uma_stats.h content/common/gpu/gpu_surface_lookup.cc content/common/gpu/gpu_surface_lookup.h to gpu/ipc/common. BUG=596290 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1823763003 Cr-Commit-Position: refs/heads/master@{#382785}
* Revert of Fix PRIMITIVE_RESTART_FIXED_INDEX handling in command buffer and ↵kbr2016-03-234-247/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebGL 2.0. (patchset #4 id:60001 of https://codereview.chromium.org/1813163003/ ) Reason for revert: Broke WebGL 2.0 conformance tests on Mac OS X. Needs https://codereview.chromium.org/1822643002 and possibly more. Original issue's description: > Fix PRIMITIVE_RESTART_FIXED_INDEX handling in command buffer and WebGL 2.0. > > Adapted from yunchao.he@intel.com's > https://codereview.chromium.org/1783763002 . > > This fixes the command buffer's index validation and WebGL 2.0's > implicit enabling of this capability. Emulation of this feature on top > of earlier desktop OpenGL versions will be implemented in a later CL. > > BUG=594021, 295792 > TEST=deqp/functional/gles3/primitiverestart.html > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/0b677e15ebe36546b0d946af78657be3d8b3f0b0 > Cr-Commit-Position: refs/heads/master@{#382497} TBR=zmo@chromium.org,bajones@chromium.org,piman@chromium.org,yunchao.he@intel.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=594021, 295792 Review URL: https://codereview.chromium.org/1827693002 Cr-Commit-Position: refs/heads/master@{#382742}
* Remove simple methods from WebGraphicsContext3D that do strings.danakj2016-03-232-31/+0
| | | | | | | | | | | | | | | Remove simple methods that return or take strings from WebGraphicsContext3D and just call the methods on GLES2Interface directly, converting to/from WTF::String and char*. R=chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1821903002 Cr-Commit-Position: refs/heads/master@{#382741}
* Remove remaining GLES3 methods from WebGraphicsContext3D.danakj2016-03-222-342/+0
| | | | | | | | | | | | | | Make calls directly to the GLES2Interface instead. These were all simple delegated methods in WebGraphicsContext3DImpl. R=chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1816343002 Cr-Commit-Position: refs/heads/master@{#382701}
* Remove create/delete methods from WebGraphicsContext3D.danakj2016-03-222-114/+0
| | | | | | | | | | | | | | | | Have callers use the new Gen/Delete methods on GLES2Interface instead. R=bajones@chromium.org, chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/d8fb03aaed3416b77589c154ae1e9c2c832bfa4b Cr-Commit-Position: refs/heads/master@{#382506} Review URL: https://codereview.chromium.org/1814263004 Cr-Commit-Position: refs/heads/master@{#382690}
* gpu_messages.h => gpu/ipc/commonfsamuel2016-03-2216-21/+632
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This cl moves gpu_messages.h and associated dependencies all to gpu/ipc/common. It turns out that NaCl depends on gpu/ipc/common, and we cannot link skia into NaCl and so I split up gpu/ipc/common into two source_sets in GN and two gypis on GYP: command_buffer_traits and ipc_common_sources (GN) / gpu_ipc_common (GYP). The parts that NaCl needs live in command_buffer_traits and that's what NaCl depends on. Other dependencies that moved are: gpu_param_traits.cc gpu_param_traits.h gpu_param_traits_macros.h gpu_stream_constants.h BUG=595721 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1809183002 Cr-Commit-Position: refs/heads/master@{#382514}
* Revert of Remove create/delete methods from WebGraphicsContext3D. (patchset ↵dbeam2016-03-222-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #6 id:100001 of https://codereview.chromium.org/1814263004/ ) Reason for revert: FAILED: [snip] ../../third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp:255:27: error: unused variable 'webContext' [-Werror,-Wunused-variable] WebGraphicsContext3D* webContext = context(); ^ ../../third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp:276:27: error: unused variable 'webContext' [-Werror,-Wunused-variable] WebGraphicsContext3D* webContext = context(); ^ 2 errors generated. Original issue's description: > Remove create/delete methods from WebGraphicsContext3D. > > Have callers use the new Gen/Delete methods on GLES2Interface instead. > > R=bajones@chromium.org, chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org > TBR=pfeldman > BUG=584497 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/d8fb03aaed3416b77589c154ae1e9c2c832bfa4b > Cr-Commit-Position: refs/heads/master@{#382506} TBR=chrishtr@chromium.org,bajones@chromium.org,kbr@chromium.org,pfeldman@chromium.org,piman@chromium.org,danakj@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=584497 Review URL: https://codereview.chromium.org/1817323003 Cr-Commit-Position: refs/heads/master@{#382507}
* Remove create/delete methods from WebGraphicsContext3D.danakj2016-03-222-114/+0
| | | | | | | | | | | | | Have callers use the new Gen/Delete methods on GLES2Interface instead. R=bajones@chromium.org, chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1814263004 Cr-Commit-Position: refs/heads/master@{#382506}
* Fix PRIMITIVE_RESTART_FIXED_INDEX handling in command buffer and WebGL 2.0.kbr2016-03-224-127/+247
| | | | | | | | | | | | | | | | | Adapted from yunchao.he@intel.com's https://codereview.chromium.org/1783763002 . This fixes the command buffer's index validation and WebGL 2.0's implicit enabling of this capability. Emulation of this feature on top of earlier desktop OpenGL versions will be implemented in a later CL. BUG=594021, 295792 TEST=deqp/functional/gles3/primitiverestart.html CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1813163003 Cr-Commit-Position: refs/heads/master@{#382497}
* Remove methods from WebGraphicsContext3D that wrap type casts.danakj2016-03-222-131/+0
| | | | | | | | | | | | | | | | There were a set of methods that just pass through to the GLES2Interface but do some type casting along the way. Move those casts to the caller or use GL types instead of WGC3D types directly, and call GLES2Interface instead of WebGraphicsContext3D for the methods. R=bajones@chromium.org, pfeldman@chromium.org, piman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1812243003 Cr-Commit-Position: refs/heads/master@{#382470}
* Make a command buffer workaround for glReadPixels on IOSurface backed textures.erikchen2016-03-226-1/+192
| | | | | | | | | | | | The workaround previously existed in GLRenderer. This CL moves the workaround into the command buffer. BUG=581777 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1806753003 Cr-Commit-Position: refs/heads/master@{#382466}
* Remove getError() and synthesizeGLError() from WebGraphicsContext3D.danakj2016-03-222-39/+4
| | | | | | | | | | | | | | | | | | | | | | | | This moves synthetic gl errors entirely into WebGLRenderingContextBase, as all callers that need to synthesize errors have access to or are inside that class. We deleted some dead WebKit code in WebGLProgram to make the above true. Callers to synthesizeGLError() now call the same public method of WebGLRenderingContextBase instead, which allows them to provide additional debug strings. One caller to getError() was switched to GLES2Interface::GetError in DrawingBuffer as that appears separate from the needs for synthetic errors entirely. R=bajones@chromium.org, chrishtr@chromium.org, kbr@chromium.org, pfeldman@chromium.org BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1824433002 Cr-Commit-Position: refs/heads/master@{#382446}
* Make more of content pass "gn check"brettw2016-03-211-2/+4
| | | | | | | | | | Adds dependencies and makes some deps public so more of content passes include checking. This adds 25 targets. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1817903002 Cr-Commit-Position: refs/heads/master@{#382430}
* Remove genSyncTokenCHROMIUM from WebGraphicsContext3D.danakj2016-03-212-9/+0
| | | | | | | | | | | | | | Use the method on GLES2Interface instead. The difference was that WebGraphicsContext3D returned a bool, which was always true. R=dyen@chromium.org, junov@chromium.org, pfeldman@chromium.org, piman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1812363002 Cr-Commit-Position: refs/heads/master@{#382413}
* Whitelist some GPU test includes in GN check.brettw2016-03-216-5/+6
| | | | | | | | | | | | | This is a followup to https://codereview.chromium.org/1800343002/ that broke the GPU FYI bots that use internal_gles2_conform_tests = true CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel TBR=piman Review URL: https://codereview.chromium.org/1818143003 Cr-Commit-Position: refs/heads/master@{#382402}
* Bind GrContext to GLES2Interface rather than C GLES interfacebsalomon2016-03-214-165/+240
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel BUG=442811 Review URL: https://codereview.chromium.org/1671283002 Cr-Commit-Position: refs/heads/master@{#382393}
* Chromecast: disable multisampled render to texturehalliwell2016-03-211-1/+14
| | | | | | | | | | | | | This causes WebGL conformance test failures (glReadPixels fails with GL_INVALID_OPERATION). Apply the workaround while we wait for a fix. BUG=594016 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1784493005 Cr-Commit-Position: refs/heads/master@{#382373}
* Forward ScheduleOverlayPlane calls on Chromecasthalliwell2016-03-211-4/+0
| | | | | | | | | | | | | | | This early-out case exists purely for Chromecast. However, we would actually like to continue and call ScheduleOverlayPlane on the surface; this calls through to our CastPixmap::ScheduleOverlayPlane, where we have some important logging that allows us to track use of overlays in bug reports. BUG=internal b/27615444 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1806923003 Cr-Commit-Position: refs/heads/master@{#382264}
* Expose encrypted_only attribute on VDA supported profiles.dalecurtis2016-03-192-0/+2
| | | | | | | | | | | | This allows us to reduce video playback startup for software codecs from ~50-300ms (N5..Android One) to ~microseconds. BUG=596236 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1820553002 Cr-Commit-Position: refs/heads/master@{#382185}
* Removed mac_optional_gpu_tests_rel from extra trybots in gpu/ and webgl/.kbr2016-03-191-1/+0
| | | | | | | | | | | | | | Leaving this trybot on the extra set for ANGLE and WebGL conformance rolls for the time being. BUG=596250 TBR=piman@chromium.org NOTRY=true CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1818503003 Cr-Commit-Position: refs/heads/master@{#382179}
* Move simple methods [T-Z] from WebGraphicsContext3D to GLES2Interface.danakj2016-03-192-504/+0
| | | | | | | | | | | | | | | | | | This removes methods from WebGraphicsContext3D that were simple macro- based pass-throughs to the underlying GLES2Interface, and changes callers in blink to use the GLES2Interface for them instead. This is ~the last of the OpenGLES 2.0 methods that are simple pass- throughs. R=bajones@chromium.org, kbr@chromium.org, piman@chromium.org TBR=pfeldman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1815803003 Cr-Commit-Position: refs/heads/master@{#382174}
* Move simple methods [F-S] from WebGraphicsContext3D to GLES2Interface.danakj2016-03-192-350/+0
| | | | | | | | | | | | | | This removes methods from WebGraphicsContext3D that were simple macro- based pass-throughs to the underlying GLES2Interface, and changes callers in blink to use the GLES2Interface for them instead. R=junov@chromium.org, kbr@chromium.org, piman@chromium.org TBR=pfeldman BUG=584497 Review URL: https://codereview.chromium.org/1808403002 Cr-Commit-Position: refs/heads/master@{#382135}
* Add CONTEXT_TYPE_OPENGLES2_PEPPERericrk2016-03-187-55/+11
| | | | | | | | | | | | | | | Adds a new context type for Pepper GL contexts. This allows us to fine tune driver bug workarounds for pepper vs. non-pepper contexts. Currently used to disable the Intel MSAA blacklist on pepper contexts, as it should be up to the app whether to use MSAA. BUG=527565 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1781093002 Cr-Commit-Position: refs/heads/master@{#382097}
* Move simple methods [A-E] from WebGraphicsContext3D to GLES2Interface.danakj2016-03-182-218/+1
| | | | | | | | | | | | | | | This removes methods from WebGraphicsContext3D that were simple macro- based pass-throughs to the underlying GLES2Interface, and changes callers in blink to use the GLES2Interface for them instead. R=junov@chromium.org, kbr@chromium.org, piman, chrishtr TBR=pfeldman, kbr BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1807103002 Cr-Commit-Position: refs/heads/master@{#382081}
* Enable GN check for gpu and rlzbrettw2016-03-188-14/+30
| | | | | | | | | | | | | | | | | | | | | Rlz already passed on Windows. GPU had a bunch of errors which are fixed here by adding the necessary dependencies and in a few cases removing unnecessary headers. gpu_memory_buffer_manager.h included stuff from ui/gfx but adding a dependency on //ui/gfx pulls Skia into the NaCl IRT (and mesa into Android) and everything goes badly. The GPU memory buffer stuff turns out to be separable from gfx so I created a new target for this. The same is true for ui/gfx/native_widget_types.h (this is just some enums in a .h file) so I made a separate target for this as well. In support of the Skia-in-NaCl problem, I added an assert_no_deps annotation on the NaCl IRT so people will get an error if they accidentally add this Skia dependency (this has come up before, it's easy to add a //ui/gfx dependency in the wrong place). It also fixes the Skia build in NaCl by updating the condition for extra warning to match build config. Without this update, the assert_no_deps won't be reached before an error running the skia build file, which won't make any sense in the context of addnig a random dependency. Minor cleanup of the use_libpci conditionals that was exposed by this (the define that controlled the header didn't exactly match the corresponding dependencies). CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel TBR=jschuh (gpu/ipc build changes) Review URL: https://codereview.chromium.org/1800343002 Cr-Commit-Position: refs/heads/master@{#381881}
* Remove content switches dependency in content/common/gpu.penghuang2016-03-182-0/+4
| | | | | | | | | BUG=590825 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1805133002 Cr-Commit-Position: refs/heads/master@{#381874}
* Remove framebufferRenderbuffer and framebufferTexture* from WGC3D.danakj2016-03-172-22/+0
| | | | | | | | | | | | | | | | | This removes the method from the WebGraphicsContext3D API, and makes callers go directly to the GLES2Interface instead. The DepthStencilTrackingGLES2Interface is introduced for the DepthStencilTrackingContext to use in DrawingBufferTest, and code will migrate to it as methods are replaced in WebGraphicsContext3D. R=kbr@chromium.org BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1808933002 Cr-Commit-Position: refs/heads/master@{#381799}
* Use base::AtomicSequenceNumber for the flush id in GLES2Implementationdanakj2016-03-171-4/+4
| | | | | | | | | | | | | Instead of writing it ourselves. Note that StaticAtomicSequenceNumber does not work here since it can only be used in global scope. R=piman@chromium.org BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1809753003 Cr-Commit-Position: refs/heads/master@{#381769}
* Move flush id from WebGraphicsContext3DImpl to GLES2Implementation.danakj2016-03-1714-28/+53
| | | | | | | | | | | | | | | | This means calls to any flush or finish methods on GLES2Implementation will update the flush id, and calls to either WebGraphicsContext3D::lastFlushID() or to GLES2Interface::GetLastFlushIdCHROMIUM() will return the same answer always. R=kbr@chromium.org, piman BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1814573002 Cr-Commit-Position: refs/heads/master@{#381647}
* Fix VS 2015 Update 2 specific bugbrucedawson2016-03-172-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | When building Chrome with VS 2015 Update 2 RC there is a compiler error: 1> texture_definition.cc 1>base/memory/ref_counted.h(414): error C2027: use of undefined type 'gpu::gles2::GLStreamTextureImage' 1> gpu/command_buffer/service/texture_manager.h(31): note: see declaration of 'gpu::gles2::GLStreamTextureImage' 1> base/memory/ref_counted.h(413): note: while compiling class template member function 'void scoped_refptr<gpu::gles2::GLStreamTextureImage>::AddRef(T *)' This is caused by a compiler bug, together with a type trait used in std::vector: https://twitter.com/StephanTLavavej/status/710191543840219136 A VS bug has been filed at: https://connect.microsoft.com/VisualStudio/feedback/details/2475971 Bug 595189 has a more minimal repro. BUG=440500,595189 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1806743002 Cr-Commit-Position: refs/heads/master@{#381640}
* blink: Remove unused or rarely used methods from WebGraphicsContext3Ddanakj2016-03-162-143/+0
| | | | | | | | | | | | | | | | | This is toward deleting the class entirely. These methods were not used at all, or for a couple of them, had one caller which we redirect to the GLES2Interface directly. Adds a DEPS entry for core/testing/ to use GLES2Interface as there's code in there calling things on WebGraphicsContext3D now. R=kbr,esprehn,sievers,chrishtr BUG=584497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1809553002 Cr-Commit-Position: refs/heads/master@{#381586}
* Add a workaround for copyTexImage2D as it is sometimes broken on OSX.erikchen2016-03-1610-18/+446
| | | | | | | | | | | | | | | copyTexImage2D fails when all of these conditions are met: 1. The internal format of the new texture is GL_ALPHA, GL_RED, or GL_RG. There are probably a couple more. GL_RGB and GL_RGBA always work fine. 2. The GPU is from Nvidia. 3. The source texture is backed by an IOSurface. BUG=581777 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1736093002 Cr-Commit-Position: refs/heads/master@{#381488}