Commit Graph

69 Commits

Author SHA1 Message Date
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
Stefano Ceccherini
effcdf2e6a Implemented locking for BGLView direct mode. Tested with GLTeapot and
GLDirectTest. Seems to work fine


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 20:23:10 +00:00
Jérôme Duval
7cfdfca2e2 GLView :
window_bounds are now coordinates of the view on the screen (was the window before)
this eases dramatically the drawing of the clip from the buffer
now allocates m_clip_info whenever needed as some apps call EnableDirectMode() after DirectConnected(), ie GLTeapot.
MesaSoftwareRenderer:
implemented DirectConnected() support in Mesa Software Renderer
tested with GLTeapot on QEmu, B_RGB16 mode only


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 17:37:51 +00:00
Jérôme Duval
285d5ce2ea we need view bounds in the window coordinates, they can then be offset with the window bounds for clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:05:14 +00:00
Stefano Ceccherini
22cf4a3be6 sizeof(B_PAGE_SIZE) != B_PAGE_SIZE. Fixed bug 1151. Sorry for the silly
typo. Also uses calloc() so that the direct_buffer_info struct is 
initialized to 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 13:15:06 +00:00
Stefano Ceccherini
5f2316263f Implemented BGLView::DirectConnected(). I don't know if it works, since
the gldirect_mode test app crashes at startup (also before this commit). 
Style changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 14:11:32 +00:00
Philippe Houdoin
abbdc51e90 Applied Troeglazov "3dEyes**" Gerasim's patches: adds keys up and mouse wheel events support.
Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 11:37:36 +00:00
Jérôme Duval
c34e204a4e updated mesa to 6.5.2
updated the mesa software addon to work again (maybe would need more work)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-15 23:40:43 +00:00
Philippe Houdoin
a3d2f8eea7 Be prepared a renderer refuse to serve us/our GL view ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 01:40:38 +00:00
Philippe Houdoin
fb2b8194c2 Moved GLRenderer instanciation at window attachment time, not GLView creation time.
Hardware GLRenderers will surely needs to check which screen device (so which window)
a GLView beg him to render to as fast as possible.
Unless such hardware is not serving this screen...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 00:59:23 +00:00
Jérôme Duval
a00a227627 Stop gcc4 complaining about "type qualifiers ignored on function return type" (from a next mesa release)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-06 21:34:04 +00:00
Philippe Houdoin
18741bc6ea * Fixed a crashing bug when no renderer add-on can be found.
std::map [] creates a new entry when none can be found!
* Disabled libmesa.a being build with DEBUG turn on, as it's broken ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 00:09:06 +00:00
Philippe Houdoin
1da73a7b9b Enhanced the GL_RENDERER string returned.
Re-enabled SSE assembly code except for haiku target, until SSE stop crashing Haiku...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 21:52:02 +00:00
Jérôme Duval
74ef7b9cb8 forgot these files, gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:39:49 +00:00
Marcus Overhagen
891a127fec various gcc 4 related build fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 17:34:22 +00:00
Jérôme Duval
55815ae60b restored glapi.c as it seems needed by libGL.so, maybe it should be placed in another object file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-12 13:42:29 +00:00
Jérôme Duval
98e3c1a41e removed glapi.c from libmesa.a as suggested by phoudoin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-12 09:49:49 +00:00
Jérôme Duval
1b6515a714 deactivated SSE for now
cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-08 12:56:41 +00:00
Jérôme Duval
1d08e70ac5 added a call to _mesa_make_current
not yet working but a bit better : 
GLTeapot display is now white instead of black :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-07 21:13:53 +00:00
Jérôme Duval
9a2240212a passed options to the renderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-07 14:36:43 +00:00
Jérôme Duval
b785569a0d added a simple GLRendererRoster
imported missing pieces of mesa
GLView now gets a renderer correctly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-07 14:02:34 +00:00
Jérôme Duval
10bb21518c moved mesa addon to opengl addons
misc clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-06 14:35:26 +00:00