summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service
Commit message (Collapse)AuthorAgeFilesLines
* gpu: Remove set_testing_force_is_anglesievers@chromium.org2013-11-1414-100/+120
| | | | | | | | | | | | | | | | It's needed for testing GL_ANGLE_depth_texture as well as the logic (incl. texture clear logic) to prefer texSubImage2D over texImage2D for full updates. This changes things into feature and workaround flags, respectively, which now also allows to set texsubimage2d_faster_than_teximage2d for other drivers. R=jbauman@chromium.org, zmo@chromium.org Review URL: https://codereview.chromium.org/68113014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235238 0039d316-1c4b-4281-b951-d872f2087c98
* Rename MultisampledRenderToTextureTest to fit existing heapcheck exclusion ↵sievers@chromium.org2013-11-131-6/+7
| | | | | | | | | | | filter. BUG=318881,259393 TBR=earthdok@chromium.org Review URL: https://codereview.chromium.org/68523008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234879 0039d316-1c4b-4281-b951-d872f2087c98
* Split incompatible MSAA extensions.sievers@chromium.org2013-11-136-49/+295
| | | | | | | | | | | | | | | | | | This splits the commandbuffer client interfaces for extensions in the style of GL_EXT_framebuffer_multisample (explicit resolve with glBlitFramebuffer) vs. multisampled_render_to_texture. glBlitFramebufferEXT() is also renamed to glBlitFrambufferCHROMIUM simply to make it obvious that it is to be used with glRenderbufferStorageMultisampleCHROMIUM rather than glRenderbufferStorageMultisampleEXT. BUG=314214 R=brettw@chromium.org, kbr@chromium.org, piman@chromium.org TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/63583002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234853 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Add workaround to unbind gpu memory buffer only on NVIDIAboliu@chromium.org2013-11-133-1/+16
| | | | | | | | | | | | | | | | | | | | | | For gralloc backed gpu memory buffer on Android, it is undefined whether locking for read/write while the buffer is bound to a texture is allowed. On nvidia devices (eg 2012 nexus 7), lock without unbind will lead to deadlocks in the driver (crbug.com/264096). However on other nexus gpu vendors (img, arm, qualcomm), unbind is very expensive since it flushes the gpu pipeline. And vendors have advised that lock while bound is allowed and is the right solution to this slowness, as long as the texture is eventually recycled or deleted. Add a workaround for nvidia to only unbind in GLImage::DidUseTexImage. BUG= Review URL: https://codereview.chromium.org/66033009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234740 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Prepare for -Wunused-functions.thakis@chromium.org2013-11-071-15/+0
| | | | | | | | | | | | Mostly involves deleting hundreds of lines of unused code. BUG=315884 R=akalin@chromium.org, brettw@chromium.org, fischman@chromium.org, jamesr@chromium.org, sky@chromium.org, thestig@chromium.org TBR=piman, youngki Review URL: https://codereview.chromium.org/63153003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233646 0039d316-1c4b-4281-b951-d872f2087c98
* Delete gpu/command_buffer/client/atomicops.hthakis@chromium.org2013-11-062-5/+0
| | | | | | | | | | | | | command_buffer was historically included in nacl-compiled things, and base wasn't. These days, base is included in nacl-compiled things too, so the duplication can be removed. BUG=none R=piman@chromium.org Review URL: https://codereview.chromium.org/59383006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233171 0039d316-1c4b-4281-b951-d872f2087c98
* Delete gpu/command_buffer/common/logging.hthakis@chromium.org2013-11-051-1/+1
| | | | | | | | | | | | | | | command_buffer was historically included in nacl-compiled things, and base wasn't. These days, base is included in nacl-compiled things too, so the duplication can be removed. This will remove 1 static initializer. BUG=94925 R=piman@chromium.org Review URL: https://codereview.chromium.org/58823003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233092 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Use std::vector instead of ObserverList.reveman@chromium.org2013-11-012-7/+17
| | | | | | | | | | | Reduce memory churn by using std::vector instead of ObserverList for texture detach notifications. BUG=313235 Review URL: https://codereview.chromium.org/53253003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232357 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call into driver for unsupported extensions.sievers@chromium.org2013-10-315-1/+77
| | | | | | | | | | | Check extension availability for glDiscardFramebufferEXT() and glBlitFramebufferEXT(). Adds some tests for glDiscardFramebuffer() also. Review URL: https://codereview.chromium.org/46673007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232165 0039d316-1c4b-4281-b951-d872f2087c98
* Move memory allocation/stats structs to gpu:: and remove bazillion copiesjamesr@chromium.org2013-10-294-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the memory allocation / stats structs from content to gpu:: and eliminates many redundant copies of this information in different parts of the stack. This also moves the stats sending and allocation callbacks to gpu::ContextSupport / gpu::GpuControl to get rid of the bounce through WebKit::WebGraphicsContext3D. The new flow for cc to register for memory allocation changes and pass stats to the manager is this: cc:: registers for MemoryAllocationChanged callbacks and sends stats via the gpu::ContextSupport interface. Memory allocations are represented by a gpu::MemoryAllocation struct and memory statistics are sent in a gpu::ManagedMemoryStats struct. The implementation of gpu::ContextSupport (gpu::gles2::GLES2Implementation) forwards the calls to gpu::GpuControl. content::CommandBufferProxyImpl's implementation of these maps the calls to content IPCs that drive the memory manager implementation. This patch gets rid of the following things: *) WebKit::WebGraphicsMemory(Allocation|Stats) go away. These were used only because cc was not able to depend on the previous locations of the allocation/stats structs in content::. Now that these structs are in gpu::, the compositor (which is the only thing using these) can see them directly *) WebGraphicsContext3D::sendManagedMemoryStatsCHROMIUM / setMemoryAllocationChangedCallbackCHROMIUM go away. *) cc:ManagedMemoryPolicy's cutoff fields are now gpu::MemoryAllocation::PriorityCutoff enums instead of an (inconsistently named) copy. *) GpuMemoryAllocationForBrowser goes away and is managed directly in content. gpu::GpuMemoryAllocationForRenderer is renamed to just gpu::MemoryAllocation *) Many proxies and converters go away. cc::ManagedMemoryPolicy sticks around in this patch, even though it's largely the same as gpu::MemoryAllocation, since it's sometimes used by code that doesn't go through the gpu memory allocation path - such as android_webview - and it has some additional state (num_resource_limit) that's not applicable to a general gpu::MemoryAllocation. Chris tells me this struct is due for simplification as well, so maybe it'll make sense to fold it in in a future patch. Diffstat: 53 files changed, 345 insertions(+), 713 deletions(-) BUG=181120 R=piman,ccameron Review URL: https://codereview.chromium.org/45243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231527 0039d316-1c4b-4281-b951-d872f2087c98
* Make command buffer handles the situation that unused uniform array elements ↵zmo@chromium.org2013-10-252-10/+66
| | | | | | | | | | | | can be optimized out. BUG=310883 TEST=conformance/uniform/gl-uniform-arrays.html on mac R=bajones@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/38963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231040 0039d316-1c4b-4281-b951-d872f2087c98
* Break the dependency of BackTexture on the entire Decoder. Part 2 because a ↵kloveless@chromium.org2013-10-241-40/+42
| | | | | | | | | | change submitted near the same time caused this to break the build. BUG= Review URL: https://codereview.chromium.org/32423004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230834 0039d316-1c4b-4281-b951-d872f2087c98
* Replace --trace-gl with TRACE_DISABLED_BY_DEFAULT("cb_command")wangxianzhu@chromium.org2013-10-234-15/+3
| | | | | | | | | | | | | | | | Now TRACE_DISABLED_BY_DEFAULT() provides a better way to disable heavy traces by default. It allows user to enable the category at runtime in chrome://tracing. Also changed TRACE_EVENT_BEGIN0/TRACE_EVENT_END0 to TRACE_EVENT0 which can reduce the number of events and tracing overhead by half during tracing. BUG=none Review URL: https://codereview.chromium.org/29963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230461 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: gpu: Add Will/DidUseTexImage to GLImage API.reveman@chromium.org2013-10-227-27/+418
| | | | | | | | | | | | | | | | | WillUseTexImage/DidUseTexImage is called before/after the image is used for sampling. The result is that the client only has to call bind/releaseTexImage2D when contents have changed, which allows for more efficient GLImage implementations as work required before use can be separated from work required when contents have changed. BUG=261649 TEST=gpu_unittests --gtest_filter=SharedTextureTest.Images && gpu_unittests --gtest_filter=GLES2DecoderWithShaderTest.UseTexImage && cc_unittests --gtest_filter=ResourceProviderTests/ResourceProviderTest.Image_GLTexture* && gl_tests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=229532 Review URL: https://codereview.chromium.org/23129010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230093 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 229532 "gpu: Add Will/DidUseTexImage to GLImage API."reveman@chromium.org2013-10-217-404/+24
| | | | | | | | | | | | | | | | | | | | | | | This is causing webgl_conformance_tests to fail. > gpu: Add Will/DidUseTexImage to GLImage API. > > WillUseTexImage/DidUseTexImage is called before/after the image is > used for sampling. The result is that the client only has to call > bind/releaseTexImage2D when contents have changed, which allows > for more efficient GLImage implementations as work required before > use can be separated from work required when contents have changed. > > BUG=261649 > TEST=gpu_unittests --gtest_filter=SharedTextureTest.Images && gpu_unittests --gtest_filter=GLES2DecoderWithShaderTest.UseTexImage && cc_unittests --gtest_filter=ResourceProviderTests/ResourceProviderTest.Image_GLTexture* && gl_tests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle > > Review URL: https://codereview.chromium.org/23129010 TBR=reveman@chromium.org Review URL: https://codereview.chromium.org/32603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229799 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 229640 "Break the dependency BackTexture had on the entir..."jochen@chromium.org2013-10-191-40/+38
| | | | | | | | | | | | | | | | | | | Broke compilation on linux chromeos: ../../gpu/command_buffer/service/gles2_cmd_decoder.cc:5760:39:error: too few arguments to function ‘void gpu::gles2::RestoreCurrentTexture2DBindings(gpu::gles2::ContextState*)’ > Break the dependency BackTexture had on the entire Decoder. > > BUG= > > Review URL: https://codereview.chromium.org/27762003 TBR=kloveless@chromium.org Review URL: https://codereview.chromium.org/30823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229642 0039d316-1c4b-4281-b951-d872f2087c98
* Break the dependency BackTexture had on the entire Decoder.kloveless@chromium.org2013-10-191-38/+40
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/27762003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229640 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add Will/DidUseTexImage to GLImage API.reveman@chromium.org2013-10-197-24/+404
| | | | | | | | | | | | | | | WillUseTexImage/DidUseTexImage is called before/after the image is used for sampling. The result is that the client only has to call bind/releaseTexImage2D when contents have changed, which allows for more efficient GLImage implementations as work required before use can be separated from work required when contents have changed. BUG=261649 TEST=gpu_unittests --gtest_filter=SharedTextureTest.Images && gpu_unittests --gtest_filter=GLES2DecoderWithShaderTest.UseTexImage && cc_unittests --gtest_filter=ResourceProviderTests/ResourceProviderTest.Image_GLTexture* && gl_tests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle Review URL: https://codereview.chromium.org/23129010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229532 0039d316-1c4b-4281-b951-d872f2087c98
* Remove BindAttribLocationImmediate, BufferSubDataImmediate, ↵kloveless@chromium.org2013-10-186-210/+76
| | | | | | | | | | CompressedTexSubImage2DImmediate and BindUniformLocationCHROMIUMImmediate. These immediates are not used in the gles2_implementation, and thus have no use currently. Review URL: https://codereview.chromium.org/27733002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229392 0039d316-1c4b-4281-b951-d872f2087c98
* Add renderbuffer BGRA8 format extension and support in cmd buffer for ↵bsalomon@google.com2013-10-182-2/+18
| | | | | | | | | | desktop GL. This enables development of a canvas2d msaa flag on desktop systems that use BGRA for canvas2d. BUG=308277 Review URL: https://codereview.chromium.org/27542003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229359 0039d316-1c4b-4281-b951-d872f2087c98
* Work around broken GL_TEXTURE_BINDING_EXTERNAL_OES querysievers@chromium.org2013-10-172-5/+11
| | | | | | | | | | | | | | | | glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, &texture_id) returns GL_INVALID_ENUM on older Android NVIDIA drivers. The reason for the query is to restore correct texture bindings, since SurfaceTexture.updateTexImage() implies a call to glBindTexture(). Since we now only call this before drawing, we can just set the correct active texture unit (which gets restored after draw). BUG=305526,283053 Review URL: https://codereview.chromium.org/26921004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229254 0039d316-1c4b-4281-b951-d872f2087c98
* Apply shader short circuit workaround on MacOSXzmo@chromium.org2013-10-171-0/+2
| | | | | | | | | | BUG=307751 TEST=conformance test mentioned in the crbug R=bajones@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/27343003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229208 0039d316-1c4b-4281-b951-d872f2087c98
* Set immediate to false for DestroyImageCHROMIUM (seems to have no effect - ↵kloveless@chromium.org2013-10-114-49/+1
| | | | | | | | | | | | but getting ready to remove it). Removed ShaderSourceImmediate. BUG= Review URL: https://codereview.chromium.org/26375002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228262 0039d316-1c4b-4281-b951-d872f2087c98
* Removed HandleBufferDataImmediate.kloveless@chromium.org2013-10-104-34/+18
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/26369002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228035 0039d316-1c4b-4281-b951-d872f2087c98
* Break BackRenderbuffer dependency on the decoder.kloveless@chromium.org2013-10-101-14/+26
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/26320002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227847 0039d316-1c4b-4281-b951-d872f2087c98
* Remove GetAttribLocationImmediate and GetUniformLocationImmediate.kloveless@chromium.org2013-10-095-138/+22
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/26373002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227757 0039d316-1c4b-4281-b951-d872f2087c98
* Move in process SignalQuery implementation to service sidejamesr@chromium.org2013-10-094-17/+80
| | | | | | | | R=sievers Review URL: https://codereview.chromium.org/26091002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227693 0039d316-1c4b-4281-b951-d872f2087c98
* Make ConvertableToTraceFormat ref-countedwangxianzhu@chromium.org2013-10-091-5/+6
| | | | | | | | | | | | | | | | | | | | Previously though TraceEvent is copyable, the copy has side-effect that will clear the convertable pointers in the source TraceEvent. This hadn't been a problem before https://codereview.chromium.org/23531042/ which added TraceBuffer::Clone() so exposed the potential problem. Make ConvertableToTraceFormat ref-counted to allow copying of TraceEvents. This also simplifies the client code and trace_event.h because scoped_refptrs can be assigned just like other types of variables. TEST=existing tests BUG=none Review URL: https://codereview.chromium.org/26266003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227671 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TexSubImage2DImmediate, TexImage2DImmediate, CompressedTexImage2D.kloveless@chromium.org2013-10-096-105/+57
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/26358003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227655 0039d316-1c4b-4281-b951-d872f2087c98
* ScopedRenderBufferBinder no longer depends on the Decoder.kloveless@chromium.org2013-10-091-16/+8
| | | | | | Review URL: https://codereview.chromium.org/26232004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227654 0039d316-1c4b-4281-b951-d872f2087c98
* Move the ScopedGLErrorSuprressor to only take ErrorState.kloveless@chromium.org2013-10-081-31/+38
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/26316002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227518 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TexImage2DImmediate as a first example of removing an immediate ↵kloveless@chromium.org2013-10-083-35/+1
| | | | | | | | function. They are not currently used and no plans to do so. Review URL: https://codereview.chromium.org/26211005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227449 0039d316-1c4b-4281-b951-d872f2087c98
* Add SignalQuery to GpuControl interfacejamesr@chromium.org2013-10-054-0/+14
| | | | | | | | | | | | Similar to the SignalSyncPoint() move, the goal here is to expose this functionality directly from gpu:: so we don't have to depend on WebGraphicsContext3D in order to use queries. R=piman,sievers Review URL: https://codereview.chromium.org/25645007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227181 0039d316-1c4b-4281-b951-d872f2087c98
* Move Insert/SignalSyncPoint() to GpuControljamesr@chromium.org2013-10-026-19/+27
| | | | | | | | | | | This moves InsertSyncPoint() and SignalSyncPoint() to the gpu::GpuControl interface to get a step closer to removing the WebGraphicsContext3D interface. R=piman,sievers Review URL: https://codereview.chromium.org/24925002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226412 0039d316-1c4b-4281-b951-d872f2087c98
* Move more framebuffer state out of ContextState and into FramebufferState.kloveless@chromium.org2013-10-024-47/+59
| | | | | | | | | This will us (in future CLs) to not pass in ContextState into FramebufferManager, but just the FramebufferState. Review URL: https://codereview.chromium.org/25277005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226374 0039d316-1c4b-4281-b951-d872f2087c98
* Route GenMailboxCHROMIUM through GpuControlpiman@chromium.org2013-10-017-32/+39
| | | | | | | | | | | | This allows the fast path to work in GLES2Implementation rather than needing WGC3DCBI. BUG=181120 R=sievers@chromium.org Review URL: https://codereview.chromium.org/24714002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226145 0039d316-1c4b-4281-b951-d872f2087c98
* Make *CommandBufferProxy* implement GpuControlpiman@chromium.org2013-09-274-0/+14
| | | | | | | | | | | | | | | | | GpuControl is where we will pipe out-of-band stuff, that is currently done in each of the WGC3D implementations, but we want to move down into GLES2Implementation. This is essentially just a refactoring, since the current GpuControl only deals with GpuMemoryBuffer that's not available out-of-process, but we can then add things like GenerateMailboxes, Ensure/DiscardBackbuffer or callback stuff on top. BUG=181120 R=dmichael@chromium.org, sievers@chromium.org Review URL: https://codereview.chromium.org/24711002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225627 0039d316-1c4b-4281-b951-d872f2087c98
* Allow rendering from non-stream GL_TEXTURE_EXTERNAL_OESsheu@chromium.org2013-09-264-50/+75
| | | | | | | | | | | | Towards support for compositing from GL_TEXTURE_EXTERNAL_OES textures exported by other drivers into the GL stack. BUG=167417 TEST=local build, unittests, run on CrOS snow Review URL: https://codereview.chromium.org/24152009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225410 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up a few more unused globals.thakis@chromium.org2013-09-251-3/+4
| | | | | | | | | | | Found by clang's new -Wunused-const-variable. BUG=290204 R=akalin@chromium.org, avi@chromium.org, isherman@chromium.org, jamesr@chromium.org, joi@chromium.org, sergeyu@chromium.org, sky@chromium.org, thestig@chromium.org, xhwang@chromium.org Review URL: https://codereview.chromium.org/24649002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225273 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Upgrade DEPTH_COMPONENT16 to DEPTH_COMPONENT24 if possibleskyostil@chromium.org2013-09-208-49/+92
| | | | | | | | | | | | | | | | | | | Upgrade the DEPTH_COMPONENT16 render buffer storage format to DEPTH_COMPONENT24 if the GLES implementation supports the OES_depth24 extension. This is done to improve content portability between desktop and mobile, since we already do a similar mapping from DEPTH_COMPONENT16 to the unsized DEPTH_COMPONENT on desktop GL. This means that for example WebGL content can end up relying on a higher precision depth buffer even though it only requested DEPTH_COMPONENT16. BUG=285400 TEST=http://www.khronos.org/registry/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html on Nexus 4 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=224117 Review URL: https://chromiumcodereview.appspot.com/24079010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224509 0039d316-1c4b-4281-b951-d872f2087c98
* Expose real VENDOR/RENDERER strings for WEBGL_debug_renderer_info.zmo@chromium.org2013-09-201-6/+5
| | | | | | | | | | | | | Currently we always return "chromium" for both, which is against the purpose of this extension. BUG=294922 TEST=manual R=bajones@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/24244006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224405 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 224117 "gpu: Upgrade DEPTH_COMPONENT16 to DEPTH_COMPONENT..."thakis@chromium.org2013-09-198-88/+49
| | | | | | | | | | | | | | | | | | | | | | | | | Caused http://crbug.com/294937 > gpu: Upgrade DEPTH_COMPONENT16 to DEPTH_COMPONENT24 if possible > > Upgrade the DEPTH_COMPONENT16 render buffer storage format to > DEPTH_COMPONENT24 if the GLES implementation supports the OES_depth24 > extension. This is done to improve content portability between desktop > and mobile, since we already do a similar mapping from DEPTH_COMPONENT16 > to the unsized DEPTH_COMPONENT on desktop GL. This means that for > example WebGL content can end up relying on a higher precision depth > buffer even though it only requested DEPTH_COMPONENT16. > > BUG=285400 > TEST=http://www.khronos.org/registry/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html on Nexus 4 > > Review URL: https://chromiumcodereview.appspot.com/24079010 TBR=skyostil@chromium.org Review URL: https://codereview.chromium.org/23672048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224166 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Upgrade DEPTH_COMPONENT16 to DEPTH_COMPONENT24 if possibleskyostil@chromium.org2013-09-198-49/+88
| | | | | | | | | | | | | | | | | Upgrade the DEPTH_COMPONENT16 render buffer storage format to DEPTH_COMPONENT24 if the GLES implementation supports the OES_depth24 extension. This is done to improve content portability between desktop and mobile, since we already do a similar mapping from DEPTH_COMPONENT16 to the unsized DEPTH_COMPONENT on desktop GL. This means that for example WebGL content can end up relying on a higher precision depth buffer even though it only requested DEPTH_COMPONENT16. BUG=285400 TEST=http://www.khronos.org/registry/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html on Nexus 4 Review URL: https://chromiumcodereview.appspot.com/24079010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224117 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Reland r233830. "Adding support for RGBA_4444 tile textures". r223830 ↵kaanb@chromium.org2013-09-191-1/+5
| | | | | | | | | | had a bug in async_pixel_transfer_manager_egl.cc that wasn't directly related to the 4444 support. This patch includes the rest of the files in r223830. Changes to async_pixel_transfer_manager_egl.cc have been moved to the separate patch after fixing the bug: https://codereview.chromium.org/23533067/ BUG=272539 Review URL: https://chromiumcodereview.appspot.com/23447048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224040 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the IsMailboxNameValid check in MailboxManager::ConsumeTexture for ↵jiayl@chromium.org2013-09-191-3/+1
| | | | | | | | | | | | perf. According to piman, the check is unnecessary as the mailbox is already in a map. BUG= Review URL: https://chromiumcodereview.appspot.com/23619079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224017 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Remove DCHECKs in AsyncPixelTransferManagerEGL about egl_image_ not ↵kaanb@chromium.org2013-09-191-3/+8
| | | | | | | | | | being EGL_NO_IMAGE_KHR as with the upcoming 4444 texture support that assumption will no longer hold. BUG=272539 Review URL: https://chromiumcodereview.appspot.com/23533067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224001 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Adding support for RGBA_4444 tile textures"tomhudson@google.com2013-09-182-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8e6d15826280b9f11a28060b5b2d2bbef17d15bc (r223830; http://crrev.com/21159007). Although the 4444 textures work on S4, they break on N7v2 and N10. (We've got inconsistent reports about N4.) Passing --disable-4444-textures isn't sufficient to fix the problems. ilevy@ points out that the commit bot is using GN, so could easily have missed this breakage. We're hoping to switch to N4, but in this case there's no guarantee that that would have caught it either. Perhaps the main patch can be landed in pieces next time? From N7: E/chromium(32513): [ERROR:gles2_cmd_decoder.cc(5770)] [.RenderCompositor-0x783c9880]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete' From N10: I/chromium( 2104): [INFO:CONSOLE(0)] "[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'", source: file:///sdcard/clanktemp/index.html (0) R=skyostil@chromium.org TBR=kaanb@chromium.org BUG=245774,272539 Review URL: https://codereview.chromium.org/24219002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223871 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for RGBA_4444 tile textureskaanb@chromium.org2013-09-182-4/+13
| | | | | | | | BUG=245774,272539 Review URL: https://chromiumcodereview.appspot.com/21159007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223830 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Disable EXT_discard_framebuffer on ARM GPUs and expose it for pre-ES3skyostil@chromium.org2013-09-161-1/+2
| | | | | | | | | | | | | | | | Disable the EXT_discard_framebuffer extension on ARM GPUs (e.g., Nexus 10) as it is causing dropped frames and flickering. This patch also exposes the EXT_discard_framebuffer extension on pre-OpenGL ES 3.0 drivers which support it. Tested on Nexus 10, Nexus 4 and Galaxy S4. BUG=290876 Review URL: https://chromiumcodereview.appspot.com/23629043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223338 0039d316-1c4b-4281-b951-d872f2087c98
* Moved multisample buffer verification to the command bufferbajones@chromium.org2013-09-131-1/+132
| | | | | | | | BUG=290391 Review URL: https://chromiumcodereview.appspot.com/23876018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223154 0039d316-1c4b-4281-b951-d872f2087c98