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
Vladimir Vukicevic
eec75b1143
Nuke some stale/unused files
2010-01-22 18:29:49 -08:00
Vladimir Vukicevic
a3b000cac9
ugh, backout this until I figure out what's wrong with linux
2010-01-22 18:28:19 -08:00
Vladimir Vukicevic
4521fc20e4
bustage fix
2010-01-22 17:56:57 -08:00
Vladimir Vukicevic
553a8c9c5a
b=533663; use js typed arrays in webgl; r=jmuizelaar,mrbkap,brendan
2010-01-22 13:34:25 -08:00
Vladimir Vukicevic
2e0f9d6bd7
b=523959; [webgl] enable WebGL with EGL on Maemo and WinCE; r=stuart
2009-12-06 16:07:58 -08:00
Vladimir Vukicevic
bd9d980243
[webgl] Reland earlier-backed out patches, b=520708, b=520920, b=522201; r=me/mwsteele
2009-11-01 16:33:39 -08:00
Vladimir Vukicevic
bd38bc47ba
Revert previous commits due to weird talos crash.
2009-10-30 01:09:24 -07:00
Vladimir Vukicevic
dd411b7dd9
b=520920, update webgl arrays to support views, part2; r=mark
2009-10-29 23:01:06 -07:00
Mark Steele
a2670491ca
b=520920, update WebGL arrays to support views, r=vlad
2009-10-29 23:01:06 -07:00
Benoit Jacob
4c1b5ed665
b=565404; add WebGLUniformLocation object; r=vlad
2010-06-01 23:09:19 -07:00
Vladimir Vukicevic
0c765f221e
b=520136; clear canvaselement member on SetCanvasElement; r=joe
2010-05-28 16:41:02 -07:00
Vladimir Vukicevic
1a00421b87
b=551771; WebGL calls broken with boolean args in loop (qsgen octet handling); also rename all WebGL types to avoid conflicts with system GL types; r=jorendroff,joe
2010-05-28 15:52:39 -07:00
Mark Steele
f010e409f2
b=517717; fix up webGL array compat (rename WebGL*Array->Canvas); r=vlad
2009-09-20 14:33:40 -07:00
Vladimir Vukicevic
191e11b68b
b=517729; rename more canvas3d prefs to webgl; r=mwsteele
2009-09-20 12:05:23 -07:00
Mark Steele
aa9ed3207a
b=516213; freshen WebGL implementation and enable on trunk (part 1); r=vlad
2009-09-17 23:01:07 -07:00
Mark Steele
0a322165de
b=513156; update Canvas 3D to implement WebGL (still disabled by default via configure); r=vlad
2009-09-02 17:47:49 -07:00