Commit Graph

217 Commits

Author SHA1 Message Date
Chris Lord
b250302b14 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
37c7455bdd Bug 737182 - limit max texture size on Mac Intel driver - r=bgirard 2012-03-26 12:15:53 -04:00
Oleg Romashin
fc68786498 Bug 738865 - Use Small Tiles should not be Android only. r=chrislord.net,bgirard 2012-03-24 18:08:06 -04:00
Chris Lord
16ce512a67 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
4805acc58c 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
73b17dfe33 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
018b526b78 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
42c647aeae 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
ba2b96d27a 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
01dbfa3c85 Backed out changeset aad5bc8b3433 2012-03-16 15:02:01 -04:00
George Wright
817530eb8d Bug 732865 - Clean up the GLContext* classes. r=bgirard,joe 2012-03-16 14:30:09 -04:00
Benoit Girard
32745d1cc3 Merge mc->Maple 2012-03-13 11:05:28 -04:00
Jeff Gilbert
1c94bfeca7 Bug 729702 - Use ReadPixelsIntoImageSurface in CopyToTarget instead of duplicating functionality - r=BenWa 2012-03-12 18:42:02 -07:00
Benoit Girard
c8515d0999 Merge mc->maple 2012-03-09 18:16:26 -05:00
Chris Lord
45c6424900 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
0f0612ce47 Merge mc->Maple 2012-03-07 11:10:45 -05:00
Benoit Girard
392ef78337 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
18b1521f00 Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
Matt Woodrow
80365647a2 Bug 732598 - Optionally load glGetTexLevelParameteriv - r=bjacob 2012-03-03 13:12:57 +13:00
Benoit Girard
b24e1949c2 Backed out changeset 39a3044823b0 because of bad interaction with maple. 2012-03-02 18:32:46 -05:00
Benoit Girard
77a9a7b782 Merge mc->Maple, resolved conflicts 2012-03-02 14:27:05 -05:00
Joe Drew
180a1da805 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
1038211c5c Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=joe 2012-02-24 18:17:27 -05:00
Joe Drew
78cc4e1443 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
df4f53ea90 Merge with mozilla-central 2012-02-24 11:57:27 -08:00
Benoit Girard
852a5157de Backout f8b7cca3297f, our leaktool can't handle statics :( 2012-02-23 20:10:23 -05:00
Benoit Girard
7f155d2527 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 17:51:57 -05:00
Benoit Girard
1370d60bff backout 6ae546e8bc55 2012-02-23 17:53:40 -05:00
Benoit Girard
0d3e4904d9 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 16:04:38 -05: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
Doug Turner
0aea58f84d merge with mozilla-central: 2012-02-22 09:30:09 -08:00
Oleg Romashin
bbcbbad700 Bug 733506 - WebGL FBO offscreen texture not initialized properly. r=bjacob 2012-03-06 23:29:38 +01:00
Joe Drew
f0820375b8 Bug 728631 - remove a bunch of accidentally-committed debug code. 2012-02-21 13:15:39 -08:00
Joe Drew
f392e297d3 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
7382e27ea3 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
db776ab0d8 Bug 727311 - Disable BGRA readback support in GLES 2. r=bjacob 2012-02-18 18:12:33 -08:00
Brad Lassey
9e55996669 merge from mozilla-central 2012-02-18 17:29:33 -05:00
Ehsan Akhgari
4250f71ab1 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
223d94e4a3 Bug 727688 - Disable tiles on SGX 540 to fix tearing 2012-02-17 13:33:37 -08:00
Doug Turner
b66a0f8126 Merge with mozilla-central 2012-02-16 18:06:54 -08:00
Benoit Girard
d6be33551c Change tilesize to 256x256 for progressive upload and adreno POT uploads 2012-02-14 13:19:46 -05:00
Mike Hommey
4ac4ed2ad7 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
ece165b571 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
566095dd27 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
962319a6ca Bug 728724 - Check for BGRA read support correctly - r=bjacob 2012-03-12 15:21:16 -07:00
Jeff Gilbert
634df94f8d Bug 726396 - Repair ANGLE d3d share handle fetching an PBuffer creation behavior - r=bjacob 2012-03-12 15:10:38 -07:00
Benoit Girard
f778b545b3 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
6ec8203d33 Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Benoit Girard
1e79901f28 Bug 724094 - Use fTexImage2D instead of TexSubImage2D when uploading full width. r=ajuma 2012-02-03 17:39:50 -05:00
George Wright
455d039241 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
efea287c85 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
ed59330c21 Bug 724137 - Support GL debug trace printouts for EGL. r=bjacob 2012-02-09 14:05:11 -05:00
Joe Drew
38214cc0f2 Back out 9699edcbcedd (bug 721467) for causing bug 722167. 2012-01-29 19:41:48 -05:00
George Wright
841e24a315 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
4a4c7e1718 Bug 721205 - Add correct logic for enabling BGRA readPixels for GLES - r=bjacob 2012-01-26 09:26:36 -08:00
Benoit Girard
3245650126 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=joe 2012-02-24 18:17:27 -05:00
Ed Morley
8570872e4d Backout 0bf0007285f7 (bug 730079) for warnings as errors build failures 2012-02-23 22:14:41 +00:00
Benoit Girard
de50b82184 Bug 730079 - Move sCurrentGLContext to TLS to support off main thread GLDebug. r=ajuma 2012-02-23 16:04:38 -05:00
Jeff Gilbert
572d367333 Bug 701269 - Deguarantee that ResizeOffscreenFBO clears its buffers - r=bjacob 2011-12-19 15:47:54 -08:00
Jeff Gilbert
11b11049ef 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
2bb47cb327 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
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
ed0639a053 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
e1eb025d6d Bug 705641 - Add reason for framebuffer incompleteness to abort message. r=jrmuizel 2011-12-02 09:43:58 -05: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
Matt Woodrow
655a2b090b 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