Commit Graph

266 Commits

Author SHA1 Message Date
Benoit Jacob
7e0123bd58 Bug 736481 - 1/7 - simplification in WebGL lost context handling - r=jgilbert, a=blocking-fennec 2012-04-21 16:48:22 -04:00
Benoit Jacob
f47413694c Bug 746296 - Check for antialiasing should be samples>1 not samples>0 - r=jgilbert, a=akeybl 2012-04-19 23:28:01 -04:00
Benoit Jacob
343931424b Bug 713369 - don't try to fall back to another GL provider, *at all* - r=jgilbert 2012-03-26 15:20:35 -04:00
Benoit Jacob
27f43955f9 Bug 728029 - Preserve added JS properties on the JS object returned by webgl.getExtension - r=peterv 2012-03-26 14:59:04 -04:00
Jeff Gilbert
5c20276bf3 Bug 696569 - Allow for non-premultiplied data for canvases - r=bjacob,joedrew 2012-03-23 15:10:50 -07:00
Benoit Jacob
f49757071d Bug 711656 - report force-enabled features in crash reports - r=jrmuizel
Force-enabled features will be reported with a '!' instead of the usual '?' in AppNotes in crash reports.
2012-02-27 16:33:19 -05:00
Jeff Gilbert
3aa8b20cdf Bug 727178 - Revert ANGLE path to using glFinish to resolve - r=bjacob 2012-02-24 15:10:18 -08:00
Florian Boesch
ada0d9ea9e Bug 728354 - Implement WebGL EXT_texture_filter_anisotropic extension *proposal* - r=bjacob
The spec proposal for this extension is at
  https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html

This adds a conformance test as well, that will have to be merged upstream.
2012-02-23 08:43:57 -05:00
Daniel Holbert
2d7133b94c Backout 5311f051974e (Bug 729272) due to webgl test failures 2012-02-22 16:36:43 -08:00
Jeff Gilbert
d4b5a3895f Bug 729272 - Abandon ANGLE during WebGL init if can't provide d3d share handles - r=bjacob 2012-02-22 14:08:24 -08:00
Andrew Quartey
6ba173652f Bug 710594 - Adapt WebGL about:memory reporters to the new memory reporting API. r=njn,bjacob.
--HG--
extra : rebase_source : 49a48f5237e3fb8fe17ceb30e469de253e985028
2012-02-19 19:58:08 -08:00
Jonathan Kew
36e957aa2c bug 726988 - remove stray instances of PR_TRUE in WebGL. r=bjacob 2012-02-14 16:17:19 +00:00
Benoit Jacob
069451351b Bug 707460 - Fix WebGL framebuffer statuses and errors - r=jgilbert 2012-01-24 16:12:31 -05:00
Benoit Jacob
b248d21643 Bug 706674 - WebGLFramebufferAttachment's are not WebGLRectangleObject's - r=jgilbert
The main change is: remove the WebGLRectangleObject inheritance from
WebGLFramebufferAttachment, and instead have WebGLFramebufferAttachment
query its texture or renderbuffer for their dimensions, when needed.

In the course of doing this, a couple other needed changes appeared:
 - let WebGLTexture::ImageInfo inherit WebGLRectangleObject, so that WebGLFramebufferAttachment can return a pointer to it right away in the texture case
 - add a FramebufferRectangleObject() method to WebGLContext, that will return the dimensions of the bound FBO if there is one, otherwise will just return the contexts' own dimensions.
 - in order to do that, it was very convenient to let WebGLContext inherit WebGLRectangleObject so that FramebufferRectangleObject() could just return a pointer to that in the no-bound-FBO case.
 - move WebGLRectangleObject up in the file, above WebGLContext
 - there was a plain bug in WebGLFramebufferAttachment::HasAlpha(), we were not using the right image info within the texture.
2012-01-24 16:12:31 -05:00
Benoit Jacob
4504ca0fe3 Bug 612320 - remove useless viewport changes - r=vlad 2012-01-16 17:07:18 -05:00
Benoit Jacob
aa0124a55d Bug 717584 - FAIL_ON_WARNINGS in content/canvas/src - r=Ms2ger 2012-01-16 17:07:18 -05:00
Benoit Jacob
f1b1eafb82 Bug 713369 - don't try to fall back to another GL provider, if one GL provider gives a WebGL initialization error - r=jgilbert 2012-01-16 17:07:18 -05:00
Doug Sherk
83bf338262 Bug 710163: (part 2) fix EXT_context_loss semantics r=bjacob
Housekeeping stuff; update all WebGL API functions to use !IsContextStable()
instead of mContextLost.
2012-01-04 16:12:05 -05:00
Doug Sherk
f0ca08618c Bug 710163: fix EXT_lose_context semantics r=bjacob
The EXT_lose_context extension spec has had updates from Khronos which break our
current implementation. Primarily, it is mostly asynchronous now with more
heavily defined behavior.

