Commit Graph

181 Commits

Author SHA1 Message Date
Benoit Jacob
87c8149a38 Bug 749678 - 1/5 - Switch GLContext to use mozilla::tls for current context - r=jrmuizel
See comment above class GLContextTLSStorage
2012-05-08 09:47:34 -04:00
Benoit Jacob
37788a6a83 Backing out bug 739648 for linux build failure 2012-05-03 16:26:04 -04:00
Benoit Jacob
b5690cc915 Bug 739648 - WebGL rendering is broken on Android due to tiles being rendered at y-flipped coordinates - r=bgirard 2012-05-03 15:59:19 -04:00
Nicholas Cameron
9828673083 Bug 716439; changes to glContext. r=BenWa 2012-04-04 17:56:22 +12:00
Jeff Gilbert
8fd1db572f Bug 708136 - Don't teardown GL objects if teardown's makecurrent fails - r=bjacob 2012-04-30 19:05:59 -07:00
Oleg Romashin
02168e45af Bug 743314 - Force CanUploadSubtextures on Maemo6 harmattan. r=chrislord.net 2012-04-28 09:05:41 -04:00
Jeff Gilbert
0a18d7d12e Bug 739775 - Refactor ResizeOffscreenFBO - r=bjacob 2012-04-25 15:10:43 +01:00
Ali Juma
02c5a8de49 Bug 741319 - Delete textures using the same context used to create them, on the thread that owns that context. r=joe 2012-04-10 16:20:02 -04:00
Benoit Jacob
46768022a6 Bug 741730 - Remove USE_GLES2 - r=romaxa 2012-04-10 11:49:21 -04:00
Benoit Jacob
574847287b Bug 686735 - 1/2 - Implement no-gfx-driver-workarounds mode - r=joe,ajuma,jgilbert
Part 1: introduce the gfx.work-around-driver-bugs preference and handle most existing workarounds
2012-04-10 11:49:10 -04:00
Jeff Gilbert
7d33dde9d8 Bug 739421 - Implement/expose ARB_sync in GLContext - r=bjacob 2012-04-06 16:57:55 -07:00
Jeff Gilbert
309a688dea Bug 741689 - Disable poorly implemented GL extensions on load - r=bjacob 2012-04-04 18:44:55 -07:00
Ali Juma
44bb4bb484 Bug 741984 - Prevent tiled texture upload from going into an infinite loop. r=Cwiiis 2012-04-04 10:26:05 -04:00
Jeff Gilbert
9fe0e7def9 Bug 732765 - Fail gracefully when we lack GL functionality - r=bjacob 2012-03-29 13:47:20 -07:00
Chris Lord
24ec18f899 Bug 739604 - Don't leave mCurrentImage in an inconsistent state. r=ajuma
Setting MOZ_DUMP_PAINT_LIST when using tiled textures was causing crashes, one
of which was due to TextureImage function calls happening outside of tile
iteration and accessing invalid memory.

