Commit Graph

353 Commits

Author SHA1 Message Date
Boris Zbarsky
cd4e9e4533 Bug 798187 part 2. Switch WebGLContextAttributes to being a dictionary. r=peterv,bjacob 2012-10-22 13:08:52 -04:00
Benoit Jacob
92800ce87b Bug 742781 - Implement WEBGL_debug_renderer_info extension - r=bz,jgilbert 2012-10-17 15:11:51 -04:00
Benoit Jacob
872a96db36 Bug 779611 - part 10: move remaining non-WebGLContext goop to separate files - r=jgilbert 2012-10-09 14:39:51 -04:00
Benoit Jacob
646cd8342f Bug 779611 - part 9: port WebGLActiveInfo to WebIDL bindings - r=bz 2012-10-09 14:39:49 -04:00
Benoit Jacob
6ee7b9f2c3 Bug 779611 - reland parts 5-8 - port WebGLTexture, WebGLBuffer, WebGLFramebuffer, WebGLRenderbuffer, WebGLShader, WebGLProgram to WebIDL bindings - r=bz 2012-10-04 16:35:54 -04:00
Benoit Jacob
631713204c back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error 2012-10-04 15:06:31 -04:00
Benoit Jacob
47ecb7bdce Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz 2012-10-04 14:45:35 -04:00
Benoit Jacob
11b1af470b Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz 2012-10-04 14:45:33 -04:00
Benoit Jacob
e3e1db192c Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz 2012-10-04 14:45:32 -04:00
Benoit Jacob
e406e56db1 Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz 2012-10-04 14:45:25 -04:00
Benoit Jacob
89d50dcdb1 Bug 779611 - part 4 - More WebGL extensions cleanup - r-jgilbert 2012-10-03 17:13:05 -04:00
Benoit Jacob
5d519163f1 Bug 779611 - part 3 - port WebGL extensions to WebIDL bindings, refactor them - r=bz,jgilbert 2012-10-03 17:13:05 -04:00
Benoit Jacob
08fc05d7cf Bug 779611 - part 2 - drop old bindings for WebGLUniformLocation - r=bz 2012-10-03 17:13:05 -04:00
Benoit Jacob
545b47b406 Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz 2012-10-03 17:13:05 -04:00
Benoit Jacob
26ad5de498 Bug 791905 - reject WebGL canvas sizes greater than INT_MAX - r=jgilbert 2012-09-27 10:13:45 -04:00
Benoit Jacob
eb01982a02 Bug 791521 - return early on resizing WebGLContext where the canvas is null - r=jgilbert 2012-09-27 10:13:44 -04:00
Benoit Jacob
74e4b9ffe8 Bug 790946 - remove last remnant of MOZ_ prefix: we were still advertising MOZ_EXT_texture_filter_anisotropic even though we don't support the prefixed name anymore - no review, trivial omission 2012-09-26 14:52:38 -04:00
Benoit Jacob
e87660d62e Bug 750862 - Implement WEBGL_compressed_texture_pvrtc - r=jgilbert 2012-09-25 08:49:28 -04:00
Benoit Jacob
8a05af4222 Bug 790712 - Implement WEBGL_compressed_texture_atc - r=jgilbert 2012-09-25 08:49:28 -04:00
Benoit Jacob
03d1746439 Bug 790946 - Remove support for the MOZ_ prefixed EXT_texture_filter_anisotropic ext name - r=jgilbert 2012-09-21 16:02:37 -04:00
Benoit Jacob
dd0684008c Bug 790138 - raise WebGL context limits on desktop - r=jgilbert 2012-09-21 13:44:35 -04:00
Ms2ger
33b350e909 Bug 776243 - Unpref WebGL context bindings; r=peterv 2012-09-20 09:55:36 +02:00
Boris Zbarsky
2268aac36b Bug 787554. Don't prefix WebIDL getters names with a Get if they look like simple member access on the C++ side. r=peterv 2012-09-11 20:08:24 +01:00
Andrew Quartey
7bb6709ba5 Bug 743755 - Remove OSMesa support r=bjacob 2012-09-07 18:35:22 -04:00
Ehsan Akhgari
8c296bbcd4 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Jeff Gilbert
c8c8475e5c Bug 782785 - Use temp surfaces to ReadPixels with correct stride - r=bjacob 2012-08-21 16:13:26 -07:00
David Zbarsky
b27894f902 Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical 2012-08-21 00:06:46 -04:00
Ehsan Akhgari
b457a9ddf0 Merge removal of nsnull 2012-08-14 11:29:00 -04:00
Aryeh Gregor
e2dd9c2028 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
Alexander Boldyrev
f61c980db5 Bug 738866 - Implement WEBGL_depth_texture extension - r=jgilbert 2012-08-13 18:17:55 -07:00
Aryeh Gregor
982100775b Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Benoit Jacob
055434264a Bug 617453 - lose the least-recently-used WebGL context when a certain limit is exceeded - r=vladv
The current limits are:

