Commit Graph

90 Commits

Author SHA1 Message Date
Philippe Houdoin
fafc6e4b77 Added a GetGLProcAddress() method to BGLView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 10:01:37 +00:00
Philippe Houdoin
35c8505a33 Add an AddressOf() inline method, beside OffsetOf().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 09:32:42 +00:00
Philippe Houdoin
39f372d1d7 Add support for non-native ABI on hybrid build,
by following the steps taken by TranslatorRoster and LocaleRoster.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 14:05:59 +00:00
Wim van der Meer
b3df2c9a87 Fixing BeOS binary compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 22:16:07 +00:00
Wim van der Meer
e4eb2e7e45 Reverting r37289 because it breaks the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 11:45:04 +00:00
Wim van der Meer
31f2baa4fd Changeset r37275 makes the name parameter in the BGLView class constructor a const char*, which breaks binary compatibility with R5.
This change uses _BEOS_R5_COMPATIBLE_ to determine which function prototype to use.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 09:03:55 +00:00
Wim van der Meer
329e7bd264 Compiler warning fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 09:11:17 +00:00
Philippe Houdoin
b19902ae4e Made BGLView by default freely resizable by layout manager. I'm not sure I didn't break binary compatibility, please review.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 23:03:03 +00:00
Philippe Houdoin
62f9de87b0 Moved Mesa libs (mesa, glu & glut) under src/libs/mesa, where it should have
been since long already.
This should help aljen reintegrate his gallium branch sooner than later, 
which after the speed improvment on softpipe made last days will 
be welcomed, I'll bet ;-)

Maybe it's possible to even have both current Mesa Software Renderer add-on 
*and* Gallium-based SoftPipe one. Will need to actually support renderer 
selection (in OpenGL preference panel or via a missing OpenGL Kit API), 
as today the first add-on found is the only one ever selected...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 01:50:30 +00:00
Stefano Ceccherini
e35a094d61 Changed the type of fClipInfo from void * to glview_direct_info in the
BGLView header. This lets us get rid of ugly casting in the implementation.
Also changed a calloc() to malloc(), since the memory is memcpy()'d right
afterwards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 20:25:40 +00:00
Axel Dörfler
4c72b8cf43 * DirectConnect() with B_DIRECT_START must not unlock drawing before updating
to the latest direct_buffer_info - it could trash memory before.
* Now handles failed allocations more gracefully.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 17:24:15 +00:00
Rene Gollent
db341f3691 Revert bin compat break from r32267.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 14:39:26 +00:00
Philippe Houdoin
bb1fc73715 Fixed BGLView constructor: name string argument wasn't qualified constant!
Fixed GCC4 warnings in GLInfo.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 03:01:48 +00:00
Philippe Houdoin
e3ba97b8aa Fixed a crash when resizing GLInfo window (or any non-BDirectWindow with GLView kid(s), for that matter).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 00:17:30 +00:00
Jérôme Duval
3de7fab681 added string.h header to use memcpy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-05 18:19:46 +00:00
Jérôme Duval
f38b4b110c we also call DirectConnected on FrameResized(), this is when bounds are updated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-05 17:56:33 +00:00
Jérôme Duval
590a78c63a updated mesa to 7.4.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 13:40:23 +00:00
Jérôme Duval
886a2b2fed updated mesa to 7.4.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-21 11:08:49 +00:00
Jérôme Duval
dc4c7cc492 * honors new frame size in the LockGL() method of the renderer, FrameResized() now notifies the renderer.
* checks whether the rendered bitmap size matches the direct info size, if not, the renderer doesn't draw.
* we don't lock the view looper anymore in LockGL(), this avoids deadlocks with FrameResized().
* lock drawing when modifying the direct connection info.
* the renderer now locks the view looper with a timeout, as on resize the looper is locked and FrameResized called.
* the bug #3027 is fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-27 20:28:11 +00:00
Philippe Houdoin
5f71b06ed7 Fixed ambiguous term.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 18:34:38 +00:00
Philippe Houdoin
41976c3dc1 * Removed dispatch.c from glapi-dispatching.o: GLDispatcher.cpp does
the job instead of dispatch.c.
* Fixed BYTE_ORDER support for BIG_ENDIAN targets (PPC).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-10 02:56:26 +00:00
Philippe Houdoin
c146f64a63 * Reworked Mesa's GL API dispatching/implementation separation:
Before, it was spread in libmesa.a *and* mesa_arch_$(TARGET_ARCH).o, 
  the later was broken for non-x86 targets.
  
  Now, GL API dispatching is entirely in glapi-dispatching.o, 
  while libmesa.a contains only the software GL implementation.
  