Fix this crash by reverting NextTile behaviour to never leave mCurrentImage
point to an invalid tile, as was the case prior to bug 732917.
2012-03-28 19:10:10 +01:00
Benoit Jacob
3ee00f35ed Bug 737182 - limit max texture size on Mac Intel driver - r=bgirard 2012-03-26 12:15:53 -04:00
Oleg Romashin
8b91f70e77 Bug 738865 - Use Small Tiles should not be Android only. r=chrislord.net,bgirard 2012-03-24 18:08:06 -04:00
Chris Lord
3b90179676 Bug 738740 - Fix handling of parameters in nsTArray::ReplaceElementAt. r=bz
Handle the parameters given to ReplaceElementAt the same way as those given to
other methods in the class. This allows removal of the & in GLContext.cpp that
was taking the address of a temporary, and causing a build error when using
clang, or when using GCC with particular parameters.
2012-03-23 19:27:25 +00:00
Chris Lord
15d21e7d38 Bug 737434 - Reuse tiles when resizing tiled textures. r=bgirard
Instead of scrapping all tiles when a tiled texture is resized, reuse as many
tiles as possible. Strictly speaking, more tiles could be reused, but the
selected reuse strategy maintains the spacial structure of the texture, and we
don't often resize in such a way as to make this inefficient.
2012-03-23 11:30:57 +00:00
Jeff Muizelaar
ac3b70e489 Bug 737686. Avoid glTexSubImage2D on PowerVR hardware. r=gwright
glTexSubImage causes a readback on PowerVR hardware if the texture
has already been uploaded. Disabling CanUploadSubTextures() brings
the median upload speed from 26ms to 10ms.
2012-03-20 19:13:50 -04:00
Chris Lord
7fb495f3bd Bug 732917 - Use tile iteration functions in DirectUpdate. r=ajuma
So that the tile iteration callback remains useful, use the public iteration
functions when iterating over tiles in TiledTextureImage::DirectUpdate.
2012-03-17 12:06:29 +00:00
Chris Lord
68fd5151c9 Bug 732917 - Add a callback function for tile iteration. r=ajuma
Add the ability to set a callback function to be called on tile iteration.
2012-03-17 12:06:29 +00:00
George Wright
1ec77ce75f Bug 732865 - Clean up the GLContext* classes. r=bgirard,joe
--HG--
extra : rebase_source : f4f057f354772ff38d37fbc6e179f3cde9e218d1
2012-03-16 18:24:12 -04:00
George Wright
aaef82ac19 Backed out changeset aad5bc8b3433 2012-03-16 15:02:01 -04:00
George Wright
342337ca94 Bug 732865 - Clean up the GLContext* classes. r=bgirard,joe 2012-03-16 14:30:09 -04:00
Benoit Girard
188ca471f6 Merge mc->Maple 2012-03-13 11:05:28 -04:00
Jeff Gilbert
53e3a3954c Bug 729702 - Use ReadPixelsIntoImageSurface in CopyToTarget instead of duplicating functionality - r=BenWa 2012-03-12 18:42:02 -07:00
Benoit Girard
5950b72a1a Merge mc->maple 2012-03-09 18:16:26 -05:00
Chris Lord
e3be8a819f Bug 734175 - Fix uploading all tiles when subtextures are unsupported. r=bgirard
The check for sub-texture support happens before iterating over tiles in
TiledTextureImage, and forces the bounds to the boundaries of the
TiledTextureImage. This causes any upload on a TiledTextureImage to re-upload
every single tile, regardless of whether it intersects with the upload region.