#ifdef MOZ_GFX_OPTIMIZE_MOBILE
    // some mobile devices can't have more than 8 GL contexts overall
    const size_t kMaxWebGLContextsPerPrincipal = 2;
    const size_t kMaxWebGLContexts             = 4;
#else
    const size_t kMaxWebGLContextsPerPrincipal = 8;
    const size_t kMaxWebGLContexts             = 16;
#endif
2012-08-02 17:28:02 -04:00
Ryan VanderMeulen
263263202d Bustage fix for bug 779535 follow-up. 2012-08-01 18:40:24 -04:00
Oleg Romashin
aee12c8242 Bug 779535 - readability followup. r=jgilbert 2012-08-01 15:13:49 -07:00
Oleg Romashin
7a20b9b98b Bug 779535 - defaultNoAlpha preference is not used in case if nsIPropertyBag argument is 0. r=vlad 2012-08-01 11:58:44 -07:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Benoit Jacob
7b994b10fc Bug 771408 - Warn on WebGL drawing without attrib 0 array enabled - r=jgilbert 2012-07-25 12:13:45 -04:00
Benoit Jacob
b6e6cd12dd Bug 776001 - WebGL: support EXT_texture_filter_anisotropic without prefix; warn on using the MOZ_ prefix - r=jgilbert 2012-07-25 12:13:44 -04:00
Vladimir Vukicevic
07de49632f b=767064; use 4444/565 GL context format for WebGL on mobile; r=jgilbert,r=bjacob 2012-07-06 09:19:27 -04:00
Ryan VanderMeulen
b8ccede77d Backout a516a86f854d (bug 767064) due to Android M1 orange. 2012-07-09 21:49:50 -04:00
Vladimir Vukicevic
487b9b6ef2 b=767064; use 4444/565 GL context format for WebGL on mobile; r=jgilbert 2012-07-06 09:19:27 -04:00
Vladimir Vukicevic
510f79a933 backout bug 767064, 1f9c66d66df4 2012-07-06 11:08:21 -04:00
Vladimir Vukicevic
7ca7353251 b=767064; use 4444/565 GL context format for WebGL on mobile; r=jgilbert 2012-07-06 09:19:27 -04:00
David Zbarsky
cd3c58ee76 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Peter Van der Beken
eeca8d5fd4 Fix for bug 762651 (Add wrappercache to CanvasRenderingContext2D). r=bz. 2012-06-04 21:41:51 +02:00
Benoit Jacob
c52c12fbb8 Bug 765137 - 3/3 - WebGL: more cleanup and renaming around extensions - r=jgilbert 2012-06-16 01:12:30 -04:00
Benoit Jacob
ca958a1d97 Bug 765137 - 2/3 - WebGL: clean up IsExtensionSupported - r=jgilbert 2012-06-16 01:12:08 -04:00
Benoit Jacob
e772dccbe8 Bug 765137 - 1/3 - WebGL: use case-insensitive comparisons rather than lower-case versions of extension strings - r=jgilbert 2012-06-16 01:11:50 -04:00
Boris Zbarsky
44edd4a058 Bug 750297 part 2. Switch WebGLUniformLocation to Paris bindings. r=peterv, bjacob 2012-06-15 16:25:51 -04:00
Benoit Jacob
a4f9ebbddf Bug 763559 - Enable WEBGL_compressed_texture_s3tc with ANGLE - r=jgilbert 2012-06-14 23:16:21 -04:00
John Drinkwater
1aa688bab1 Bug 758844 - Disable debug output unless MOZ_GL_DEBUG is defined. r=jgilbert 2012-06-11 08:25:06 -07:00
Ms2ger
ffbf1dffd2 Bug 759726 - Move mCanvasElement to nsICanvasRenderingContextInternal and make SetCanvasElement return void; f=bz r=bjacob 2012-06-06 09:42:47 +02:00
Ms2ger
f696a656cc Bug 760156 - Cleanup LOCAL_INCLUDES in content/media/; r=sicking
This patch makes it possible to include nsGenericHTMLElement.h without adding
to LOCAL_INCLUDES.
2012-06-06 09:40:02 +02:00
Benoit Jacob
0cbd1cb517 Bug 760675 - update adreno blacklisting to not use the global context - r=jrmuizel
The current Adreno blacklists hard-asserts (even in release builds) that there is a global context, as it needs it to get renderer info. That was done as, at the time (bug 736123) there were GL context creation crashes there.