* This should fix PPC libGL.so build - UNTESTED
* Added SPARC assembly code introduced by Mesa 7.2 and sooner - UNTESTED
* Removed a non-longer need workaround in glthread.h.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 00:35:23 +00:00
Jérôme Duval
aa6bedf1fb updated mesa to 7.4. It was difficult to merge the glu part (svn conflicts on keywords deletion it seems), so it was copied.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 20:18:04 +00:00
Jérôme Duval
3a383e67db added SSE again as support in Haiku seems OK. This can be reverted if needed.
Note this won't trigger a rebuild.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 23:20:42 +00:00
Philippe Houdoin
f9116d8c65 Empty CopyPixelsIn/Out() were lying...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-30 20:14:41 +00:00
Jérôme Duval
6bee3c14b5 unlock the application after calling Quit(): this fixes #3188. Not sure it's the best fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-11 22:54:04 +00:00
Jérôme Duval
5acaa0fe30 check if LockGL was called, before actually going on with UnlockGL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-30 22:06:25 +00:00
Jérôme Duval
03d1f00c86 now uses DIRECT_BUFFER_INFO_AREA_SIZE as the direct_buffer_info area size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 23:40:29 +00:00
Ingo Weinhold
bc3955fea5 Preparations for removing __BEOS__ from the compiler defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 21:46:26 +00:00
Michael Lotz
57f8452b78 Rather use UsePublicObjectHeaders instead of using USES_BE_API for the
gen_mattypes build tool, as the latter will try to use BeOS headers on BeOS
compatible host platforms and therefore breaks the build because of missing
files. This should work on all platforms, as with that the headers in the
repository are always used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 11:08:08 +00:00
Jérôme Duval
42d02ade26 forgot to use HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 21:24:51 +00:00
Jérôme Duval
b9de80bbb8 * updated build opengl headers to 7.2
* added opengl to build be api headers
* define USES_BE_API for gen_matypes
this should fix the build for Linux which don't provide GL headers :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 21:10:52 +00:00
Jérôme Duval
99b5226b87 matypes.h is a generated header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 20:11:27 +00:00
Jérôme Duval
a9d11d2365 updated mesa to 7.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 19:37:51 +00:00
Axel Dörfler
5007e8e478 * Minor cleanup - this stuff really has "reimplement me" written all over it...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 11:43:15 +00:00
Stefano Ceccherini
044627ee89 check for NULL in advance (CID 1056)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 07:49:36 +00:00
Jérôme Duval
13b2ca0205 updated mesa to 7.0.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 20:19:01 +00:00
Ingo Weinhold
6b202f4e3d * Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
  several kernel headers into a shared part and one that is still kernel
  private. Adjusted all affected Jamfiles and source in the standard x86
  build accordingly. The build for other architectures and for test code
  may be broken.
* Quite a bit of userland code still includes private kernel headers.
  Mostly those are <util/*> headers. The ones that aren't strictly
  kernel-only should be moved to some other place (maybe
  headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 03:55:16 +00:00
Jérôme Duval
7a58a3ed3d we honor safe modes for GL addons too. maybe this should end somewhere in libbe and a userland safemode.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-06 21:58:07 +00:00
Jérôme Duval
e8bc20e263 updated mesa to 7.0.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 16:33:15 +00:00
Philippe Houdoin
46b5cc220a Corrected GLRenderer's instantiation function name.
(I guess frenchies are guilty here, as mmu_man's ThemeAddOn have the same disease...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:51:51 +00:00
Stefano Ceccherini
455a252e0d rewrote GLView.h (left out BGLScreen for now, will integrate it later),
adapted GLView.cpp to the new variable naming scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 12:55:38 +00:00
Axel Dörfler
9f1506cb81 * Moved locking the looper from the GLRenderer class into the GLView class:
when the view is detached, fRenderer has already been released, and wouldn't
  unlock the looper anymore in GLTeapot. This fixes bug #1626.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 18:27:45 +00:00
Jérôme Duval
0f928a18d2 updated mesa to 7.0.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 16:12:28 +00:00
Jérôme Duval
d65a066a81 fixed testing for haiku target
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-10 18:49:33 +00:00
Jérôme Duval
a9fa028de4 updated mesa to 7.0.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:12:30 +00:00
Jérôme Duval
0de9b61d51 updated mesa to 7.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 22:28:49 +00:00
Jérôme Duval
428d4d161b updated mesa to 6.5.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 23:00:44 +00:00
Stefano Ceccherini
ca3e59106d call lock/unlock_draw() in SwapBuffers too. Don't set the view color to
B_TRANSPARENT_32_BIT because it doesn't look good in direct mode. Korli, 
please review.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:21:28 +00:00
Stefano Ceccherini
e6bf88d435 use the already available BLocker instead of atomic_add and a semaphore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 20:52:30 +00:00