NOTE: This patch will not pass on our current copy of context-lost.html and
context-lost-restored.html see bug for more info.
2012-01-04 16:12:03 -05:00
Jeff Gilbert
572d367333 Bug 701269 - Deguarantee that ResizeOffscreenFBO clears its buffers - r=bjacob 2011-12-19 15:47:54 -08:00
Jeff Walden
279c3635c0 Bug 711799 - Fix a bunch of unused-variable warnings. r=dholbert
--HG--
extra : rebase_source : 91fc77dca316018652d4d99f6d4cc8d0f7195e6e
2011-12-18 01:00:42 -05:00
Jeff Gilbert
57ad493b06 Bug 705024 - Guarantee GLContexts are resolved properly - r=bjacob 2011-12-16 14:24:46 -08:00
Doug Sherk
797ba840ff Bug 708207: implement WebGL's getShaderPrecisionFormat r=bjacob 2011-12-16 13:11:59 -08:00
Doug Sherk
f65dc6e8d7 Bug 707861: implement EXT_robustness for ANGLE r=bjacob a=mbrubeck
Similar to ARB_robustness, uses our current robustness framework. There are some
problems preventing this from being completely usable, but we can't do anything
about them yet. See the bug for more info.
2011-12-14 16:57:09 -08:00
Benoit Jacob
a959069916 Bug 707033 - Kill the hashtables of WebGLUniformLocation's held by WebGLProgram's - r=jgilbert
Currently, WebGLProgram holds a hashtable of refptrs to all WebGLUniformLocation's created from it.

It's used for one thing: to ensure that multiple getUniformLocation() calls on same uniform return the same WebGLUniformLocation object.

However, in a discussion on the public_webgl mailing list this week, we agreed that this was not mandated by the spec and that on the contrary, to ensure consistent behavior across browsers, we're going to require that NOT to happen. So this becomes a conformance issue.