However, without share groups, I can't reproduce the context creation crashes anymore, so this approach doesn't seem to be needed anymore. If we were unlucky and there still were context creation crashes, the solution would be the java thread thing mentioned in comment 0, anyway.
2012-06-02 16:28:18 -04:00
Andrew Quartey
ea5a6de0a9 Bug 731836 - Add preference to use Mesa LLVMpipe for software rendering - r=bjacob 2012-06-02 12:05:45 -04:00
Boris Zbarsky
1ead997ef4 Bug 748266. Switch the WebGL canvas context to new DOM bindings. r=peterv 2012-05-31 14:16:48 -04:00
Boris Zbarsky
19d2fed0a9 Backed out changeset f96e0f078b49 (bug 748266) because the test suite is bogus and we're failing a crashtest too. 2012-05-31 16:20:49 -04:00
Boris Zbarsky
1dbd12b802 Bug 748266. Switch the WebGL canvas context to new DOM bindings. r=peterv 2012-05-31 14:16:48 -04:00
Benoit Jacob
5393812760 Bug 759178 - WebGL extension strings should be case-insensitive - r=jgilbert 2012-05-30 08:30:32 -04:00
Benoit Jacob
3499d12a20 Bug 745292 - Log non-empty shader/program infoLogs as WebGL (JS) warnings - r=jgilbert 2012-05-29 14:44:31 -04:00
Benoit Jacob
aef31b1e2d back out 90292e7ec6fb for mochitest-1 orange 2012-05-29 16:33:29 -04:00
Benoit Jacob
9c5bbde02b Bug 758404 - Use LinkedList instead of arrays for WebGLContext to track WebGL objects - r=jgilbert 2012-05-29 14:44:31 -04:00
Benoit Jacob
3acd5b0163 Bug 745292 - Log non-empty shader/program infoLogs as WebGL (JS) warnings - r=jgilbert 2012-05-29 14:44:31 -04:00
Benoit Jacob
6b0de4418f Bug 754303 - WebGLUniformLocation doesn't need to be a WebGLRefCountedObject - r=jrmuizel 2012-05-23 12:07:44 -04:00
Benoit Jacob
63291875e4 Bug 743753 - 3/4 - WebGL: rename LogMessage to GenerateWarning - r=vlad 2012-05-23 12:07:29 -04:00
Benoit Jacob
b457d41c24 Bug 743753 - 2/4 - remove the webgl.verbose preference (always be verbose) - r=vlad 2012-05-23 12:07:19 -04:00
Benoit Jacob
a1f489a216 Bug 743753 - 1/4 - limit the number of warnings per WebGL context - r=vlad 2012-05-23 12:07:10 -04:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benoit Jacob
6598b33e08 Bug 732875 - 8/8 - move CheckedInt to MFBT, enable unit tests in mfbt/tests - r=jwalden
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-14 15:50:20 -04:00
Ed Morley
d38b916352 Backout 345ae68f15f4, b3b40121ac8d, 0d18b7a246d7, 9dbb6064ab58, dee9d7fa8eb6, 63eec6bfa948, 323c6be7cfe8 & f4aac7523a48 (bug 732875) for compilation failures 2012-05-14 21:05:24 +01:00
Benoit Jacob
43d4449b09 Bug 732875 - 8/8 - move CheckedInt to MFBT, enable unit tests in mfbt/tests - r=jwalden
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-14 15:50:20 -04:00
Andrew McCreight
4915a0b128 Bug 754151 - add macros for basic wrappercached cycle collected classes. r=smaug 2012-05-14 08:24:03 -07:00
Benoit Jacob
f3cec89440 Bug 736123 - short-term fix: blacklist adreno using the global GLContext to get renderer info - r=bgirard
It really works, but it's not future-proof as it relies on the global GL context that's going away soon. But it probably won't go away in Aurora 14, so this should at least allow us to ship Fennec 14.