Fix this by moving this check inside of the tile iteration loop, and expanding
individual tile upload regions to tile boundaries.
2012-03-09 10:22:59 +00:00
Benoit Girard
479f0b2fb1 Merge mc->Maple 2012-03-07 11:10:45 -05:00
Benoit Girard
d3dd25a616 Merge latest green changeset from mozilla-central to maple
--HG--
rename : dom/base/nsDOMMemoryReporter.cpp => dom/base/nsWindowMemoryReporter.cpp
rename : dom/base/nsDOMMemoryReporter.h => dom/base/nsWindowMemoryReporter.h
2012-03-05 13:41:15 -05:00
Benoit Girard
6345ad9c43 Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
Matt Woodrow
d13a203bc1 Bug 732598 - Optionally load glGetTexLevelParameteriv - r=bjacob 2012-03-03 13:12:57 +13:00
Benoit Girard
02e577f6ff Backed out changeset 39a3044823b0 because of bad interaction with maple. 2012-03-02 18:32:46 -05:00
Benoit Girard
72da51e037 Merge mc->Maple, resolved conflicts 2012-03-02 14:27:05 -05:00
Joe Drew
08279cfe47 Bug 728625 - Add support for vertically flipping textured quads generated with RectTriangles and DecomposeIntoNoRepeatTriangles. r=bjacob,gw280
--HG--
extra : rebase_source : f42bd3c951651339d2ecb1286a6ac5c9e65ddd7d
2012-02-29 14:15:12 -08:00
Benoit Girard
0520ad5343 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=joe 2012-02-24 18:17:27 -05:00
Joe Drew
c8a4b31d1d Bug 729132 - Correctly handle the case that we try to draw a texture with x = width. r=mattwoodrow
--HG--
extra : rebase_source : 02d84bf78ef60d84dfb96832cd39267f5d99aa38
2012-02-24 15:08:31 -08:00
Doug Turner
63f2081ca1 Merge with mozilla-central 2012-02-24 11:57:27 -08:00
Benoit Girard
be7fc15f8a Backout f8b7cca3297f, our leaktool can't handle statics :( 2012-02-23 20:10:23 -05:00
Benoit Girard
2586625748 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 17:51:57 -05:00
Benoit Girard
70ec83200b backout 6ae546e8bc55 2012-02-23 17:53:40 -05:00
Benoit Girard
e8a9b6ac25 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 16:04:38 -05:00
Florian Boesch
fc9e33241d 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
Doug Turner
476b362925 merge with mozilla-central: 2012-02-22 09:30:09 -08:00
Oleg Romashin
31770ebccb Bug 733506 - WebGL FBO offscreen texture not initialized properly. r=bjacob 2012-03-06 23:29:38 +01:00
Joe Drew
8fd2db46fd Bug 728631 - remove a bunch of accidentally-committed debug code. 2012-02-21 13:15:39 -08:00
Joe Drew
fd29de011a Bug 728631 - Don't disable blending inside our Java rendering code, because we rely on it remaining set from LayerManagerOGL. r=dougt
--HG--
extra : rebase_source : 9fe18ddb4582455fe428f14acb8a931e1b1e4661
2012-02-20 14:48:36 -08:00
George Wright
5e20a8f8fc Bug 721489 - Older Adreno 200 drivers intermittently crash when uploading RGB565 textures with glTexImage2D - r=jrmuizel 2012-02-18 21:23:06 -05:00
Joe Drew
94d3065dc6 Bug 727311 - Disable BGRA readback support in GLES 2. r=bjacob 2012-02-18 18:12:33 -08:00
Brad Lassey
34aa551009 merge from mozilla-central 2012-02-18 17:29:33 -05:00
Ehsan Akhgari
a80aff9d02 Remove the warning because it's not useful, r=joe
--HG--
extra : rebase_source : 43086e16e842a602479e69d983107cedb8649aea
2012-02-17 15:12:06 -05:00
Patrick Walton
fb9ea0b3c7 Bug 727688 - Disable tiles on SGX 540 to fix tearing 2012-02-17 13:33:37 -08:00
Doug Turner
222fba130c Merge with mozilla-central 2012-02-16 18:06:54 -08:00
Benoit Girard
3d94f16f20 Change tilesize to 256x256 for progressive upload and adreno POT uploads 2012-02-14 13:19:46 -05:00
Mike Hommey
25fb9ac832 Bug 728656 - Avoid crashing when there are no GL extensions reported by the GL implementation. r=bjacob 2012-02-20 08:04:38 +01:00
Benoit Girard
04ccae8d41 Bug 721489 - Backout changeset 0cb6641ab21a for a more desirable fix.
--HG--
extra : rebase_source : b8100a07f626c3cc51e019911a3b023b482d23b9
2012-02-10 15:12:35 -05:00
Joe Drew
d8e5e93840 Bug 725747 - Immediately translate setting the default FBO into our offscreen FBO, rather than setting it and unsetting it before and after GL draw commands. r=jgilbert 2012-02-09 20:57:26 -05:00
Jeff Gilbert
2a40f31164 Bug 728724 - Check for BGRA read support correctly - r=bjacob 2012-03-12 15:21:16 -07:00
Jeff Gilbert
39f724d177 Bug 726396 - Repair ANGLE d3d share handle fetching an PBuffer creation behavior - r=bjacob 2012-03-12 15:10:38 -07:00
Benoit Girard
0b782cb5e9 Bug 721489 - Allocate a PoT Shmem for the Adreno. This replaces segfaults by visual artifacts
--HG--
extra : rebase_source : 400e392843cf2d15b941e7e94b736106e6b447e2
2012-02-09 17:52:03 -05:00
Matt Woodrow
bf3005c3f4 Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Benoit Girard
7bc99dfa94 Bug 724094 - Use fTexImage2D instead of TexSubImage2D when uploading full width. r=ajuma 2012-02-03 17:39:50 -05:00
George Wright
84b41c240f Bug 721467 - Add a codepath to only use glTexImage2D instead of glTexSubImage2D when texture uploading in GLContext 2012-01-30 15:09:02 -05:00
Jeff Gilbert
d0a41ff23f Bug 711642 - Deguarantee that ResizeOffscreenFBO sets viewport the first time it's run - r=bjacob 2012-02-01 12:46:07 -08:00
Joe Drew
e786e132ce Bug 724137 - Support GL debug trace printouts for EGL. r=bjacob 2012-02-09 14:05:11 -05:00
Joe Drew
5b5451e0e4 Back out 9699edcbcedd (bug 721467) for causing bug 722167. 2012-01-29 19:41:48 -05:00
George Wright
cbdcca5c64 Bug 721467 - Add an optional codepath (currently enabled only for Adreno 200 GPUs) to only use glTexImage2D for texture uploads as glTexSubImage2D can be slow and/or buggy r=joe,BenWa
--HG--
extra : rebase_source : 0f2903fe23edf3b191ae5dcfa7df6d9066d1d952
2012-01-24 19:44:48 -05:00
Jeff Gilbert
21cc83a78b Bug 721205 - Add correct logic for enabling BGRA readPixels for GLES - r=bjacob 2012-01-26 09:26:36 -08:00
Benoit Girard
6fc42c7ee3 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=joe 2012-02-24 18:17:27 -05:00
Ed Morley
d9f6b7d92c Backout 0bf0007285f7 (bug 730079) for warnings as errors build failures 2012-02-23 22:14:41 +00:00
Benoit Girard
883cb71913 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 16:04:38 -05:00
Jeff Gilbert
f298556127 Bug 701269 - Deguarantee that ResizeOffscreenFBO clears its buffers - r=bjacob 2011-12-19 15:47:54 -08:00
Jeff Gilbert
1109fc2523 Bug 704788 - Add inlined function to allow easy compile-time pruning of mDebugMode branches in GLContext - r=bjacob 2011-12-16 14:24:46 -08:00
Doug Sherk
44db6564f4 Bug 711226: separate desktop and ES 2.0 symbol loading r=bjacob
Symbols were amalgamated into a single table which worked up until recently.
This patch separates them so that there is a common list, then two separate ones
for desktop and OpenGL ES 2.0.
2011-12-16 13:12:00 -08:00
Doug Sherk
f8cc305c99 Bug 708207: implement WebGL's getShaderPrecisionFormat r=bjacob 2011-12-16 13:11:59 -08:00
Doug Sherk
326f4add01 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
93a933e9c9 Bug 705665 - Don't whine while glDeleting non-existent GL object - r=jgilbert
In OpenGL it is allowed to try to delete a non-existent GL object, and we have code that relies on that in a fairly legitimate way, see discussion in the bug.
2011-12-04 14:15:42 -05:00
Ali Juma
944ab6b896 Bug 705641 - Add reason for framebuffer incompleteness to abort message. r=jrmuizel 2011-12-02 09:43:58 -05:00
Doug Sherk
ae918111a2 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
Matt Woodrow
f1acc41494 Bug 703516 - Move GLContext code into a separate folder. r=jrmuizel
--HG--
rename : gfx/thebes/EGLUtils.h => gfx/gl/EGLUtils.h
rename : gfx/thebes/GLContext.cpp => gfx/gl/GLContext.cpp
rename : gfx/thebes/GLContext.h => gfx/gl/GLContext.h
rename : gfx/thebes/GLContextProvider.h => gfx/gl/GLContextProvider.h
rename : gfx/thebes/GLContextProviderCGL.mm => gfx/gl/GLContextProviderCGL.mm
rename : gfx/thebes/GLContextProviderEGL.cpp => gfx/gl/GLContextProviderEGL.cpp
rename : gfx/thebes/GLContextProviderGLX.cpp => gfx/gl/GLContextProviderGLX.cpp
rename : gfx/thebes/GLContextProviderImpl.h => gfx/gl/GLContextProviderImpl.h
rename : gfx/thebes/GLContextProviderNull.cpp => gfx/gl/GLContextProviderNull.cpp
rename : gfx/thebes/GLContextProviderOSMesa.cpp => gfx/gl/GLContextProviderOSMesa.cpp
rename : gfx/thebes/GLContextProviderWGL.cpp => gfx/gl/GLContextProviderWGL.cpp
rename : gfx/thebes/GLContextSymbols.h => gfx/gl/GLContextSymbols.h
rename : gfx/thebes/GLDefs.h => gfx/gl/GLDefs.h
rename : gfx/thebes/GLXLibrary.h => gfx/gl/GLXLibrary.h
rename : gfx/thebes/WGLLibrary.h => gfx/gl/WGLLibrary.h
2011-11-18 22:07:49 +13:00