Removing this hashtable also simplifies code and ownership patterns.
2011-12-04 14:15:43 -05:00
Benoit Jacob
dc5723fe15 Bug 705904 - [6/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLFramebuffer.
2011-12-04 14:15:43 -05:00
Benoit Jacob
f99eb362c0 Bug 705904 - [5/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLRenderbuffer.
2011-12-04 14:15:43 -05:00
Benoit Jacob
cc4ac52540 Bug 705904 - [4/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLShader.
2011-12-04 14:15:43 -05:00
Benoit Jacob
60f1ae571c Bug 705904 - [3/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLProgram.
2011-12-04 14:15:43 -05:00
Benoit Jacob
f86dc75f37 Bug 705904 - [2/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLBuffer.
2011-12-04 14:15:43 -05:00
Benoit Jacob
d295edc325 Bug 705904 - [1/6] - Kill nsRefPtrHashtables of WebGL objects, allow unreferenced objects to be freed, fix about:memory reporting of deleted objects - r=jgilbert
This patch takes care of WebGLTexture, and introduces the WebGLFastArray helper (see comment).
2011-12-04 14:15:43 -05:00
Benoit Jacob
cbefb6a7a2 Bug 704839 - [4/9] - Refactor mutual ownership of WebGL objects - r=jgilbert
This patch switches to the new mutual ownership pattern for WebGL objects, based on maintaining a second WebGL-specific refcount mirroring the OpenGL refcount which we can't access, using the helper classes that were introduced in patches 1 and 2.
2011-12-04 14:15:42 -05:00
Benoit Jacob
b39d1c2e9f Bug 705668 - Remove IIDs on WebGL implementation classes - r=ehsan
These IIDs were used in the past to check, using do_QueryInterface, that the objects passed to WebGL functions were really of the expected type. Now that WebGL classes are marked 'builtinclass' in the IDL and that check has been removed (see bug 638328), none of that is needed anymore.
2011-12-04 14:15:42 -05:00
Doug Sherk
6b8258d114 Bug 660070: catch EGL_CONTEXT_LOST and send WebGL an event for it r=bjacob
Catches the EGL_CONTEXT_LOST error which occurs after driver resets, and sends a
WebGL context the canvas event webglcontextlost when this occurs.
2011-12-02 23:52:35 -08:00
Michael Wu
8ded2a05cd Bug 703307 - Fix build/crash in gonk, r=cjones 2011-11-22 11:51:51 -08:00
Doug Sherk
e6a246b74c Bug 656824: changed WebGL robustness timer to not get reset after each draw operation r=bjacob
This patch should improve performance of the robustness timer by not resetting
it each time a draw operation happens. It still checks if there's any activity
and, if not, it will stop firing it. It includes a single extra timer firing
after activity dies to make sure we don't miss anything. Also includes a fix for
robustness being marked as existing when it really isn't.
2011-11-18 22:57:29 -05:00
Benoit Jacob
2e4e1bd781 Bug 699516 - Rename WEBKIT_lose_context to WEBGL_EXT_lose_context - r=dsherk
See today's discussion on public_webgl list. WEBGL_EXT_lose_context will be officially created in a few days.
2011-11-03 20:29:57 -04:00
Benoit Jacob
1ac69bdbd8 Bug 699522 - WebGL lose_context extension was not listed by webgl.getSupportedExtensions() - r=dsherk 2011-11-03 15:52:52 -04:00
Doug Sherk
b0cc51bfe5 Bug 695912: allow forcing MSAA on r=jgilbert
Allows forcing MSAA on even if we determine through the blocklist that the user
probably shouldn't be running it.
2011-11-03 10:50:40 -04:00
Doug Sherk
332f23c4b9 Bug 695912: implemented antialiasing blocklisting r=jgilbert
Antialiasing can be blocked through the downloaded blocklist now, as well as
static analysis compiled into the OS-specific handlers for graphics features.
2011-11-03 10:50:40 -04:00
Benoit Jacob
688f2ae9c1 Bug 677543 - Not clearing WebGL framebuffer in teapot demo - r=jgilbert
We are supposed to clear the WebGL framebuffer after it's been presented to the compositor and before the next draw operation, and were using the wrong way to know when we got composited. The right way is DidTransactionCallback.
2011-10-31 17:14:12 -04:00
Doug Sherk
63e6006511 Bug 656824: Implemented ARB_robustness to detect driver resets in WebGL, only on GLX for now - r=bjacob
This patch implements ARB_robustness on GLX and allows scripts to handle driver resets
through events. The changes in this patch are very sweeping; they hit almost
every NS_IMETHODIMP function within WebGLContextGL.cpp and WebGLContext.cpp.
More work must be done on this to support EGL_CONTEXT_LOST.
2011-10-26 16:00:44 -04:00
Jeff Gilbert
d8f97c2d0d Bug 615976 - Adds support for samples in ContextFormat, pref 'webgl.max-samples' - r=bjacob 2011-10-19 15:09:57 -04:00
Jeff Gilbert
ac985089ee Bug 681791 - Fixes GLContext::ResizeOffscreen leaving a mess on failure - r=bjacob 2011-10-19 15:09:57 -04:00
Benoit Jacob
4bbab81c93 Back out Jeff's patches because they lack a Bug number and/or a r= field. Sorry, should have checked that. Re-landing. 2011-10-19 15:31:33 -04:00
Jeff Gilbert
cc847aa544 Adds support for samples in ContextFormat, pref 'webgl.max-samples' 2011-10-19 15:09:57 -04:00
Jeff Gilbert
d3ef700073 Bug 681791 - Fixes GLContext::ResizeOffscreen leaving a mess on failure
* * *
try: -b do -p all -u all -t all
2011-10-19 15:09:57 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Christoph Diehl
3fcd8718cf Bug 686732 - Implement minimal-capabilities WebGL mode - r=bjacob 2011-10-13 08:09:22 -04:00
Doug Sherk
5b5702d6a4 Bug 684853: implement OES_standard_derivatives
Implemented OES_standard_derivatives and fallbacks if it isn't available. Exposes dFdx, dFdy, and fwidth functions to WebGL scripts.
2011-10-01 00:45:50 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Jeff Muizelaar
6f22e3e5d3 Bug 684859. Add telemetry to track when 2d or webgl canvas is used. r=bas
--HG--
extra : transplant_source : %FB5%40%FA%3A%2Cg%AF%14W%D3%E8%D1y%03%25%D1%E9%22%AB
2011-09-19 16:08:56 -04:00
Benoit Jacob
4e7482058c Bug 658856 - implement drawingbufferWidth/Height - r=jmuizelaar
These are new WebGLRenderingContext attributes exposing the actual drawing buffer size
2011-09-01 15:28:34 -04:00
Benoit Jacob
b097dfda2f Bug 669013 - Despite supporting OES_texture_float, getSupportedExtensions still returns no extensions - r=joe 2011-08-15 15:53:02 -04:00
Benoit Jacob
d2d4229f08 Bug 674074 - about:memory blank in presence of WebGL contexts - r=njn
This fixes the names of WebGL KIND_HEAP reporters. Newly enforced rules about the naming of KIND_HEAP reporters were making about:memory fail to work in presence of WebGL reporters.
2011-07-27 14:46:15 -04:00
Benoit Jacob
b9a7e5c7a7 Bug 665070 - part 4: rename mSynthesizedGLError to mWebGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
841401e430 Bug 638549 - WebGL about:memory - part 5: add accounting for WebGLShaders - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
96182b8481 Bug 638549 - WebGL about:memory - part 4: add accounting for WebGLBuffer caches - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
be0be579a8 Bug 638549 - WebGL about:memory - part 3: add accounting for WebGLRenderbuffers - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
a5bcb15e9c Bug 638549 - WebGL about:memory - part 2: add accounting for WebGLBuffers - r=jrmuizel 2011-07-07 20:01:15 -04:00
Benoit Jacob
2dbf369778 Bug 638549 - WebGL about:memory - part 1: initial implementation accounting for WebGLContexts and WebGLTextures - r=jrmuizel 2011-07-07 20:01:12 -04:00
Masayuki Nakano
baf54af560 Bug 663039 content should use mozilla::Preferences r=roc+jwatt+chris.double+bjacob 2011-07-07 11:00:02 +09:00
Benoit Jacob
47b4b6b59e Bug 664066 - Initialize GL values - r=karlt
This patch initializes by zero the GL max values before we query them, just in case a buggy OpenGL implementation's glGetIntegerv function would fail to set them.

This patch also manually sets the initial values of mPixelStorePackAlignment and mPixelStoreUnpackAlignment as per the spec, rather than querying them from the GL.
2011-06-27 13:27:04 -04:00
Benoit Jacob
46f5712e1f Bug 659842 - about:support was creating a WebGL context even if webgl.disabled=true - r=karlt
This patch removes SafeToCreateCanvas3DContext, and checks webgl.disabled in WebGLContext::SetDimensions.
2011-06-10 15:02:06 -04:00
Ed Morley
9e71e5b9ac Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Benoit Jacob
3b22833d8a Bug 636942 - stencil separate param validation must now occur on draw calls - r=jrmuizel
We were validating these params when they're set, and that was non-conformant behavior.
2011-05-20 15:53:53 -04:00
Benoit Jacob
c8c2f484a2 Bug 636913 - implement the WebGL backbuffer clear semantics - r=joedrew
This implements the WebGL backbuffer clearing behavior when preserveDrawingBuffer=false
2011-05-20 15:53:53 -04:00
Benoit Jacob
58ec34d2c2 Bug 636913 - implement ForceClearFramebufferWithDefaultValues from the existing renderbuffer init code - r=joedrew
This is just moving code around, in preparation for implementing the WebGL buffer clear semantics in the next part.
2011-05-20 15:53:53 -04:00
Benoit Jacob
ee5166d905 Bug 636913 - state tracking needed for WebGL clear semantics - r=joedrew
We needed to remember more values instead of just passing them to the GL.
2011-05-20 15:53:53 -04:00
Benoit Jacob
841076288a Bug 636913 - fix context options - r=joedrew
The WebGL context options were out of date.
2011-05-20 15:53:53 -04:00
Benoit Jacob
779f99fd6c Bug 630672 - fixes for WebGL OES_texture_float extension - r=joedrew
This fixes a few issues in Vlad's patch: pass test, break reference cycle, fix leak
2011-05-20 15:53:53 -04:00
Vladimir Vukicevic
4b2230fe03 Bug 630672 - implement WebGL OES_texture_float extension - r=bjacob
This implements floating-point textures in WebGL
2011-05-20 15:53:53 -04:00
Benjamin Peterson
00688a9856 Bug 421865 - Handle zero dimensions correctly in canvas GetWidthHeight(). r=joe sr=roc 2011-05-19 12:49:18 +02:00
Benoit Jacob
1f4e4cc378 Bug 653419 - check for null gl ptr in SetDimensions NOP path - r=joedrew
WebGLContext::SetDimensions has an early success exit path when the dimensions are unchanged. However it wasn't checking that the gl pointer was non-null. Thus, after a failed WebGL context creation, such a SetDimensions call could incorrectly "succeed", only to crash when dereferencing the gl pointer.
2011-05-06 14:44:26 -04:00
Benoit Jacob
d715011bf4 Bug 653419 - correctly mark WebGL context creation as successful - r=joedrew
WebGLContext::SetDimensions has early return paths in cases where the WebGL context does not need to get recreated. A bug made that be recorded as WebGL creation failures, giving "WebGL-" in crash reports. This patch fixes that.
2011-05-06 14:44:25 -04:00
Peter Van der Beken
afdf1551f1 Fix for bug 584048 (Clean up cycle collection code) - remove NS_IMPL_CYCLE_COLLECTING_ADDREF_AMBIGUOUS/NS_IMPL_CYCLE_COLLECTING_RELEASE_AMBIGUOUS. r=bent. 2011-03-06 12:11:31 +01:00
Robert O'Callahan
c6e4498a20 Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Robert O'Callahan
e865324942 Bug 622072. Part 1: Remove rect parameter from Updated() and change implementations to defer updates to render time. r=bas
The rectangle parameter is currently not used --- all callers always pass the full canvas bounds. In the long term,
we probably won't want this parameter since all implementations should be doing accelerated drawing direct to buffers
with no intermediate copies, hence there will be no need to optimize the size of those copies. Plus, performance-sensitive
testcases tend to paint most or all of the canvas on every frame anyway.
2011-03-28 12:59:46 +13:00
Ehsan Akhgari
931bd6ee19 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan
4ca813ae6e Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Robert O'Callahan
6536947736 Bug 622072. Part 1: Remove rect parameter from Updated() and change implementations to defer updates to render time. r=bas
The rectangle parameter is currently not used --- all callers always pass the full canvas bounds. In the long term,
we probably won't want this parameter since all implementations should be doing accelerated drawing direct to buffers
with no intermediate copies, hence there will be no need to optimize the size of those copies. Plus, performance-sensitive
testcases tend to paint most or all of the canvas on every frame anyway.
2011-03-28 12:59:46 +13:00
Benjamin Smedberg
47387e2693 Bug 617539 - Merge nsIDOMWebGLRenderingContext_MOZILLA_2_0_BRANCH, r=jrmuizel 2011-03-25 11:03:35 -04:00
Benoit Jacob
7f1f831a27 Bug 627464 - Annotate crash reports if the forced-enabled prefs are set - r=jrmuizel, a=joe 2011-03-02 15:50:36 -05:00
Benoit Jacob
5e3a96aa87 Bug 632587 - 3/3 - add isContextLost - r=jrmuizel, a=joe 2011-03-01 17:25:22 -05:00
Benoit Jacob
7d7c017074 Bug 632587 - 2/3 - add isContextLost - r=jrmuizel, a=blocking2.0 2011-03-01 17:25:22 -05:00
Vladimir Vukicevic
a4aac0595c Bug 632587 - 1/3 - implement getSupportedExtensions - r=bjacob, a=blocking2.0 2011-03-01 17:25:22 -05:00
Benoit Jacob
c39751ce2b Bug 636906 - GFX blacklisting not affecting WebGL; r=joe a=hardblocker 2011-02-28 15:14:33 -08:00
Benoit Jacob
d6905754de Bug 631420 - OS X WebGL crash with too-small attrib 0 + optimizations - r=vlad, a=blocking2.0 2011-02-24 17:17:34 -05:00
Alon Zakai
eb6d3ef5f2 Bug 610727 - Mark canvas layers inactive when relevant. r=roc a=blocking-fennec 2011-02-04 10:11:24 -08:00
Vladimir Vukicevic
d3ceab719a b=625353; webgl canvas "show image" upside down; r=bjacob, a=b 2011-01-31 13:11:04 -08:00
Benoit Jacob
b5bb1fe80d Bug 628403 - rename webgl.prefer_gl to webgl.prefer-native-gl - r=vlad, a=joe 2011-01-28 21:12:25 -05:00
Benoit Jacob
950ed5f435 Bug 628403 - introduce webgl.force-enabled and webgl.disabled prefs - r=vlad, a=joe 2011-01-28 21:12:24 -05:00
Benoit Jacob
d7b1e86c41 Bug 625118 - block WebGL on OpenGL on intel cards on windows - r=vlad, a=joe 2011-01-25 22:21:45 -05:00
Vladimir Vukicevic
dd83d0dfa6 b=619485; add WebGL info to about:support; r=jrmuizel,a=beltzner 2010-12-16 12:49:54 -08:00
Vladimir Vukicevic
133b07466e b=615994; fix WebGL context DOM ClassInfo to avoid assertion; r=bz, a=b 2010-12-13 14:09:19 -08:00
Benoit Jacob
2689520e00 Bug 616608 - Pass the rest of webgl-specific.html test (sections 6.4, 6.5, 6.7 of the spec) - part 3/3: formally support COLORSPACE_CONVERSION (just accessors) - r=vlad 2010-12-06 06:34:35 -05:00
Vladimir Vukicevic
8db3cedac7 b=603367; use ANGLE for WebGL on Win32; r=bjacob 2010-12-03 14:44:01 -08:00
Vladimir Vukicevic
e8053d8870 b=612334; fix webgl context type; r=bz
--HG--
rename : dom/interfaces/canvas/nsICanvasRenderingContextWebGL.idl => dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl
2010-11-16 20:33:04 -08:00
Vladimir Vukicevic
ad2ff3f1b8 b=528042; add missing toDataURL support for webgl canvases; r=bjacob 2010-11-16 20:33:03 -08:00
Vladimir Vukicevic
36f8014890 b=539771; Add support for context attribs to canvas; r=jmuizelaar 2010-11-16 20:33:03 -08:00
Benoit Jacob
d432550e48 Bug 604395 - try OSMesa as last resort - r=vladimir 2010-11-05 15:57:58 -04:00
Benoit Jacob
7e7409bac3 Bug 606276 - More WebGL message fixes - r=vladimir 2010-11-05 15:57:58 -04:00
Vladimir Vukicevic
5f1547b612 b=528746; 2dcontext.drawImage paints webgl canvas upside down; r=jrmuizel 2010-10-09 12:44:24 -07:00
Vladimir Vukicevic
5585ebca9f b=582053; integrate webgl confromance suite as mochitest, angle followup; r=bjacob 2010-09-13 08:53:52 -07:00
Benoit Jacob
764d885972 Bug 600620 - 1/2 - Expose feature status block reason so that it can be used by about:support - r=vladimir, a=blocking2.0-b7 2010-10-06 21:40:08 -07:00
Benoit Jacob
20a45b4898 Backed out changeset 638ce363a9b1 2010-10-06 17:05:19 -04:00
Benoit Jacob
b5bc302c89 Bug 600620 - 1/2 - Expose feature status block reason so that it can be used by about:support - r=vladimir, a=blocking2.0-b7 2010-10-06 16:43:25 -04:00
Benoit Jacob
0edb206ab4 Bug 585832 - Graphics feature tests are too strict - r+a=joe 2010-09-20 13:20:45 -04:00
Benoit Jacob
579e06ee36 Bug 594874 - GfxInfo blocklist needs to be used by D3D, WebGL, OpenGL - 3/3 - r=vladimir, a=blocking2.0 2010-09-16 12:45:23 -04:00
Vladimir Vukicevic
c5d2c16c6c b=593720; make webgl less verbose; r=bjacob 2010-09-13 08:40:01 -07:00
Robert O'Callahan
0356f8659e Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad 2010-09-02 21:18:40 +12:00
Robert O'Callahan
a150e0aa96 Bug 579276. Part 1: Change layer/layermanager user data API to use keys and values. r=cjones,sr=vlad 2010-09-02 21:18:39 +12:00
Benoit Jacob
64bf8cac02 Bug 571054 - emulate vertex attrib 0 on desktop GL - r=vladimir 2010-09-02 10:34:08 -04:00
Benoit Jacob
9452348114 Bug 586811 - Handle incomplete and NPOT textures - r=vladimir a=blocking2.0 2010-08-23 17:03:53 -04:00
Benoit Jacob
8277999173 Bug 585199 - Implement WebGLActiveInfo, remove NativeJSContext, adapt WebGL code to that - r=vladimir a=blocking2.0 2010-08-23 17:03:49 -04:00
Benoit Jacob
66c3eb510a Bug 582053 - Integrate WebGL conformance suite as a mochitest - r=ctalbert,vladimir a=blocking2.0
--HG--
rename : content/canvas/test/webgl/test_list.txt => content/canvas/test/webgl/00_testFIXME_list.txt
rename : content/canvas/test/webgl/conformance/00_test_list.txt => content/canvas/test/webgl/conformance/00_testFIXME_list.txt
rename : content/canvas/test/webgl/more/00_test_list.txt => content/canvas/test/webgl/more/00_testFIXME_list.txt
2010-08-25 08:14:12 -04:00
Vladimir Vukicevic
8531116032 b=589011; always check if webgl shader validator is enabled; r=joe, a=blocking 2010-08-19 19:50:38 -07:00
Markus Stange
438fa8a236 Bug 506826 - Invalidate -moz-element rendering observers when necessary. r=roc 2010-08-13 15:36:13 +02:00
Vladimir Vukicevic
50178dcff6 b=585502; WebGL shader validation crash; r=bjacob 2010-08-09 23:51:56 -07:00
Vladimir Vukicevic
c44e0d0074 b=583838; add ANGLE/D3D WebGL support - part 2 - build EGL on windows and try to use it; r=bjacob 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
009c726767 b=582407; generate new layer if webgl context is resized; r=bjacob 2010-07-28 14:24:09 -07:00
Vladimir Vukicevic
74195c1120 b=580345; fix up some GLESv2 vs. desktop GL differences; r=joe 2010-07-28 14:24:09 -07:00
Vladimir Vukicevic
bac000af87 b=580737; use correct webgl initial clear depth; r=bjacob 2010-07-21 12:34:26 -07:00
Vladimir Vukicevic
e25c12a8ab b=571831; use the new CreateOffscreen API in WebGL; r=bjacob 2010-07-18 22:01:14 -07:00
Vladimir Vukicevic
e5aa4fb514 b=575469; implement CreateOffscreen and context sharing in GLContexts; r=bas 2010-07-18 22:01:14 -07:00
Vladimir Vukicevic
dbd5cb620b b=575032; make GL Context providers static, allow for multiple providers; r=bas 2010-07-18 22:01:14 -07:00
Robert O'Callahan
a7c0fe60ac Bug 564991. Part 2: Create retained layer API: methods on FrameLayerBuilder that frames can use to access, reuse and invalidate retained layers. r=mats,sr=vlad 2010-07-16 09:07:46 +12:00
Vladimir Vukicevic
79bbb0f9ca b=571172; import and use ANGLE GLSL ES shader validator (disabled by default for now); r=joe 2010-07-14 20:52:34 -07:00
Benoit Jacob
75dbbc1f1f b=576067; Let WebGL use CheckedInt; r=vladimir 2010-07-03 18:32:19 -04:00
Markus Stange
deaa46fc54 Bug 572680 - Shuffle some gfx dependencies around. r=joe
--HG--
extra : rebase_source : 982a57f4466a69e6e6a2053794b6b09c2b470b12
2010-07-01 18:43:33 +02:00
Jason Duell
d194b9d486 Merge from m-c.
Fair amount of merge conflicts.

Biggest item was changes to nsHttpChannel from web sockets changes.

Other likely suspects if things are borken:

nsFrameLoader.cpp:
    - nsFrameLoader::EnsureMessageManager: pass "this" (orig e10s code) or
      nsnull (m-c) to local process call to new nsFrameMessageManager(),
      callback arg?  Smaug said null.
    - only calling SetCallBackData for local case.  also +r smaug.

nsPrefBranch.cpp had fairly extensive merge conflicts.

nsChromeRegistry had lots of changes.

Dougt did most of the non-necko changes (thanks).

--HG--
rename : netwerk/protocol/http/nsHttpChannel.cpp => netwerk/protocol/http/nsHttpChannelAuthProvider.cpp
rename : netwerk/protocol/http/nsHttpChannel.h => netwerk/protocol/http/nsHttpChannelAuthProvider.h
2010-06-22 17:33:57 -07:00
Doug Turner
ded51c1c5f Merging with M-C.
Hand merged the following files:

U chrome/src/nsChromeRegistry.cpp
U chrome/src/nsChromeRegistry.h
U content/base/src/nsFrameLoader.cpp
U content/base/src/nsFrameLoader.h
U dom/src/geolocation/nsGeolocation.cpp
U dom/src/geolocation/nsGeolocation.h
U netwerk/build/Makefile.in
U netwerk/cookie/nsCookieService.cpp
U netwerk/cookie/nsCookieService.h

--HG--
rename : extensions/cookie/test/unit/test_cookies.js => extensions/cookie/test/unit/test_cookies_thirdparty.js
rename : netwerk/cookie/src/nsCookieService.cpp => netwerk/cookie/nsCookieService.cpp
rename : netwerk/cookie/src/nsCookieService.h => netwerk/cookie/nsCookieService.h
rename : netwerk/dns/src/nsIDNKitInterface.h => netwerk/dns/nsIDNKitInterface.h
rename : netwerk/protocol/http/src/nsHttp.h => netwerk/protocol/http/nsHttp.h
rename : netwerk/protocol/http/src/nsHttpChannel.cpp => netwerk/protocol/http/nsHttpChannel.cpp
rename : netwerk/protocol/http/src/nsHttpChannel.h => netwerk/protocol/http/nsHttpChannel.h
rename : netwerk/protocol/http/src/nsHttpChunkedDecoder.h => netwerk/protocol/http/nsHttpChunkedDecoder.h
rename : netwerk/protocol/http/src/nsHttpHandler.cpp => netwerk/protocol/http/nsHttpHandler.cpp
rename : netwerk/protocol/http/src/nsHttpHeaderArray.h => netwerk/protocol/http/nsHttpHeaderArray.h
rename : netwerk/protocol/http/src/nsHttpRequestHead.h => netwerk/protocol/http/nsHttpRequestHead.h
rename : netwerk/protocol/http/src/nsHttpResponseHead.h => netwerk/protocol/http/nsHttpResponseHead.h
rename : netwerk/protocol/http/src/nsHttpTransaction.cpp => netwerk/protocol/http/nsHttpTransaction.cpp
rename : netwerk/protocol/res/src/nsResProtocolHandler.cpp => netwerk/protocol/res/nsResProtocolHandler.cpp
rename : netwerk/protocol/res/src/nsResProtocolHandler.h => netwerk/protocol/res/nsResProtocolHandler.h
2010-06-07 13:38:02 -07:00
Olli Pettay
58b4f71840 m-c to e10 merge 2010-05-24 17:45:59 +03:00
Vladimir Vukicevic
3d7e2b9c24 b=566129; synthesize GL errors instead of throwing exceptions in webgl; based on patch from Cedric Vivier <cedricv@neonux.com>; r=cedricv/vlad 2010-05-15 21:55:45 +08:00
Benoit Jacob
7dfee0fad7 b=565417; add OSMesa GLContextProvider (pbuffers only); r=vlad 2010-05-19 13:46:08 -07:00
Mark Steele
738beb395a b=525540; crash at WebGLObjectRefPtr::Zero; r=vlad 2010-05-19 13:46:08 -07:00
Vladimir Vukicevic
91ce5fd2e9 b=569985; don't allow webgl objects from other contexts to be used; r=bjacob 2010-06-04 12:03:37 -07:00
Vladimir Vukicevic
a1121cc3a2 b=561168; convert canvas to use layers for rendering - followup; r=roc 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
b99bb96c47 b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
Oleg Romashin
8de514e284 Merged with mozilla-central 2010-04-07 06:59:04 -04:00
Vladimir Vukicevic
58b27f08d0 b=571287; let canvas participate in cycle collection; r=bz 2010-06-15 14:38:05 -07:00
Benoit Jacob
db543d277d b=571027; implement new PixelStorei parameters for textures; r=vladimir 2010-06-15 11:59:39 -04:00
Benoit Jacob
0ff97eaf80 b=569236; better WebGL messages; r=vladimir 2010-06-14 14:44:12 -04:00
Peter Van der Beken
8e3acb1006 Fix for bug 533637 (Speed up unwrapping a node in quickstubs that use nsINode (dromaeo)). Pair every DOMCI to a specific C++ class. r=jst.
--HG--
extra : rebase_source : 9a7823b365cfca04bb08c5be94eab29d218f1e61
2010-01-12 14:08:43 +01:00
Joe Drew
d4c42c1218 Bug 524180 - Implement async drawWindow/Element() using shared memory. r=cjones 2010-03-24 03:47:18 -07:00
Peter Van der Beken
e5d87ec5bb Fix for bug 552716 (Remove NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO). r=jst.
--HG--
extra : rebase_source : 8e03b54ff6117dcac27188b296c59dcafbb6db78
2010-03-17 16:09:05 +01:00
Vladimir Vukicevic
77abe946b5 b=570660; add ability to resize pbuffer GL contexts; r=joe 2010-06-09 15:07:12 -07:00
Benoit Jacob
f831941708 b=569731; Implement canvas attribute in WebGLContext; r=vladimir 2010-06-08 10:34:56 -04:00
Vladimir Vukicevic
9f83ebcfb7 Nuke some stale/unused files
* * *
attempt to fix x86-64 burning
2010-01-22 18:29:49 -08:00
Robert O'Callahan
5ef23a16ea Backed out changeset b35354fe21e3 2010-03-04 14:38:00 +13:00