Item: |
Status: |
Accelerated libraries |
|
Engine access type | DMA mode. You want this. Believe me ;-) |
Supported colordepths | 16 and 32 bit modes are fully working, 15 bit mode is partially working. 8 bit mode isn't implemented yet. At least 15 bit mode will be completed, but not before switching to Mesa 6.2. |
Supported cards | NV04 (TNT 1) upto and including (the now fast performing) NV18 (GeForce 4MX). I'll try to get more modern cards up in the future. Currently the driver blocks use on NV20 and higher. |
3D Rendering functions | Straight and AA (anti-aliased) point and line functions. Straight triangle function: Although Mesa 3.4.2 supports AA triangles, it isn't implemented in the driver yet: it will use non-AA instead. Support for AA triangles will be setup later if possible (engine command is known), after we switch to Mesa 6.2.1. The Depth (Z) buffer is fixed at 16 bit depth. |
3D Texturing | Single texturing is supported. Multiple texturing will be setup later if possible (engine command is known). |
3D States |
|
3D driver's 2D Functions |
|
BView's function activation | Be's flags B_WILL_DRAW and B_PULSE_NEEDED are required for BGLView: some applications rely on it without explicitly issuing them. These flags are hardcoded added by the driver when an application creates a BGLView. B_FRAME_EVENTS will be added here later. For now it's commented out because the driver/mesa combi are highly unstable when resizing buffers, just like the original software-only Mesa 3.4.x. (Mesa 6.2.1 should be OK though, confirmed software mode after adding that flag.) |
App name: |
Location: |
Status: |
Mode: |
Faults: |
Driver or library failsafe: |
3Dlife | Optional sample code | Working as is | BWindow/non-direct mode | Doesn't call glViewport() | Driver calls glViewport() while servicing a backbuffer clear command when it detects no backbuffer was created before. glViewport() takes care of creation among other things. |
GLteapot | Optional sample code | Working after relinking | BDirectWindow/direct mode | None | Relinking against both libGL.so and libGLU.so is required because some items used are in libGL.so these days, while being in libGLU.so at Mesa 3.4.2 'time'. We are 'going back in time'. |
Demo | Mesa 3.4.2 | Working after fix | BWindow/non-direct mode | Doesn't call glPopMatrix() | Added glPopMatrix() to the application. A library failsafe can be done in theory, but it requires additional code. It would need to check if the stack still contains a Matrix when Swapbuffers() is called (or so). Checking would be state-dependant. |
Sample |
Mesa 3.4.2, BeBook: openGL kit, BGLView |
Working as is | BWindow/non-direct mode | None | None |
GLQuake for BeOS R4.5 running on R5/dano | http://www.aixplosive.de/projects.html | Partially working as is | BDirectWindow/direct mode | Yet unknown |
This application doesn't work correctly for a number of reasons:
|
Quake II V3.20 | http://www.bebits.com/app/1712 | Working as is, with some displaying errors caused by Mesa 3.4.2. (Full software Mesa 3.4.2 has the same errors.) | BDirectWindow/direct mode | Doesn't call LockGL() | Driver calls LockGL() in the BGLView constructor if gl_get_current_context() returns NULL. Probably needs to be done elsewhere ('later') in the driver so it's actually possible that a context was indeed made current by calling LockGL() at some point in time. |
(Page last updated on August 8, 2005)