Commit Graph

4861 Commits

Author SHA1 Message Date
Eric Anholt
6f3cc6a522 Close some races with locking on R100 and R200 which could manifest as rendering
errors on r100 and rendering errors and hangs on r200 (same for R100 without
OLD_PACKETS).

If a command buffer filled after some state (EmitState or a VBPNTR write) was
emitted, the lock was grabbed, the buffer flushed, a new buffer prepared, and
the lock dropped.  Another client could come in, set its own state as part of
rendering, and when the first client flushed the rendering commands depending
on the previous state, it got the 2nd client's state.  This is fixed by checking
for enough space before beginning a set of state emits and rendering, and
flushing the buffer first if so.  This guarantees that the buffer won't wrap.

Also, move the "lost_context = 1" from the end of cmdbuf flushing to
UNLOCK_HARDWARE for clarity (at a minimum) that any time the lock is dropped,
state may get overwritten.  We don't have enough information at the point of the
LOCK_HARDWARE to reset our state to the last UNLOCK_HARDWARE point in the case
that we did lose our context, but saving the information to rebuild that state
may be a useful optimization (ipers data suggests up to 5%).
2004-08-17 01:41:29 +00:00
Brian Paul
7e27ab4c6a whitespace clean-up, new 'clean' commands 2004-08-16 17:11:10 +00:00
Daniel Borca
153f479697 prepared for release 2004-08-16 08:47:19 +00:00
Philippe Houdoin
479b3d0745 Add glutGetProcAddress(). Not all GLUT version 5 APIs are supported yet, thought.
-> #define GLUT_API_VERSION 4.5 ? ;-)
2004-08-16 08:46:38 +00:00
Philippe Houdoin
375047ba72 make clean at root now clean the glu/$(GLU_DIRS) too. 2004-08-16 08:42:05 +00:00
Philippe Houdoin
ac07d89fd3 Stupid me. I don't know why I moved the GLView.h here at first, but now I know why
I shouldn't:
Official BeOS GLView.h defines a virtual ErrorCallback(GLenum) method, assuming
a unsigned long GLenum.
But under Mesa, GLenum is unsigned int.
To keep binary compatibility, BeOS apps including Mesa GL/gl.h MUST include *our*
GLView.h, or linker will report a missing ErrorCallback(unsigned int) symbol. Glup.
2004-08-16 08:39:36 +00:00
Daniel Borca
ddff352586 cleanup 2004-08-16 08:34:13 +00:00
Daniel Borca
624477afbb fixed texture fetchers, fixed automatic mipmap generation, some cleanup 2004-08-16 08:32:06 +00:00
Daniel Borca
cd643491ad fixed pixel drawing routines, some cleanup 2004-08-16 08:30:41 +00:00
Daniel Borca
616a5b64f9 disabled stereo checking in wglChoosePixelFormat 2004-08-16 08:01:43 +00:00
Philippe Houdoin
a95aba7d1f Clearer guard message text. 2004-08-16 07:46:28 +00:00
Eric Anholt
0de671f19a Remove unused HAVE_INDEX define. 2004-08-16 04:38:48 +00:00
Philippe Houdoin
4ad28c9d9a GLInfo now show GLU and GLUT infos too. Fix the includes paths 2004-08-15 14:06:00 +00:00
Philippe Houdoin
af2f26f7de Obsoleted as demos programs build on BeOS with standard Makefile system. 2004-08-15 11:43:47 +00:00
Brian Paul
98ae32c0f7 fix swrast/shader typo 2004-08-14 21:53:14 +00:00
Karl Schultz
d48ef3ebe7 add shader.dsp and descrip.mms to tarball list for relatively new shader dir. 2004-08-14 21:42:50 +00:00
Brian Paul
244af16c43 updated tarball list for BeOS changes 2004-08-14 21:12:37 +00:00
Karl Schultz
931ef21c42 Update Visual Studio Project file for src tree updates. 2004-08-14 20:07:01 +00:00
Karl Schultz
7a7e04039e New Visual Studio project file for this directory. 2004-08-14 20:02:59 +00:00
Karl Schultz
cec756ae3a Minor tweaks to deal with vsnprintf and __FUNCTION__ on WIN32 2004-08-14 19:28:48 +00:00
Brian Paul
4d69189ac0 minor update to intro, and some word wrapping 2004-08-14 15:23:51 +00:00
Brian Paul
946765a95f BeOS updates, memory leak fix, updated release notes 2004-08-14 15:21:17 +00:00
Brian Paul
b784b8f21f indentation fixes 2004-08-14 14:30:36 +00:00
Philippe Houdoin
25f2d96a8f Turn gcc optimization up to -O3. 2004-08-14 14:29:21 +00:00
Brian Paul
21841f0ae5 fix some memory leaks (bug #1002030) 2004-08-14 14:28:11 +00:00
Philippe Houdoin
f226191d52 Remove obsoleted BeOS-specific makefiles.
Add a makefile to build old Mesa GLU, whatever it worth.
Add a guard to stop building libGLU.so on BeOS, as it's build into libGL.so.
2004-08-14 14:27:32 +00:00
Philippe Houdoin
92cb914321 Add a guard to stop building libGLU.so under BeOS, as it's build into libGL.so. 2004-08-14 14:24:48 +00:00
Philippe Houdoin
8c6f59ce54 Forgot to commit this valuable file! :-) 2004-08-14 14:22:35 +00:00
Philippe Houdoin
18985fb231 Remove obsoleted BeOS-specific makefile as the main Makefile system now
support BeOS platform too.
2004-08-14 10:49:31 +00:00
Philippe Houdoin
b8b12a9933 Replaced the .cpp-ized (for build issue) common GLUT source files by their
standard .c version.
Remove unused libglut.def.
2004-08-14 10:42:57 +00:00
Philippe Houdoin
bba512b75b Replaced the .cpp-ized (for build issue) common GLUT source files by their
standard .c version.
Remove outdated Makefile.orig.
2004-08-14 10:37:03 +00:00
Philippe Houdoin
a041e62418 Update to Jake Hamby's BeOS GLUT 3.7 port. 2004-08-14 10:27:08 +00:00
Philippe Houdoin
fad0e5d448 Move to $(TOP)/configs/default-based makefile. 2004-08-14 10:21:08 +00:00
Philippe Houdoin
ef4dd5ad79 Update BeOS mklib to set mimetype and version.
Static lib build support added.
2004-08-14 10:12:38 +00:00
Philippe Houdoin
92ec9975fe BeOS now officially moved to main Makefiles chain. To build under BeOS: "make beos" 2004-08-14 10:10:42 +00:00
Philippe Houdoin
b44cf6df1c Updated according to new way to build under BeOS. 2004-08-14 10:06:21 +00:00
Philippe Houdoin
789dd56699 Obsolete the BeOS-specific makefile as we now build using standard Makefiles chain. 2004-08-14 10:05:33 +00:00
Philippe Houdoin
ea446b56ab Obsolete BeOS-specific makefile.
Removed the oglinfo target from samples from BeOS build, as it depends on X.
2004-08-14 10:03:11 +00:00
Philippe Houdoin
f17ddd4884 Fix demo.cpp, which wasn't working as expected.
Add a GLInfo app, a graphical tool displaying GL Info as a treeview.
Usefull to see which OpenGL renderer you use and which extension(s) is supported.
Convert the Makefile to be $(TOP)/configs/default-based.
2004-08-14 09:59:16 +00:00
Philippe Houdoin
41ea155878 Obsoleted. Now, the BeOS targets build by main Makefiles chain. 2004-08-14 09:52:18 +00:00
Philippe Houdoin
428be67663 Silent compiler "variable may be used uninitialized" warnings. 2004-08-14 09:51:30 +00:00
Philippe Houdoin
b4907820c2 BeOS's _glthread_DECLARE_STATIC_MUTEX() couldn't be used outside a function
because she called create_sem(). Now the semaphore creation is made at first
_glthread_LOCK_MUTEX() call.
2004-08-14 09:48:57 +00:00
Philippe Houdoin
4b3be4d8be Fix a bug that set RGBA bits length always to 0 (reported by Marcin Konicki).
PPC byte order now supported (thanks Nathan Whitehorn).
Double buffering is now always forced.
Unlock the BGLView looper only if needed. Should fix the GLUT-based apps crash
at window closing.
SwapBuffers() now can wait for next vertical retrace.
And several other minor changes...
2004-08-14 09:43:07 +00:00
Dave Airlie
7b0c30574c build fix from XFree86 tree 2004-08-14 09:29:24 +00:00
Philippe Houdoin
3184830487 Move BeOS build into main Makefiles chain. 2004-08-14 09:23:09 +00:00
Philippe Houdoin
af8031ce5c Add a BeOS build config. 2004-08-14 09:18:04 +00:00
Dave Airlie
1cdfb69116 bring over change from xorg trunk - let build on non-i386 2004-08-14 09:09:56 +00:00
Dave Airlie
56999adb21 bring over build fix from xorg tree 2004-08-14 09:08:27 +00:00
Brian Paul
b1872fed15 silence a warning 2004-08-13 21:05:02 +00:00
Brian Paul
2fe6e913ca minor fix for newest glxext.h header 2004-08-13 21:04:04 +00:00