Longer term, we need to do some message passing so we can get the LayerManager's OpenGL context's renderer id, from the OMTC thread.
2012-05-08 15:55:52 -04:00
Jon Buckley
f4f2e1efb0 Bug 728017 - Implement WEBGL_compressed_texture_s3tc - r=bjacob 2012-05-08 13:29:31 -04:00
Ed Morley
8a8e40fff3 Backout ba7cf6fd10ae (bug 728017) for failing to compile 2012-05-08 18:50:45 +01:00
Jon Buckley
56d33b746c Bug 728017 - Implement WEBGL_compressed_texture_s3tc - r=bjacob 2012-05-08 13:29:31 -04:00
Boris Zbarsky
fa88b9861d Bug 749485. Switch new DOM bindings to using a struct for keeping track of failures for fallible methods. r=peterv,bent
ErrorResult is in a separate header file so it can be included from all over the
place without having to pull in mozilla/dom/Utils.h and all the xpconnect gunk
that needs.
2012-05-05 21:15:11 -04:00
Phil Ringnalda
d3adeb4433 Back out 1907bf7e6d7c (bug 749485) for build bustage 2012-05-05 20:33:59 -07:00
Boris Zbarsky
cc67ef4fb6 Bug 749485. Switch new DOM bindings to using a struct for keeping track of failures for fallible methods. r=peterv,bent
ErrorResult is in a separate header file so it can be included from all over the
place without having to pull in mozilla/dom/Utils.h and all the xpconnect gunk
that needs.
2012-05-05 21:15:11 -04:00
Boris Zbarsky
edbe43b288 Bug 749539. Make IsContextStable an inline function. r=bjacob 2012-05-05 09:28:25 -04:00
Boris Zbarsky
ab17ec6502 Bug 745897. Add the new DOM bindings APIs to WebGLContext. r=bjacob
This adds APIs suitable for calling from the new DOM bindings to WebGLContext and makes the XPCOM
versions of the WebGL context API call through to the new-binding versions.
2012-05-04 12:38:44 -04:00
Boris Zbarsky
dc79d60c42 Bug 747825. Make the WebGLContext a wrapper cache. r=peterv 2012-05-04 12:36:40 -04:00
Benoit Jacob
86217acddb Bug 736481 - 7/7 - ForceLoseContext should not do anything on already lost context awaiting event - no review, a=blocking-fennec
Sorry for this little no-review patch. I meant to roll this into another of the patches for review and apparently forgot. It's 3 lines and quite trivial.
2012-04-21 16:48:22 -04:00
Benoit Jacob
1b53206894 Bug 736481 - 6/7 - WebGL lost context handling: check if we still have a canvas - r=jgilbert, a=blocking-fennec 2012-04-21 16:48:22 -04:00
Benoit Jacob
674aed832a Bug 736481 - 5/7 - make memory-pressure observer lifetime match WebGL context lifetime - r=jgilbert, a=blocking-fennec 2012-04-21 16:48:22 -04:00
Benoit Jacob
b5fa6b73b1 Bug 736481 - 4/7 - WebGL lost contexts: remove ShouldEnableRobustnessTimer, rename Robustness to ContextLoss - r=jgilbert, a=blocking-fennec 2012-04-21 16:48:22 -04:00
Benoit Jacob
3c1e40fdd9 Bug 736481 - 2/7 - lose WebGL context on memory-pressure events - r=jgilbert, a=blocking-fennec 2012-04-21 16:48:22 -04:00
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