Compare commits

...

2336 Commits

Author SHA1 Message Date
Eric Anholt
482d9dd21d Don't index box by the box's index within numClipRects; just dereference it.
Fixes drawing with more than one cliprect. (Keith Packard)
2006-04-01 00:57:57 +00:00
Eric Anholt
9e8659f346 Call driUpdateFramebufferSize when we've found an updated DRI drawable stamp,
like other drivers.  Failure to do so resulted in incorrect buffer sizes for
resized windows.
2006-04-01 00:55:02 +00:00
Brian Paul
e3f41ce611 6.5 updates 2006-03-31 23:10:21 +00:00
Daniel Borca
3a3e63dc4f DMesa now uses OSMesa as a back-end. 2006-03-31 20:53:12 +00:00
Daniel Borca
3a46dff27d Removed empty arrays. 2006-03-31 20:49:55 +00:00
Aapo Tahkola
29d833bd52 Enough testing already 2006-03-31 18:46:33 +00:00
Brian Paul
9305cba6a7 bump version/date 2006-03-31 17:31:22 +00:00
Brian Paul
f2ad1b60c0 Dave Reveman's patch for GLX_MESA_copy_sub_buffer support 2006-03-31 15:48:04 +00:00
Brian Paul
df3d4e0bb9 Fix the fetch_texel_ci8() code to deal with floating point color palettes.
Fixes Quake on Windows bug.  (Karl Schultz)
2006-03-31 15:22:09 +00:00
Aapo Tahkola
6652dc8aac free rs300 and ban r350(according to r300.sf.net) 2006-03-31 14:11:41 +00:00
Aapo Tahkola
7da1daf0a2 make u_list adjustable 2006-03-31 10:10:45 +00:00
Karl Schultz
18b72d184c updated again for 6.5. 2006-03-31 06:54:11 +00:00
Aapo Tahkola
ef5b48dea1 warn about broken dxt 3/5 2006-03-31 03:54:36 +00:00
Aapo Tahkola
2cd4056fae Dont rely on writebacks 2006-03-31 03:50:29 +00:00
Aapo Tahkola
fb0175db93 disable r300 chips. R300_FORCE_R300 to force 2006-03-31 03:16:39 +00:00
Aapo Tahkola
aa70d92a13 More meaningful warning. 2006-03-31 03:01:28 +00:00
Eric Anholt
aba4967150 The pitches of the driRenderbuffers are in bytes, so no need to multiply by cpp.
Fixes software fallbacks. (Keith Packard)
2006-03-30 22:44:51 +00:00
Karl Schultz
174ce730c6 Clean up data structures, finishing off some of the cleanup work suggested by Brian. Now also creating two renderbuffers, so apps can now switch with glDrawBuffer. 2006-03-30 21:53:23 +00:00
Adam Jackson
48547ee129 Clarify which version of Mesa we're talking about 2006-03-30 19:26:54 +00:00
Adam Jackson
823c581f7c Revert my change from 1.37 as being bogus (see ensuing list discussion for
rationale).
2006-03-30 19:23:38 +00:00
Adam Jackson
8982697981 Update the install docs to make explicit note of libdrm version dependency.
Change pdx.fd.o to {anon,}cvs.fd.o as appropriate.
2006-03-30 19:21:20 +00:00
Adam Jackson
9542537cee Style fix, drop the explicit -ldrm from the link line. 2006-03-30 19:20:25 +00:00
Karl Schultz
c3f2c287ce Fix logic error in viewport function so that we still resize the buffers if the viewport and the window both change to the same new size. This lets the gloss demo work with the -f option. 2006-03-30 18:03:41 +00:00
Brian Paul
9e81d6ae3a When creating front/back renderbuffers, init the Red/Green/Blue/AlphaBits fields 2006-03-30 16:33:35 +00:00
Brian Paul
94d6bf883b Init the Red/Green/Blue/Alpha/Depth/StencilBits fields in driNewRenderbuffer() 2006-03-30 16:32:16 +00:00
Brian Paul
84c5d0a789 comments regarding assertions 2006-03-30 16:29:41 +00:00
Karl Schultz
dd7074736f Use [][3] for write_rgb_span_16 2006-03-30 16:26:26 +00:00
Brian Paul
ef8b89faee some comments for Darwin 2006-03-30 14:28:28 +00:00
Brian Paul
159ca321cb added glfbdev.h to MAIN_FILES 2006-03-30 14:27:25 +00:00
Brian Paul
ec83f38e2e fix bad call to FindLine() 2006-03-30 14:26:29 +00:00
Brian Paul
197d725601 added -f option for full-screeen 2006-03-30 14:25:54 +00:00
Brian Paul
693a66aea9 press '0' for glDrawBuffer(GL_NONE) 2006-03-30 14:24:58 +00:00
Brian Paul
8ea3353ec3 XMesaDrawLine macro, not currently used 2006-03-30 14:20:26 +00:00
Karl Schultz
87af12dbdc Fixes from Brian to help migrate to render buffer DD interfaces. Also fix bug in the viewport function that was using the viewport size to resize the buffer, when it should have been using the window size. Fix bug in write_rgb_span_32 where the incoming pixel data parameter was coded as a [][4] instead of [][3]. Now all the demos work correctly except singlebuffer. 2006-03-30 07:58:24 +00:00
Karl Schultz
a8c9ecfab0 Fixes from Brian 2006-03-30 07:53:15 +00:00
Dave Airlie
4ecb9f0532 Fix up some incorrect pointers and clear screen 2006-03-30 05:47:08 +00:00
Dave Airlie
8b186e3695 add initial miniglx files for i915, not integrated yet 2006-03-30 04:33:58 +00:00
Karl Schultz
e43edd3c70 Updated for Mesa 6.5 2006-03-29 23:53:43 +00:00
Brian Paul
20e15f9381 Add -ansi -pedantic flags to OPT_FLAGS. This got lost at some point. Good for catching sloppy coding. 2006-03-29 23:45:44 +00:00
Brian Paul
75a8383e8d Update the _WindowMap matrix in _mesa_set_viewport() and _mesa_DepthRange().
This is a temporary fix for the DRI drivers.
Should really only have to update the matrix via _mesa_update_state().
2006-03-29 23:44:31 +00:00
Brian Paul
920023240c put braces around RENDER_SPAN macro when called, not when defined. Fixes -pedantic warnings in x11 driver 2006-03-29 23:42:44 +00:00
Brian Paul
62c325af3f fix GETPROCADDRESS usage, remove carriage return chars (bug 6430) 2006-03-29 23:20:49 +00:00
Brian Paul
32244ac7e9 s/glslnose.c/glslnoise/ (bug 6430) 2006-03-29 23:18:13 +00:00
Kristian Høgsberg
3a6d968f37 Fixes to silence warnings in code generated by glapi scripts. 2006-03-29 22:32:38 +00:00
Karl Schultz
cec74532bf Add newest source code files to project. 2006-03-29 20:55:48 +00:00
Brian Paul
f331bb0312 added some no-op virtual destructors to silence g++ 4.0.0 warnings 2006-03-29 18:54:00 +00:00
Brian Paul
c3051df8e1 fixes from John Shell (bug 6339) 2006-03-29 18:46:46 +00:00
Brian Paul
db79d2abac minor clean-up 2006-03-29 18:41:19 +00:00
Brian Paul
c19de0b7f6 FP textures and fixes (Ewald Snel) 2006-03-29 15:21:01 +00:00
Brian Paul
e5b6eee15d fix components initialization in two places (Ewald Snel) 2006-03-29 15:17:57 +00:00
Brian Paul
006e183b6e move NumNativeAlu/TexInstruction assignments (Ewald Snel) 2006-03-29 15:15:37 +00:00
Jouk Jansen
180b0dab8b Committing in .
Removing <CR>

 Modified Files:
 	Mesa/src/mesa/main/fog.c Mesa/src/mesa/main/hint.c
 	Mesa/src/mesa/main/mtypes.h
 ----------------------------------------------------------------------
2006-03-29 12:09:08 +00:00
Brian Paul
a85fbb1d36 prep for 6.5 release 2006-03-29 04:53:02 +00:00
Brian Paul
555478fed6 New code for rendering to depth/stencil textures.
Re-org of the renderbuffer wrapper code.
2006-03-29 04:51:03 +00:00
Brian Paul
2742c4e4db new tests for GL_DEPTH_STENCIL_EXT 2006-03-29 04:48:21 +00:00
Brian Paul
2b430ef56a a few new assertions 2006-03-29 04:47:34 +00:00
Karl Schultz
b7a5a9db88 Windows makefile to easily build all demo programs. 2006-03-29 04:02:44 +00:00
Karl Schultz
888ab86f85 Repair corrupted file and remove rogue 'test' project. 2006-03-29 04:01:25 +00:00
Brian Paul
2526152a10 fix a GLuint vs GLushort test, new assertions 2006-03-29 04:01:05 +00:00
Brian Paul
519a2e7cb7 Move the computation of the viewport matrix into a new update_viewport_matrix()
function since the matrix depends on the viewport params and the framebuffer's
depth buffer resolution.
Fixes some renderbuffer / depth range issues.
This simplifies the _mesa_set_viewport() and _mesa_DepthRange() functions too.
2006-03-29 03:59:34 +00:00
Karl Schultz
b687531f69 Undef a conflicting symbol in Windows. 2006-03-29 03:42:32 +00:00
Karl Schultz
54b65e080e add showbuffer.[ch] which could be in this dir after the targets are built. 2006-03-29 03:41:38 +00:00
Karl Schultz
3076557ca3 Update for new Mesa entry points. I need to change the python script that generates this file to the new XML scheme, but for now, a manual update is OK. 2006-03-29 02:12:31 +00:00
Karl Schultz
4f21180416 Remove unneeded includes of time.h 2006-03-29 02:09:47 +00:00
Daniel Borca
c61763b5d2 Match pixel addresses with `compute_row_addresses' in RGB mode (also obey RGB/UNSIGNED_BYTE rule). 2006-03-28 21:40:14 +00:00
Roland Scheidegger
08e62a1476 fix missing *_STATECHANGE in *UpdateViewportOffset for radeon, r200 and r300 (reported by Jim Duchek). Fix some potential problems with strict-aliasing with r200 and radeon drivers in *UpdateViewportOffset, *PolygonOffset and *UpdateWindow functions (some compiler warnings about strict-aliasing remain in the codegen vertex code, and there may be more problems unnoticed by the compiler). 2006-03-28 17:22:57 +00:00
Brian Paul
0e26ca0834 updated comment about framebuffer's Visual field 2006-03-28 15:28:00 +00:00
Brian Paul
e44499480f added known issue: render to depth textures not working 2006-03-28 15:25:44 +00:00
Brian Paul
9f6ff49650 update conditional for render to GL_DEPTH_STENCIL texture, check for valid teximage before calling ctx->Driver.RenderTexture() 2006-03-28 15:24:50 +00:00
Brian Paul
c7a5d528c7 a little code movement so we don't make invalid casts from gl_renderbuffers to xmesa_renderbuffers 2006-03-28 15:21:44 +00:00
Aapo Tahkola
b8915340ea fix #6072 (Keith Whitwell) 2006-03-28 10:26:34 +00:00
Keith Whitwell
1155f64cc0 Revert merge of new/experimental code from texmem branch. 2006-03-28 07:40:57 +00:00
Brian Paul
255e8ebd58 enable GL_ARB_half_float_pixel, was GL_MESAX_half_float_pixel 2006-03-28 01:23:43 +00:00
Brian Paul
95174c4eb2 comment about byteswapping in _mesa_unpack_depth_span() 2006-03-28 01:22:48 +00:00
Roland Scheidegger
f76ff7e4a7 make allow_large_textures 1 by default for radeon and r200, and consequently enable all texture units by default on those cards (3 for radeon, 6 for r200). Fix the usually forgotten DRIVER_DATE accordingly. 2006-03-27 23:53:53 +00:00
Roland Scheidegger
96aa403cee remove unnecessary typedefs causing compiler warnings 2006-03-27 23:34:53 +00:00
Daniel Borca
004673d4d1 Disable `hidden' attribute for DJGPP 2006-03-27 17:34:31 +00:00
Daniel Borca
0ad1bda7a1 PutRowRGB was not initialized for OSMESA_RGB_565 2006-03-27 17:32:22 +00:00
Dave Airlie
e72b745f32 Fixup makefile for solo non-egl 2006-03-27 00:07:21 +00:00
Brian Paul
ea4fe661d7 merge from texman branch 2006-03-26 05:22:17 +00:00
Brian Paul
4cbd16ed3f fix some PFNGL* typedefs 2006-03-26 05:09:03 +00:00
Brian Paul
06049e2416 remove carriage returns 2006-03-25 22:52:39 +00:00
Brian Paul
753af3a206 fix issue in _mesa_free_framebuffer_data() 2006-03-25 17:57:52 +00:00
Brian Paul
70207b70c5 check for incomplete FBO in _mesa_Clear() 2006-03-25 16:16:37 +00:00
Brian Paul
1bbc203c6e Clean up the recent code related to texture_override(). Pass params in a
more logical order.
Remove a mess of stray ^M chars.
Fix a bug when checking if the texture object's format is GL_COLOR_INDEX
or GL_DEPTH_COMPONENT.  This fixes a segfault when GL_TEXTURE_BASE_LEVEL!=0.
2006-03-24 23:53:50 +00:00
Brian Paul
6494541eaa lots of debug options, some code movement, etc 2006-03-24 23:17:06 +00:00
Brian Paul
590cd26006 added some missing formats in _mesa_source/dest_buffer_exists() 2006-03-24 22:53:00 +00:00
Aapo Tahkola
ed4ab13cef Make ARB_vp backends happy with nv arl 2006-03-24 16:35:08 +00:00
Aapo Tahkola
af8d39861d secondary color fixes. 2006-03-24 16:33:34 +00:00
Brian Paul
c4f2710f9d Added -l option for explicit locking around Xlib and GLX calls in
threaded code.  Seems to improve reliability quite a bit.
2006-03-23 17:17:23 +00:00
Brian Paul
436d72e994 Added -p option to create a display connection per thread.
This seems more stabile than using one display connection for all threads.
Still get an occasional Xlib: unexpected async reply error, unfortunately.
2006-03-23 16:58:22 +00:00
Dave Airlie
d76ef5867d make solo build complete 2006-03-23 04:20:37 +00:00
Dave Airlie
0a6040dc2d fix coverity 1107: use after free 2006-03-23 04:15:29 +00:00
Dave Airlie
eab896cc21 fix coverity 926: use before NULL check 2006-03-23 04:13:37 +00:00
Brian Paul
f756924fa5 Need to check for new state and do readpixels/drawpixels clipping after
we call RENDER_START since that may involve validating the drawable and
updating its dimensions.
2006-03-22 22:02:07 +00:00
Aapo Tahkola
4fafe6390b implement arl and enable hw nv_vp. 2006-03-22 21:29:27 +00:00
Aapo Tahkola
6fc864b9e6 ARL dst idx was undefined. 2006-03-22 21:29:15 +00:00
Brian Paul
daffbe99dc GL_EXT_packed_depth_stencil should be off by default 2006-03-21 21:57:00 +00:00
Michal Krol
8995544bc9 Silencium gcc warnings. 2006-03-21 10:59:14 +00:00
Michal Krol
071357096e GLSL fixes:
- generate error on NULL pointers in glShaderSourceARB;
- reinstall program object, if current, in glLinkProgramARB;
- vertex and fragment shaders are optional in program object;
- floor asm was wrongly computed for x86 back-end;
- allow for (void) idiom in function prototypes;
- all fixed-state uniforms are updated;
- local variable initializers are working;
- implement texture* and shadow* functions for vertex processor;
- generate error if too many arguments in general constructor;
- trim unused data in general constructor;
- struct r-value field select was badly relocated;

Changes:
- add derived state gl_fog_attrib::_Scale;
- add derived state gl_light::_CosCutoffNeg;
2006-03-21 10:37:40 +00:00
Brian Paul
519b23b21f Lots of changes/fixes for rendering to framebuffer objects.
- When deleting texture objects, unbind from FBOs if necessary.
- Changed driver hooks for starting/ending render to texture.
- Now properly handle case where gl[Copy]TexImage() is called after
  glFramebufferTexture[123]D().  That didn't work before.
2006-03-20 18:51:57 +00:00
Brian Paul
4991888fa0 additional assertions and debug code for testing FBO completeness 2006-03-20 15:27:55 +00:00
Brian Paul
34bd1233a9 additional error checking to be sure source renderbuffer exists for glCopyTex[Sub]Image() 2006-03-20 15:27:33 +00:00
Brian Paul
457fb0e128 use new _mesa_sourc/dest_buffer_exists() functions 2006-03-20 15:26:20 +00:00
Brian Paul
7275d4d097 added _mesa_source/dest_buffer_exists() function to easily test if particular renderbuffers are present 2006-03-20 15:25:18 +00:00
Brian Paul
f1038f81e4 fix some buffer binding tests in _mesa_make_current() 2006-03-20 15:20:57 +00:00
Brian Paul
c27c382acc slightly improved error message 2006-03-20 15:20:30 +00:00
Aapo Tahkola
5319ed0e53 Fix texrect upload conflicts. 2006-03-20 13:37:28 +00:00
Aapo Tahkola
070f280895 Disable tnl programs when doing software vertex programs. compiz with its texrect and lighting needs was broken because of this. 2006-03-19 21:17:14 +00:00
Brian Paul
096dd541bd minor clean-ups 2006-03-19 19:07:12 +00:00
Aapo Tahkola
77174f0072 -fix texrect fallback when using vtxfmt_a (glitz, xgl, etc.)
-struct vertex_buffer to struct radeon_vertex_buffer conversion
-vertex attrib arrays did not supersede conventinal arrays when enabled
2006-03-19 18:04:12 +00:00
Brian Paul
21a4fb4137 Queries of GL_READ_BUFFER and GL_DRAW_BUFFER were still returning the
pre-GL_EXT_framebuffer_object state.  Now return the read/draw state stored
in the framebuffer objects.
2006-03-19 00:10:22 +00:00
Brian Paul
19b05d5009 Don't call Driver->Bitmap() if no image to render 2006-03-18 21:46:17 +00:00
Jouk Jansen
2d2af2dcf7 Committing in .
Mesa/src/mesa/main/imports.h : removed <CR>
 Mesa/src/mesa/shader/slang/descrip.mms : added new sources

 Modified Files:
 	Mesa/src/mesa/main/imports.h
 	Mesa/src/mesa/shader/slang/descrip.mms
 ----------------------------------------------------------------------
2006-03-17 14:38:41 +00:00
Brian Paul
eec33cc310 Init FogCoordFuncs[0..5] too, remove some unneeded #includes 2006-03-17 04:13:29 +00:00
Brian Paul
0f1d98c422 remove another test for IN_DRI_DRIVER 2006-03-17 04:10:03 +00:00
Kristian Høgsberg
724df02073 Don't use glx_ansic.h functions (__glXMemset). 2006-03-17 00:03:20 +00:00
Brian Paul
2b17741e1b added #undef GET_DISPATCH 2006-03-16 18:06:34 +00:00
Brian Paul
c6c0f94714 Moved _glapi_check_multithread() call into drivers, instead of in
_mesa_make_current().
This removes an ugly #if !defined(IN_DRI_DRIVER) from core Mesa.
2006-03-16 18:05:25 +00:00
Brian Paul
ef8653a838 finish up some loose ends in _mesa_texstore_z24_s8() 2006-03-16 04:44:00 +00:00
Brian Paul
514a15cea1 assorted code clean-ups, comments, etc. 2006-03-15 20:56:22 +00:00
Brian Paul
ac8b07b3ae remove invalid assertion in _glapi_get_dispatch(), fixes additional thread safety problem 2006-03-15 20:42:00 +00:00
Brian Paul
e660690985 Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXT
is properly defined.  Fixes long-standing, but unnoticed thread safety failure.
Also, updated comments.
2006-03-15 20:31:50 +00:00
Brian Paul
30655c211c updated some printfs, added comment about sched_yield 2006-03-15 20:30:17 +00:00
Brian Paul
59e0faaa5c sync with texmem branch 2006-03-15 17:48:00 +00:00
Brian Paul
eccb6a0698 rename enums, fixes compilation breakage (Michal Krol) 2006-03-15 14:09:08 +00:00
Brian Paul
10f08cc202 use 'p' key to toggle use of GL_EXT_packed_depth_stencil 2006-03-15 01:44:03 +00:00
Brian Paul
b7e3e0d64e s/GLuint/GLushort/ in read_depth_stencil_image() 2006-03-15 01:36:52 +00:00
Brian Paul
19b8322169 init Red/Green/EtcBits = 0 in soft_renderbuffer_storage() 2006-03-14 22:39:43 +00:00
Brian Paul
2a0d441ebb Set always_array=true for glGenProgramsNV (Dave Reveman) 2006-03-14 15:41:53 +00:00
Brian Paul
15e74a6441 replace dprintf() with _glu_dprintf() (bug 6244) 2006-03-14 15:08:52 +00:00
Michal Krol
0f618b7eb7 Add slang_analyse.c and slang_library_texsample.c. 2006-03-14 11:39:58 +00:00
Michal Krol
8af48fc4d6 More GLSL code:
- add texture sampling support;
- fix assembly codegen bugs;
2006-03-14 11:23:16 +00:00
Aapo Tahkola
e9484e4085 Clean build. 2006-03-13 20:40:46 +00:00
Aapo Tahkola
a0cf4ceb36 Fix broken max mipmap leveling that was horribly wrong. 2006-03-13 18:23:19 +00:00
Aapo Tahkola
5042778449 Option to init vp temps(for testing) 2006-03-10 05:30:33 +00:00
Brian Paul
9c32af5bb2 Add prototypes for GLX_MESA_swap_frame_usage, GLX_MESA_swap_control, and
GLX_EXT_texture_from_pixmap to silence warnings while compiling glxcmds.c
XXX: Need to add the new tokens for GLX_EXT_texture_from_pixmap!!!
2006-03-09 16:27:35 +00:00
Brian Paul
841a823d6d s/GLint/int/, to fit GLX conventions 2006-03-09 16:25:46 +00:00
Brian Paul
0d57301ba2 Instead of adding extra flags to DEFINES with +=, define EXTRA_DEFINES instead.
This eliminates a bunch of duplication in the compilation commmands.
2006-03-09 16:24:46 +00:00
Aapo Tahkola
12d51beb7e Kick VBOs out of GART if nothing else helps. 2006-03-09 06:21:17 +00:00
Aapo Tahkola
e294d938f2 Use the force Luke, use the force. 2006-03-09 04:42:45 +00:00
Dave Airlie
f1b431b265 coverity check bug fix going over end of array 2006-03-08 05:44:07 +00:00
Dave Airlie
9fc897af7a coverity checker bug: Pointer dereferenced after NULL check 2006-03-08 05:37:58 +00:00
Aapo Tahkola
d97ab9a7bd Fix broken DrawElements & DrawRangeElements. 2006-03-07 22:46:52 +00:00
Jouk Jansen
d9894e0d72 Committing in .
Update OpenVMS makefiles

 Modified Files:
 	Mesa/src/mesa/shader/slang/descrip.mms
 	Mesa/src/mesa/swrast/descrip.mms
 ----------------------------------------------------------------------
2006-03-07 07:47:37 +00:00
Aapo Tahkola
dba9c0bafd Enable HW VBOs and other things needed by it. 2006-03-07 05:31:36 +00:00
Aapo Tahkola
ba7ea2e697 Convert to work with current DRM. + tag 2006-03-07 05:15:24 +00:00
Aapo Tahkola
50f319242b Various fallbacks, checks and tags. 2006-03-07 05:09:48 +00:00
Brian Paul
ca007cb449 just a comment for check_compatible() 2006-03-07 03:01:26 +00:00
Brian Paul
d75963d258 disable double-buffer test in check_compatible(), fixes pbuffer/visual problem 2006-03-07 02:57:04 +00:00
Brian Paul
8ee311d36d print newline in _mesa_warning() 2006-03-07 01:46:26 +00:00
Brian Paul
2e01918b55 call _mesa_update_framebuffer_visual() in _mesa_FramebufferRenderbufferEXT() to fix some minor glitches 2006-03-07 01:43:52 +00:00
Brian Paul
168a7516b1 FreeBSD updates (Pedro Giffuni) 2006-03-07 01:11:05 +00:00
Aapo Tahkola
c107058e7e Port r200 tex tiling code to run on r300 but keep it disabled. 2006-03-06 19:28:10 +00:00
Ian Romanick
3bca4f679a Later versions of Python handle formats like '% 5u' differently. For
whatever reason, a space is always inserted.  That is not the desired
behavior.
2006-03-06 18:31:50 +00:00
Ian Romanick
9d881ea718 Generate server-side GLX protocol decode functions using the 'make server'
target.  The environment variable XORG_BASE must be set to point to the base
of the X.org server sources where the files are to be placed.

The 7.0.0 server release already contains files generated by these scripts.
The scripts should have been committed months ago.  Sorry for the lag. :(
2006-03-06 18:30:17 +00:00
Ian Romanick
448d23331d Display the correct bug number in the information text. 2006-03-06 16:42:12 +00:00
Ian Romanick
66df1731e6 Don't try to bind to proxy texture target. This is defined by the spec to be
an error.  Since we're working with a proxy target, don't bother using real
texture data.

Add a missing new-line in an error printf.
2006-03-06 16:31:50 +00:00
Ian Romanick
5820f7998a Build test for bugzilla #3050 2006-03-04 04:46:10 +00:00
Ian Romanick
780d270312 Test case for bugzilla #3050. 2006-03-04 04:44:47 +00:00
Roland Scheidegger
e1e03b32ab Use standard ARB names instead of vendor-specific NV names for the ARB/NV_vertex_program enums in common state handling code, and update comments accordingly. Change some slightly confusing code which gave the impression GL_VERTEX_PROGRAM_ARB and GL_VERTEX_PROGRAM_NV enums were different. 2006-03-03 15:03:04 +00:00
Roland Scheidegger
f8ba07a77d fix up the emit_func list in the experimental arbprogram sse code. 2006-03-03 14:11:19 +00:00
Roland Scheidegger
5e01f9a114 Fix bogus span mask in s_atifragshader.c leading to trouble when the pixel was later discarded by z test (this fixes doom3 r200 renderpath with swrast). Fix calling _swrast_alpha_test potentially leading to bogus results when Alpha Test might not be enabled. While here, don't disable deferred_texture (early z) when ATI_fragment_shader is active, as it is not necessary (for the record, this boosts doom3 swrast performance by roughly a factor of 2 (4 seconds per frame now...) with the r200 render path, might be a worthwile optimization for fragment programs which don't write z). 2006-03-03 02:46:03 +00:00
Keith Whitwell
f4ab5654d0 Add position_invarient support 2006-03-02 20:16:34 +00:00
Roland Scheidegger
da16813f43 Fix more enums defined not only by one extension when queried by glGet (GL_COLOR_SUM_EXT, GL_POINT_SPRITE_NV, GL_POINT_SPRITE_COORD_ORIGIN, GL_TRANSPOSE_CURRENT_MATRIX_ARB). Fix similar bugs (also those previously overseen dependant on NV/ARB_vertex_program) in glIsEnabled. Add missing GL_COLOR_SUM_EXT enum to glIsEnabled. 2006-03-02 12:06:57 +00:00
Brian Paul
9227bca103 added GL_EXT_framebuffer_blit, etc 2006-03-02 04:12:34 +00:00
Brian Paul
81b8aa9ecd test glBlitFramebufferEXT w/ -blit flag 2006-03-02 03:54:14 +00:00
Brian Paul
14d3ab9662 improved error msg 2006-03-02 03:51:04 +00:00
Brian Paul
904ab0c22c check FEATURE_EXT_framebuffer_blit 2006-03-02 03:46:33 +00:00
Brian Paul
afa1df5871 plug in BlitFramebuffer function 2006-03-02 03:45:28 +00:00
Brian Paul
c241d3b06a implementation of _swrast_BlitFramebuffer() 2006-03-02 03:37:18 +00:00
Roland Scheidegger
93da673904 Fix glGet with enums which are used not only in NV_vertex_program, but other extensions too (ARB_vertex_program, ARB_fragment_program, NV_fragment_program), if no support for NV_vertex_program is present. While here, fix return value if enum is used which is not supported by the exposed extensions (GL_INVALID_ENUM instead of GL_INVALID_VALUE). Fix some compile-time #ifs depending on NV_vertex/fragment_program which should also be dependant on ARB_vertex/fragment_program. See bug #6070 2006-03-01 23:11:14 +00:00
Brian Paul
cf6be2d5bd No need for _mesa_save_error() to be public.
glVertexAttrib() w/ bad index should generate GL_INVALID_VALUE, not
GL_INVALID_ENUM.
Misc clean-ups.
2006-03-01 15:44:20 +00:00
Brian Paul
dbfd246db8 added BlitFramebuffer() support 2006-03-01 15:36:34 +00:00
Brian Paul
190e5595bc New comments. Use tuples () instead of lists [] in a few places. 2006-03-01 15:33:56 +00:00
Brian Paul
68edf28df6 added Flush in glXCopyContext() 2006-03-01 15:32:38 +00:00
Brian Paul
9b8059e536 updated comment 2006-03-01 02:09:40 +00:00
Brian Paul
6d4284e2bf Added glBlitFramebufferEXT function. 2006-03-01 02:07:50 +00:00
Brian Paul
9974540c73 remove temporary tokens, more error checks for blit function 2006-03-01 02:02:43 +00:00
Brian Paul
2c61fdafd6 added s_blit.c 2006-03-01 02:00:58 +00:00
Brian Paul
1eca891dbe _swrast_blit_framebuffer() function 2006-03-01 01:57:30 +00:00
Brian Paul
a231097609 GL_EXT_framebuffer_blit tokens/functions 2006-03-01 01:54:59 +00:00
Aapo Tahkola
fbe48ef01f Free temps when possible 2006-02-28 23:39:32 +00:00
Aapo Tahkola
71932ef85c Dont let (possibly) undefined z component reach hw as its unused 2006-02-28 23:22:48 +00:00
Aapo Tahkola
6754e17138 No need to call *_FIREVERTICES twice. 2006-02-28 23:17:00 +00:00
Aapo Tahkola
f71fd439f5 Fix aliasing bug (Benjamin Herrenschmidt) 2006-02-28 23:08:28 +00:00
Brian Paul
147f5091a1 Allow error checking to look for presence of either of two extensions.
See bug 6070.
2006-02-28 21:45:09 +00:00
Brian Paul
176dac684a only run shader on active fragments in the span 2006-02-28 15:48:43 +00:00
Brian Paul
34b60b001d check if active fragment shader for deferred texturing/shading 2006-02-28 15:48:19 +00:00
Brian Paul
3073cf21d2 check for active shader, set FRAGPROG_BIT in raster mask 2006-02-28 15:44:33 +00:00
Brian Paul
d1d4121682 silence a bunch of warnings 2006-02-27 15:45:38 +00:00
Michal Krol
9ac9605de1 More GLSL code:
- add x86 code generator;
- add full support for uniforms in ARB_shader_objects;
- add assembly instruction: global_addr;
- reorganize #includes;
- built-in uniforms accessed by index, rather than by name;
- add some entries to x86sse rtasm;
- add configurations to VC6 projects: 'Release x86' and 'Debug x86';
- #define SLANG_X86 active only on VC6 x86 builds;
- introduce code export table for a shader;
- remove GNU license from the noise library;
2006-02-27 14:41:41 +00:00
Brian Paul
c56f2c49a5 re-formated with indent. 2006-02-26 18:18:12 +00:00
Brian Paul
be42f53020 Remove need to initialize the InstSize[] array elements by just storing
the instruction size in _mesa_alloc_instruction().
2006-02-26 18:02:13 +00:00
Brian Paul
a764b7eae0 display list clean-ups 2006-02-26 17:16:37 +00:00
Roland Scheidegger
4e77669926 Add all pci ids known by ddx to radeon dri driver. Remove the entries not known by ddx (probably secondary ids, non-existant cards and similar). Add rs400 to the family enum, and configure the rv410 like a 2 quad chip (?) 2006-02-25 02:03:12 +00:00
Brian Paul
2aabdc743f fix broken _mesa_copy_context() for GL_LIGHTING_BIT 2006-02-24 18:19:11 +00:00
Brian Paul
ee2339f673 need to check for _NEW_BUFFERS in xmesa_update_state() 2006-02-24 17:58:48 +00:00
Brian Paul
228d4a6de7 Fix _mesa_copy_texture_state() so that we copy texture object bindings,
not the actual contents of texture objects.  This makes glXCopyContext()
work properly.
2006-02-24 17:16:57 +00:00
Brian Paul
1aad408b5a EXT_framebuffer_object (Dave Reveman) 2006-02-24 15:36:24 +00:00
Brian Paul
44a2e96729 include inttypes.h if __osf__ defined (Randall Hand) 2006-02-23 15:36:39 +00:00
Brian Paul
5b2ee9c1e9 update Blender link 2006-02-23 14:29:03 +00:00
Brian Paul
956fff6345 add some #includes, fix some prototypes (bug 5992) 2006-02-22 16:54:05 +00:00
Brian Paul
7b6fd8a0c6 include proper header file, remove local extern declarations 2006-02-22 16:44:04 +00:00
Brian Paul
cebad151a1 add missing prototypes, use _slang_ prefix on non-static functions 2006-02-22 16:43:26 +00:00
Brian Paul
4f8b59d59b silence a variety of compiler warnings 2006-02-22 16:35:34 +00:00
Brian Paul
49ad2d4ed1 updated GLUT link 2006-02-22 15:50:57 +00:00
Michal Krol
cc1591667d More GLSL code:
- uniforms (only GetLocation, Uniform1f and Uniform4fv for now for demos);
- fix bugs and optimize array size handling;
- 2D texture sampling (needs Enable(TEXTURE_2D) to work);
- decrease built-in library assembly size by 30%.
2006-02-21 12:35:06 +00:00
Jouk Jansen
8986e36f36 Committing in .
Update OpenVMS makefiles

 Modified Files:
 	Mesa/src/mesa/shader/slang/descrip.mms
 	Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/tnl/descrip.mms
 ----------------------------------------------------------------------
2006-02-21 12:28:34 +00:00
Jeremy Kolb
fcbbdf9991 Added xcb dri config file. 2006-02-19 22:31:26 +00:00
Jeremy Kolb
97a3023c9f Remove old linux-x86-xcb (didn't do anything).
Removed reference to linux-x86-xcb and added linux-dri-xcb in Makefile.
2006-02-19 22:30:46 +00:00
Michal Krol
3654193a4d More GLSL code.
- general constructors allowed;
- implement noise functions (from Stefan Gustavson - thanks!)
- cosmetic stuff.
2006-02-18 15:11:18 +00:00
Keith Whitwell
e94be8d5c0 Fix STENCIL_WRITE_MASK defn for bug 5902 2006-02-17 17:03:14 +00:00
Aapo Tahkola
8da9f448f4 Skip ARL while we dont implement it. Fix broken nv vps but do it with software for now. 2006-02-16 19:50:40 +00:00
Roland Scheidegger
555b5fac4f Reinstate vertex format after a rasterization fallback for both r200 and radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601) 2006-02-16 17:16:33 +00:00
Eric Anholt
a176bc6c17 Include dix-config.h if HAVE_DIX_CONFIG_H is defined. This will be used by the
X Server to get things like _XSERVER64 (for X headers) and NO_LIBCWRAPPER
defined consistently when its builds Mesa internally.
2006-02-15 21:03:34 +00:00
Brian Paul
ee40c4fb34 Set NumInstructions (bug 5864) 2006-02-15 15:59:37 +00:00
Brian Paul
a584e846d4 Fix a few warnings:
- nested comments (use #if 0 / #endif instead)
 - missing default clause in switch statements
 - use of possibly undefined variables
2006-02-15 15:51:01 +00:00
Michal Krol
dd02edf381 Add support for forward function declarations. 2006-02-15 11:15:16 +00:00
Michal Krol
88d994c3b2 Add fragment shader execute entry. 2006-02-15 11:12:47 +00:00
Michal Krol
50092f8f33 Add s_arbshader.c, s_arbshader.h. 2006-02-15 11:09:26 +00:00
Michal Krol
870ebefb3b Add swrast/s_arbshader.c. 2006-02-15 11:07:56 +00:00
Michal Krol
a663931204 Add arbshader stage. 2006-02-15 11:06:00 +00:00
Michal Krol
5bc35a823a Enable texcoords when program object in use. 2006-02-15 11:03:57 +00:00
Michal Krol
dc3a922cf3 Get arbfslight demo running. 2006-02-15 11:02:07 +00:00
Michal Krol
0c8e578a38 Enable GL_ARB_fragment_shader extension. 2006-02-15 11:00:15 +00:00
Michal Krol
3699751b0b Demonstrate GLSL fragment and vertex shaders. 2006-02-15 10:58:52 +00:00
Brian Paul
d5aca8bf0c remove stray 'foo' line 2006-02-15 04:10:55 +00:00
Brian Paul
0c1438d331 replace size_t * w/ unsigned int * (Jurg Billeter) 2006-02-14 15:04:45 +00:00
Brian Paul
a5033a0421 fix AIX issues (bug 5874) 2006-02-14 14:57:04 +00:00
Jouk Jansen
2189d9c96e Update OpenVMS compile support 2006-02-13 12:00:29 +00:00
Michal Krol
e7ffe4619f More glsl code. 2006-02-13 11:47:41 +00:00
Michal Krol
8a54fad6cd REVISION 3.
Remove illegal operators for overloading.
2006-02-13 11:45:57 +00:00
Michal Krol
ebcbf2f853 Cosmetic changes. 2006-02-13 11:42:48 +00:00
Michal Krol
41eeae5fb1 Delete most of the comments.
Minor tweaks with the functions.
Add experimental print functions.
2006-02-13 11:40:32 +00:00
Michal Krol
02eb9acc5e Get it running for ARB_vertex_shader.
Add experimental print functions to builtin library.
Some functionality missing:
- automatic arrays;
- general constructors;
- local variable initialization;
- texture sampling and noise;
- semantic error checking;
- function prototypes.
2006-02-13 11:38:37 +00:00
Michal Krol
44e9ccc708 Rename current_program to CurrentProgram.
Temporary vertex_shader execution code.
2006-02-13 11:31:16 +00:00
Michal Krol
adef42c88d Add tnl\t_vb_arbshader.c. 2006-02-13 11:27:33 +00:00
Michal Krol
7d376c76c9 Add tnl/t_vb_arbshader.c. 2006-02-13 11:25:43 +00:00
Michal Krol
a2ea606377 Add ARB_vertex_shader stage just before render stage.
If enabled, all other stages, except render, are disabled.
2006-02-13 11:23:36 +00:00
Michal Krol
2363fff347 Enable GL_ARB_shader_objects, GL_ARB_shading_language_100 and
GL_ARB_vertex_shader extensions.
2006-02-13 11:04:27 +00:00
Michal Krol
c92e688e15 Rename current glsl program variable. 2006-02-13 10:56:54 +00:00
Michal Krol
170f08d4b1 Add _mesa_atanf and _mesa_asinf functions. 2006-02-13 10:55:14 +00:00
Eric Anholt
91c30771b6 Add the ability to define NO_LIBCWRAPPER to avoid libcwrapper brain damage.
If it's true that libcwrapper usage isn't necessary ever in the DllLoader world,
then this code should probbaly all go away.
2006-02-11 02:59:38 +00:00
Dave Airlie
f236300e3a commit to fixup MGL namespacing for XGL 2006-02-10 21:46:17 +00:00
Aapo Tahkola
a73094cc6a Workaround problems with NWN. (Tilman Sauerbeck) 2006-02-10 17:26:44 +00:00
Brian Paul
42447365b2 remove the test for XFree86Server from prev patch (bug 5835) 2006-02-09 14:28:40 +00:00
Alan Hourihane
b77a225250 Check DDX for 1.5.0 2006-02-08 22:05:42 +00:00
Brian Paul
d93615fc1e include dix-config.h (Mike Harris) (bug 5835) 2006-02-08 14:52:06 +00:00
Brian Paul
42725d6f54 David Reveman's GLX_EXT_texture_from_pixmap extension patch 2006-02-07 00:39:56 +00:00
Dave Airlie
4cd0e24f86 add vblank support to i915 driver 2006-02-06 00:09:58 +00:00
Brian Paul
640ef7f890 EGL 1.2 tokens/functions/etc. 2006-02-05 16:39:19 +00:00
Brian Paul
63b852f4f9 fix typo 2006-02-05 16:38:33 +00:00
Brian Paul
ea970da0b6 bring in changes from 6.4 branch 2006-02-03 17:21:54 +00:00
Roland Scheidegger
e7276b7fa5 replace the texture level hack used in radeon/r200 to allow larger textures with different methods to calculate the announced maximum texture sizes. Default is still the same (that is, radeon/r200 default to not announce anything which might not fit, i830/i915 default to 1 texture must fit). Bug #5785. 2006-02-03 13:29:11 +00:00
Brian Paul
16a14510c4 use calloc instead of malloc so try_codegen field is initialized to zero (bug 5791) 2006-02-02 17:33:26 +00:00
Brian Paul
725740c7c8 add some assertions to check emit_func[] table validity 2006-02-02 14:30:16 +00:00
Roland Scheidegger
5951aab823 fix texcoord unit assertion, the right one (bug 5780) 2006-02-01 23:14:42 +00:00
Brian Paul
865ad82bb8 fix texcoord unit assertion (bug 5780) 2006-02-01 16:50:16 +00:00
Roland Scheidegger
3b6f62fc73 fix test for valid texunit in _mesa_ClientActiveTextureARB 2006-02-01 01:05:40 +00:00
Brian Paul
111281f1fc s/malloc/calloc/, fix mem leak 2006-01-31 03:00:14 +00:00
Roland Scheidegger
663138a951 fix broken assertions so dri drivers compile with -DDEBUG (replace GL_STENCIL_INDEX8 with GL_STENCIL_INDEX8_EXT). Fix potential problem with drivers which use 32bit z buffers. 2006-01-30 23:49:31 +00:00
Roland Scheidegger
a45f23bed1 fix broken assertion to make radeon driver compile with -DDEBUG... 2006-01-30 23:36:42 +00:00
Brian Paul
4b4cc650e1 updated comment 2006-01-30 17:13:19 +00:00
Brian Paul
781c54a5b8 silence warning about duplicate M_PI definition 2006-01-30 17:12:10 +00:00
Brian Paul
6a36407a00 added more tests (Pedro Maia) 2006-01-30 17:11:47 +00:00
Brian Paul
7905b19ec9 use fmod() when incrementing CubeRot 2006-01-30 15:35:35 +00:00
Michal Krol
bd8c742762 Add shader/slang/slang_compile_*.* files. 2006-01-30 14:50:01 +00:00
Michal Krol
9dc8bce88e Split slang_compile.c into several smaller files - it was just too big.
Minor fixes and cosmetic changes.
2006-01-30 14:48:42 +00:00
Brian Paul
b2006a40eb some initial EGL 1.2 work 2006-01-30 00:10:55 +00:00
Brian Paul
daf3093f28 Test glCopyTexSubImage2D by drawing gears as texture on sides of a box. 2006-01-28 00:30:07 +00:00
Brian Paul
5e9d73153c misc updates 2006-01-27 20:12:06 +00:00
Brian Paul
0b3c2a9a24 Don't do swapbuffers if -nodraw specified. Get t0 after setup code. 2006-01-27 15:44:40 +00:00
Aapo Tahkola
5594ddbcfe remove broken non arb fp path 2006-01-27 14:35:24 +00:00
Aapo Tahkola
58e4aa0ec9 missing link in the fallback chain 2006-01-27 14:09:05 +00:00
Aapo Tahkola
0fcfa1c5b0 enable hw vertex programs by default 2006-01-27 14:03:22 +00:00
Aapo Tahkola
e797bc8bbe per vp sw fallbacks 2006-01-27 13:21:47 +00:00
Aapo Tahkola
7d82d284e3 radeon driver doesnt have this so i assume we shouldnt either. 2006-01-27 13:09:59 +00:00
Aapo Tahkola
a7bd2563c3 drop all that (slow) locking stuff and make u_list per context. 2006-01-27 13:05:56 +00:00
Aapo Tahkola
875df252a7 R300_PFS_NODE_LAST_NODE -> R300_PFS_NODE_OUTPUT_COLOR 2006-01-27 12:38:20 +00:00
Aapo Tahkola
e804370014 Work around problems with t_vp_build.c 2006-01-27 12:23:26 +00:00
Aapo Tahkola
32551222bc r300UpdateTextureEnv shouldnt be called. 2006-01-27 12:18:58 +00:00
Brian Paul
77667266a7 Test glTexSubImage and glCopyTexSubImage rate.
Run with -nodraw to skip rendering of test quad to get "pure" sub-tex rate.
2006-01-26 17:35:31 +00:00
Brian Paul
32a6468014 copypixrate.c - measure the speed of glCopyPixels. 2006-01-26 16:37:47 +00:00
Aapo Tahkola
e65ad47a8f remove some testing code 2006-01-26 16:28:54 +00:00
Aapo Tahkola
edc98df891 Fix a problem where offsets from disabled tmus reach drm 2006-01-26 15:53:18 +00:00
Alan Hourihane
fbcb37cac5 remove i830 2006-01-26 08:53:32 +00:00
Brian Paul
3a5bb1729d New comments, clean-up of fields related to point/line/triangle validation. 2006-01-26 01:32:47 +00:00
Brian Paul
2219a15b06 remove unneeded init of swrast->invalidate_line/triangle 2006-01-26 01:28:00 +00:00
Brian Paul
74235b1cf1 remove the GL_HP_occlusion_test code 2006-01-26 01:27:17 +00:00
Brian Paul
f3cf636e57 WGL_ARB_extensions_string extension 2006-01-25 17:33:13 +00:00
Brian Paul
166b0ff973 added wglGetExtensionsStringARB 2006-01-25 15:05:36 +00:00
Karl Schultz
7f1274fa8b add wglGetExtensionsStringARB 2006-01-25 06:02:55 +00:00
Jerome Glisse
99da2d30eb fix using a tmp without asking for one 2006-01-24 23:04:51 +00:00
Alan Hourihane
8b1dc68662 pull in fix from 6.4 branch for XFree86Server definition 2006-01-24 21:40:53 +00:00
Aapo Tahkola
4dd8a8907e fix broken get_half & get_zero 2006-01-24 20:24:06 +00:00
Alan Hourihane
65573edd1b remove very old i830 code 2006-01-24 19:59:54 +00:00
Alan Hourihane
f3134ca7ad use front.size instead of sPriv->fbSize 2006-01-24 19:40:26 +00:00
Alan Hourihane
f7360cd42d use screen->front.map instead of pFB from libdri 2006-01-24 19:28:49 +00:00
Alan Hourihane
39c492bb14 Add Intel 945GM support
Add rotation support
(Tungsten Graphics)
2006-01-23 10:10:48 +00:00
Jerome Glisse
acd1f16b35 Do individual negetation in swizzling, thus we can
save one instruction in some case.
2006-01-21 15:16:53 +00:00
Jerome Glisse
c6f35dd8db Indent & wrap around 80 2006-01-21 13:08:46 +00:00
Aapo Tahkola
f087d60f18 Doesnt apply anymore 2006-01-21 12:48:09 +00:00
Jerome Glisse
41a874f486 Add individual component negation. 2006-01-21 11:43:37 +00:00
Aapo Tahkola
ef073b7a75 Try to tackle bug #5148 2006-01-20 21:56:52 +00:00
Aapo Tahkola
c90b569238 Sync from drm. 2006-01-20 21:16:28 +00:00
Aapo Tahkola
93a7605b1d Fix ARGB1555 component swizzling. 2006-01-20 20:48:05 +00:00
Jerome Glisse
b42d5bcaff Fix swizzling table & add struct. 2006-01-20 18:24:44 +00:00
Adam Jackson
37e86254c1 Avoid a crash when the user has enabled glVertex{,Attrib}Pointer but hasn't
filled in a valid pointer for that attribute or vertex array.
2006-01-19 18:00:38 +00:00
Adam Jackson
216f729a95 Search for makedepend in the PATH rather than hardcoding /usr/X11R6/bin 2006-01-18 20:57:02 +00:00
Adam Jackson
38da697546 Nuke the old attempt at software DRI, it's broken and awful 2006-01-18 00:29:35 +00:00
Adam Jackson
f93a228c38 Start a software-only DRI driver for use in the new accelerated indirect
world.
2006-01-18 00:22:21 +00:00
Brian Paul
1096eae18d properly free ATI fragment shaders (Tilman Sauerbeck) 2006-01-16 16:35:13 +00:00
Brian Paul
361bccb4ec Free visinfo object (Tilman Sauerbeck) 2006-01-16 16:17:18 +00:00
Michal Krol
b4f70646b4 remove some test code;
rewrite the intermediate code executor to address
64-bit platforms and global memory;
store built-in library code in a precompiled form only;
2006-01-16 12:34:16 +00:00
Michal Krol
8defce2cf1 remove slang_*_gc.h files;
rename slang_*_gc_bin.h files to slang_*_gc.h ones;
store built-in library code in a precompiled form only;
2006-01-16 12:27:22 +00:00
Aapo Tahkola
0f488bb16d Missing bits of code spotted by Tilman Sauerbeck 2006-01-15 13:53:54 +00:00
Aapo Tahkola
1bcc323857 Fix ARB_position_invariant handling 2006-01-15 00:07:11 +00:00
Adam Jackson
93d0935ef7 Fix the default target to remake readtex.o if needed 2006-01-13 16:34:00 +00:00
Aapo Tahkola
4078c647d5 namespace pollution fixes (Tilman Sauerbeck) 2006-01-13 15:11:57 +00:00
Aapo Tahkola
458479fedb Fix invalid tex coord routing and couple other small things. 2006-01-13 15:03:57 +00:00
Brian Paul
1814d6541b added a couple new assertions to help debug XGL problem 2006-01-10 15:48:56 +00:00
Aapo Tahkola
2d4ff6a8cf Missing patch from Ben Skeggs:
Lots of changes, and fixes for some badness on my behalf.

1. Disposable data used during fp compile is now per-context,
   rather than per-program to save memory.

2. Track usage of INPUT/TEMP registers from Mesa program, free
   them when no longer required so the hw temps can be re-used.

3. Changed LAST_NODE to OUTPUT_COLOR (see r300_reg.h)

4. Implemented remaining ARB_f_p instructions, with the exception
   of the trig/LIT opcodes.

5. Treat ZERO/ONE swizzles the same way as other native swizzles.

6. emit_arith changes, basically a complete re-write.  Should
   produce cleaner instructions, but no real functional changes.
   internal reg -> hw reg routines shared with emit_tex.  A bit
   messy still.
2006-01-09 22:53:38 +00:00
Aapo Tahkola
c217d5a3a8 Fix pow <small> and a very stypid bug with dummy srcs(0 equals to tmp0.x)</small>. demos/cubemap looks perfect now. 2006-01-09 20:00:03 +00:00
Aapo Tahkola
0946e0f418 Fix cube maps. 2006-01-09 19:20:46 +00:00
Aapo Tahkola
7a028bd1ca Fix node setup(from Ben Skeggs) 2006-01-09 18:31:42 +00:00
Brian Paul
d469e5e5a0 s/GLuint/GLbitfield/ 2006-01-09 17:57:47 +00:00
Brian Paul
c2901e4f4c only call xmesa_set_renderbuffer_funcs() when really necessary 2006-01-09 17:56:55 +00:00
Brian Paul
41b9756e9a check XGetGeometry() return value 2006-01-09 16:59:30 +00:00
Roland Scheidegger
8bc4dae67e cube maps on r100 require newer drm than the same feature on r200 (regression from introducing unfied initialization). Fix wrong (so far unused) family assignment for r100 cards. 2006-01-07 20:42:16 +00:00
Keith Whitwell
eda59aa87e Oops - bad file-completion typo. 2006-01-05 11:01:18 +00:00
Keith Whitwell
ca188de098 add simple test for program local parameters 2006-01-05 10:57:57 +00:00
Brian Paul
30cc822163 install GLw headers (bug 5396) 2006-01-04 20:10:16 +00:00
Brian Paul
413a49ce59 special-case Darwin (bug 4509) 2006-01-04 20:06:13 +00:00
Jerome Glisse
31be39742b Use X11_INCLUDES config macro instead of
hardcoded path in makefile.
2006-01-02 18:47:00 +00:00
Brian Paul
3086efe357 remove bogus wings3d link 2005-12-30 19:15:40 +00:00
Keith Whitwell
cabecbd314 recalculate state on drawable changes 2005-12-30 13:03:08 +00:00
Keith Whitwell
1d43e729ec properly notify driver on scissor change in MakeCurrent 2005-12-30 13:02:27 +00:00
Dave Airlie
8c137e2f94 fill out framebuffer egl stuff enable egl on R300 2005-12-30 11:18:04 +00:00
Dave Airlie
fb83a42d31 fixup stamp so driver updates drawable info 2005-12-30 10:12:26 +00:00
Dave Airlie
456a513daa add support for PCIE card to EGL, doesn't fully work yet but these changes
need to get off my hard disk
2005-12-29 00:56:01 +00:00
Dave Airlie
577d23011b add EGL to r300 makefile 2005-12-29 00:42:25 +00:00
Dave Airlie
369ae3e2c4 rv370 not rv350 2005-12-29 00:38:12 +00:00
Dave Airlie
77a7c2ad92 typo 2005-12-29 00:37:24 +00:00
Dave Airlie
4dac78463e add some card type ioctl support 2005-12-29 00:36:07 +00:00
Dave Airlie
edf570da67 use card_type not isPCI 2005-12-29 00:30:53 +00:00
Dave Airlie
49b9355020 add some r300 information 2005-12-28 23:42:41 +00:00
Dave Airlie
1b6a081885 update to new API 2005-12-23 08:42:29 +00:00
Dave Airlie
bc8390fa6c this needs to be calloced 2005-12-23 08:17:44 +00:00
Dave Airlie
ad960612ce fixup driver for some api changes 2005-12-23 07:58:24 +00:00
Aapo Tahkola
11decab34a Handle fatal case. 2005-12-18 21:40:13 +00:00
Aapo Tahkola
3ad366dff2 Drop output checking. 2005-12-17 18:59:18 +00:00
Aapo Tahkola
d57ce4a2c1 No you arent. 2005-12-17 12:28:58 +00:00
Aapo Tahkola
707343dcf5 Warn only when being enabled. 2005-12-17 12:20:51 +00:00
Aapo Tahkola
feb7221ecb I think this has been tested well enough already. 2005-12-17 12:08:41 +00:00
Aapo Tahkola
1d32fc7332 Enable CB_DPATH by default. 2005-12-17 11:59:13 +00:00
Aapo Tahkola
fd1627312d Fix (likely) typo. 2005-12-17 11:43:59 +00:00
Aapo Tahkola
e34700af7a Add some missing hooks. This should fix various little problems with window movement and 2d windows flashing on top of 3d windows. This problem was previously shadowed by r300ResetHwState as it gets called frequently. 2005-12-17 11:39:40 +00:00
Brian Paul
c9b4acfeb8 minor code movement 2005-12-17 05:37:15 +00:00
Karl Schultz
782291ab91 fix thinko in last revision. 2005-12-16 16:38:44 +00:00
Brian Paul
924fb5e916 move va_end() call (Evgeny Kotsuba) 2005-12-15 15:23:54 +00:00
Karl Schultz
841c9018b1 Work In Progress. Move some of the frame buffer, render buffer, etc init code from the create context path to the make current path, where it is lazily initialized. This didn't buy me very much except to make it look closer to the X11 driver. Fix up some of this same code to correct some errors.
The next step is to reorganize the wmesa context data structure to inherit the gl_context by containment so I can have access to the wmesa context in the update state path.  The driver is still currently not responding to changes in the Draw and Read Buffer state.
2005-12-15 01:02:37 +00:00
Brian Paul
b6d7a0c5a5 regenerate to pick up glGetQueryObject[u]i64vEXT funcs 2005-12-14 14:23:37 +00:00
Keith Whitwell
0970787228 Fix typo. 2005-12-14 09:31:25 +00:00
Brian Paul
c8d1741b78 use GLbitfield instead of GLuint 2005-12-14 03:06:16 +00:00
Brian Paul
1add059bd1 Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can be
done with fragment programs nowadays.
2005-12-14 03:04:58 +00:00
Dave Airlie
c9797f6b76 fix from Roland for mipmapped compressed textures
remove some debug
2005-12-13 19:53:28 +00:00
Brian Paul
0063084804 silence warning, bug 5318 2005-12-12 15:27:55 +00:00
Keith Whitwell
40332059e4 Split _MaintainTexEnvProgram into two flags _Maintain and _Use. This
restores the ability to run the software driver with program TNL but
tradtional swrast.
2005-12-12 12:57:08 +00:00
Eric Anholt
3e1a5a38ae Regenerate for recent glapi changes (GetQueryObjecti64vEXT). 2005-12-11 07:42:37 +00:00
Brian Paul
790ab0a0b6 s/eglShowSurfaceMESA/eglShowScreenSurfaceMESA/ 2005-12-10 17:59:36 +00:00
Brian Paul
f06ce1ba71 Rename eglDRIShowSurfaceMESA.
s/_eglAddMode/_eglAddNewMode/
2005-12-10 17:56:00 +00:00
Brian Paul
98d9bb66a4 updates to match other changes elsewhere 2005-12-10 17:55:15 +00:00
Brian Paul
215aa20f5c rename eglShowSurfaceMESA, add EGL_SCREEN_POSITION_GRANULARITY_MESA 2005-12-10 17:54:36 +00:00
Brian Paul
4882279633 Some initial per-thread support.
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
2005-12-10 17:54:00 +00:00
Brian Paul
b04dd5c587 Added EGL_SCREEN_POSITION_GRANULARITY_MESA query.
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
2005-12-10 17:53:07 +00:00
Brian Paul
ad6f8eba00 lots of updates, mode sorting, etc 2005-12-10 17:52:11 +00:00
Brian Paul
6002d2ff4e implement config sorting for eglChooseConfig() 2005-12-10 17:51:13 +00:00
Brian Paul
21b2784ff5 'a' key to toggle animation 2005-12-08 17:49:50 +00:00
Brian Paul
5abc246f8d bump version number 2005-12-08 14:51:36 +00:00
Brian Paul
72d1bb5756 don't need LONGLONG typedefs 2005-12-08 14:50:28 +00:00
Brian Paul
91ed68b2b9 do away with 'long long' usage 2005-12-08 14:50:03 +00:00
Brian Paul
5262c225ba remove stray _ from GL[u]int64_EXT 2005-12-08 14:10:59 +00:00
Karl Schultz
1acea5f289 update for symbol export changes 2005-12-08 04:36:42 +00:00
Karl Schultz
5bdec89da5 add {} to RENDER_SPAN macro to fix compilation problem 2005-12-08 04:35:07 +00:00
Karl Schultz
59af97420e use 64-bit typedefs for portability 2005-12-08 04:34:17 +00:00
Karl Schultz
0694adaf71 add 64-bit typedefs for portability 2005-12-08 04:33:17 +00:00
Karl Schultz
4c3443b460 handle 64-bit types for Windows. 2005-12-08 04:32:02 +00:00
Karl Schultz
f2b9fa03da reapply recent changes with Visual Studio instead of direct text editing. 2005-12-08 04:30:44 +00:00
Brian Paul
0fa8c59e64 Updates for GL_EXT_timer_query:
New GLint64EXT and GLuint64EXT types (use C99's long long types).
New glGetQueryObject[u]i64vEXT() functions.
2005-12-07 14:48:19 +00:00
Karl Schultz
98bebc7212 Fix bugzilla 5253. Add {} around code in RENDER_SPAN macros when code includes a variable declaration. 2005-12-07 05:09:14 +00:00
Aapo Tahkola
abccd5b729 Make missing interpolator inputs fatal 2005-12-06 22:26:21 +00:00
Aapo Tahkola
9309ba78d1 Fix secondary color for VP's 2005-12-06 19:49:18 +00:00
Brian Paul
9580179dfb C++ fixes, mostly casts (Stephane Conversy) 2005-12-06 15:41:43 +00:00
Eric Anholt
d5179613d5 Add support for GL_EXT_secondary_color. It looks like using
NEED_SECONDARY_COLOR to turn it off/on was what we wanted -- now results look
correct using seccolor on Savage IX and Savage4.
2005-12-06 10:38:37 +00:00
Keith Whitwell
b4ebb68202 Add guard before calling ctx->Driver.BindProgram 2005-12-05 11:44:09 +00:00
Aapo Tahkola
f27c07c99e Fix AL8 2005-12-05 09:30:58 +00:00
Dave Airlie
923257fe07 update r300 drm minimum to 20 2005-12-05 01:14:13 +00:00
Dave Airlie
f93feb7aed Fix r300 rectangular texture upload and swtcl coordinate fixing same as radeon
sw tcl
2005-12-04 00:37:35 +00:00
Brian Paul
eb06704a7c Added PCI_CHIP_RV410_5E4B (Adam Kirchhoff) 2005-12-02 23:57:37 +00:00
Brian Paul
99f13343cf Fix two failures encountered when running out of memory during XImage
allocation.
Append \n to _mesa_warning() strings.
2005-12-02 19:41:43 +00:00
Brian Paul
1b3128cc9a Test sizeof(drm_handle_t) instead of LONG64 when returning handles 2005-12-02 18:17:11 +00:00
Brian Paul
8716e7570d fix _mesa_ffs() return, test for more platforms (Evgeny Kotsuba) 2005-12-02 18:06:01 +00:00
Ian Romanick
5abff7bc4d Fix build issues on x86-64 due to missing include path in
glapi_x86-64.S.

Bug: #5602
2005-12-02 00:25:06 +00:00
Keith Whitwell
c9515bf1ae Call ProgramStringNotify after creating tnl programs. 2005-12-01 14:24:37 +00:00
Keith Whitwell
bfba2705b6 Remove VB->LastClipped 2005-12-01 12:54:21 +00:00
Keith Whitwell
dd4f0d1a93 Clean up clipping somewhat
- no need to update ClipMask on generated vertices
	- remove the VB->LastClipped value

Line clipping algorithm changed and simplified somewhat.  The old one
was based on the triangle routine and probably wouldn't have recognized
lines that were clipped down to nothing (ie culled, but not by a single
plane).
2005-12-01 12:53:15 +00:00
Brian Paul
f285f0d8f6 remove uintptr_t cast 2005-12-01 01:00:13 +00:00
Brian Paul
6b25193b92 try removing need for the uintptr_t casts 2005-12-01 00:59:51 +00:00
Brian Paul
0e31e02aef Added FinishRenderTexture() device driver function to indicate when
rendering to a texture has likely completed.
Fixed refcount issue in texture renderbuffer wrapper.
2005-12-01 00:25:00 +00:00
Brian Paul
cf2702e3db added comment about glTexImage and renderbuffers 2005-12-01 00:18:49 +00:00
Brian Paul
31e739a189 get depthBits from the current drawbuffer 2005-12-01 00:15:41 +00:00
Brian Paul
94ae2b4f25 fxt1_decode_1() should not be static 2005-11-30 14:47:34 +00:00
Ian Romanick
5910dfacf1 This is a major re-work of the __indirect_glInterleavedArrays routine. The
big, ugly, error prone switch-statement is replaced with a compact table.
I also added numerous comments, including a comment explaining how the
format parameter is validated.

Explicitly pass GL_FLOAT as the type in the cases where that is the only
possible value (e.g., everywhere except the call to glColorPointer).

Validate that stride is >= 0.

Tested with all modes (including the two error modes) of
progs/tests/interleave.c.

Bug: #5001, #5058
Reviewed by: Brian Paul
2005-11-30 00:06:48 +00:00
Brian Paul
96f216565e assorted fixes for server-side direct rendering (bug 5199) 2005-11-29 23:01:43 +00:00
Brian Paul
2d8eb9eaf3 remove dri_client/ dir from tarball 2005-11-29 22:41:23 +00:00
Brian Paul
126482a12f use the files from the drm tree/package 2005-11-29 22:37:19 +00:00
Michel Dänzer
9790e641ef If the DDX driver didn't reserve any video RAM for textures, fall back to
using only GART memory for textures instead of segfaulting in the texture
management code. (Bug 5115)
2005-11-29 13:13:34 +00:00
Brian Paul
58f45fa44d added _EGLExtensions typedef 2005-11-29 04:44:33 +00:00
Brian Paul
5285c32a17 Put extension flags, string into separate struct. 2005-11-29 04:43:37 +00:00
Brian Paul
f576450cae clean up the drmGetMap/drmMap code 2005-11-29 04:18:38 +00:00
Brian Paul
4683e8e954 apparently need to load colormap after setting the mode to make it work reliably 2005-11-29 03:00:02 +00:00
Keith Whitwell
2b8e66d210 Remove the many aliases for 'struct mem_block' in mm.h 2005-11-28 13:17:15 +00:00
Keith Whitwell
aae2b8b8eb Correct author attribution of mm.h 2005-11-28 12:05:29 +00:00
Brian Paul
4f12aa5a6a check for driver_modes == NULL. Don't need driver_modes for EGL driver 2005-11-28 00:04:35 +00:00
Brian Paul
a913d9f2f7 rearrange some code to put in more logical order, misc clean-ups 2005-11-28 00:02:06 +00:00
Brian Paul
3070a581fc Lots of fixes, clean-ups, new comments, etc.
To set the FBdev video mode, need to add a \n char to the string.
2005-11-28 00:00:08 +00:00
Brian Paul
d548bf41d3 Redo _eglInitSurface() so it can be used with all surface types.
Redo _eglInitContext() to do error checking, attribute list parsing, etc.
2005-11-27 23:57:19 +00:00
Brian Paul
49b2d2e90f include stdint.h for BSD 2005-11-27 23:46:55 +00:00
Brian Paul
024b5896f0 use ADD_POINTERS macro instead of (uintptr_t) cast 2005-11-25 17:07:10 +00:00
Keith Whitwell
96bf6abb66 Use _mesa_exec_free for fp->func. 2005-11-24 10:59:10 +00:00
Brian Paul
2a76d952b8 use new _egl_api struct 2005-11-24 04:06:51 +00:00
Brian Paul
1ac1c1c423 use _egl_api struct, make some functions static 2005-11-24 04:05:27 +00:00
Brian Paul
daf585d0f0 Move all the EGL API function pointers into a new _egl_api struct. 2005-11-24 04:02:16 +00:00
Brian Paul
d2c64e0b83 report error token in message printed in _eglError() 2005-11-24 03:53:46 +00:00
Brian Paul
b1abf1ea8e change error test in _eglParseConfigAttribs() 2005-11-24 03:48:19 +00:00
Brian Paul
ff707ead2b init attribs to EGL_DONT_CARE in _eglParseConfigAttribs() 2005-11-24 03:41:56 +00:00
Aapo Tahkola
181f2b92cb Couple changes that were missed. 2005-11-23 13:02:25 +00:00
Brian Paul
023c95481b check/print EGL_SCREEN_BIT_MESA, fix eglGetDisplay() call 2005-11-23 01:45:25 +00:00
Brian Paul
957b517c4f Choose the display mode / surface size in an intelligent way.
Fix // comments.
More error checking, etc.
2005-11-23 01:44:38 +00:00
Brian Paul
39591da355 update some comments 2005-11-23 01:42:40 +00:00
Brian Paul
a3d2c69e61 fixed wrong return value in radeonShowSurfaceMESA() 2005-11-23 01:39:56 +00:00
Brian Paul
b8829facc7 change error message 2005-11-23 01:38:30 +00:00
Brian Paul
b711eb793b use _eglLog() 2005-11-23 01:38:12 +00:00
Brian Paul
f049ca4e33 New _eglLog() function to replace fprintf/printf calls for debug/info. 2005-11-23 01:37:30 +00:00
Brian Paul
9bcc9e9174 reference bug 5131 in comment in _tnl_free_vertices() 2005-11-22 23:29:27 +00:00
Brian Paul
286f3fbb3a disable freeing of fp->func, see comment (bug 5131) 2005-11-22 23:27:27 +00:00
Keith Whitwell
e6e1c3fc11 Use correct enums for program output variables. Fixes
fp/tri-depthwrite.
2005-11-22 12:20:03 +00:00
Keith Whitwell
ec1ffd9f25 track state flags which might invalidate parameter lists 2005-11-22 12:12:17 +00:00
Keith Whitwell
5a771857d9 Make sure tnl->_DoVertexFog is kept uptodate. Fixes fog in i915
driver.
2005-11-22 10:58:05 +00:00
Dave Airlie
bf44f6cfac bit 31 of this inserts a nop after the current instruction 2005-11-21 11:39:49 +00:00
Dave Airlie
1ea61b5cad get rid of some of those unknowns figured out from reg dumper 2005-11-21 11:35:36 +00:00
Brian Paul
ec770b8c60 move _mesa_init_instruction() to program.c 2005-11-20 17:57:22 +00:00
Brian Paul
1a61462318 s/Saturate/SaturateMode/ 2005-11-20 17:54:29 +00:00
Brian Paul
e31ac05223 Make Saturate a 2-bit field again, renamed to SaturateMode with three
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
2005-11-20 17:52:40 +00:00
Brian Paul
22db535776 additional clean-ups and improvements 2005-11-19 23:45:10 +00:00
Brian Paul
55194df035 remove incorrect cast 2005-11-19 23:29:18 +00:00
Brian Paul
1353ebed81 Saturate is a 1-bit boolean field 2005-11-19 23:28:55 +00:00
Brian Paul
5d7b49f7e7 Bunch of little fixes:
Fix mem leaks in _mesa_TexEnvProgramCacheDestroy().
Check if ctx->Driver.BindProgram is non-null before calling.
s/unsigned/GLuint/
Use MAX_INSTRUCTIONS instead of magic 100, check program length after it's made.
Use _mesa_init_instruction() instead of _mesa_memset().
2005-11-19 23:12:20 +00:00
Brian Paul
1ad3b7e28b call gluDeleteQuadric() to fix mem leak 2005-11-19 23:09:14 +00:00
Brian Paul
6f445a1061 in run_texnorm_stage() check if the texture unit is really enabled before trying to normalize the texcoords 2005-11-19 17:08:15 +00:00
Brian Paul
41c8eabe0f update some vars 2005-11-19 16:50:36 +00:00
Brian Paul
63d683091f No longer derive 'ati_fragment_shader' from 'program' class. Only the
program->Id and program->RefCount fields were used and ATI fragment shaders
didn't have too much in common with ARB/NV vertex/fragment programs anyway.
2005-11-19 16:43:04 +00:00
Brian Paul
430c469c5b remove #include arbfragparse.h 2005-11-19 15:44:53 +00:00
Brian Paul
47e511c36d remove #include arbfragparse.h, s/PI/M_PI/ 2005-11-19 15:42:39 +00:00
Brian Paul
9fd133511c removed arbfragparse.[ch] arbvertparse.[ch] 2005-11-19 15:37:00 +00:00
Brian Paul
8c41a14c5e Remove the _mesa_parse_arb_vertex/fragment_program() functions into
arbprogparse.c and remove arbvertparse.[ch] and arbfragparse.[ch].
Clean up quite a bit of the arb parsing code.
Rewrite parser extension code to avoid a mess of string operations every
time the parser was used.
2005-11-19 15:36:28 +00:00
Brian Paul
5754809421 update comments, remove ^M chars 2005-11-19 14:57:47 +00:00
Brian Paul
8c765ad312 move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.h 2005-11-19 14:49:25 +00:00
Aapo Tahkola
ddf61bfec9 Try to detect when native support to given texture width is not available. 2005-11-18 20:53:50 +00:00
Aapo Tahkola
f31448f3c8 Fix typo causing secondary color not to work properly. 2005-11-18 18:05:19 +00:00
Aapo Tahkola
40ca5b455f Reduce stderr noise. 2005-11-18 17:57:27 +00:00
Brian Paul
311bcf5090 In _mesa_RenderbufferStorageEXT(), try to avoid needless reallocation.
Simplify _mesa_GetRenderbufferParameterivEXT() queries.
2005-11-18 02:24:14 +00:00
Brian Paul
948ab5d8a9 move _mesa_update_state() calls before error tests that depend on framebuffer completeness 2005-11-17 05:01:26 +00:00
Brian Paul
74e9a43a2a optimize drawing GL_DEPTH_STENCIL pixels into a GL_DEPTH_STENCIL renderbuffer 2005-11-17 05:00:17 +00:00
Brian Paul
5ba41dfa81 s/MEMCPY/_mesa_memcpy/ and fix typo 2005-11-17 04:51:56 +00:00
Brian Paul
11f179e01b optimize case of reading GL_DEPTH_STENCIL pixels from GL_DEPTH_STENCIL renderbuffer 2005-11-17 04:51:08 +00:00
Brian Paul
f81c78f87d delete frame/renderbuffers upon exit, more error checking 2005-11-17 02:08:10 +00:00
Brian Paul
547113c16c improved error checking in error_check_format_type() 2005-11-17 02:05:42 +00:00
Thomas Hellström
154cc16d08 Fixes for x86_64 Unichrome. 2005-11-16 19:24:00 +00:00
Thomas Hellström
0ba7be0a50 Bring in last minute 6_4 branch changes to the unichrome driver
to the trunk.
2005-11-16 17:24:26 +00:00
Brian Paul
32fe233d54 added -ds option to test GL_EXT_packed_depth_stencil with framebuffer objects 2005-11-16 14:48:11 +00:00
Brian Paul
0f29ef6092 additional comments about GL_DEPTH_STENCIL buffers 2005-11-16 04:17:20 +00:00
Brian Paul
94f70fab64 added depthstencil.[ch] 2005-11-16 04:12:08 +00:00
Brian Paul
1a5f1bdb42 Use new gl_framebuffer _Depth/_StencilBuffer fields instead of
Attachment[BUFFER_DEPTH/STENCIL].Renderbuffer.  The former may be wrappers
around combined depth/stencil renderbuffers attached at the later points.
2005-11-16 04:09:26 +00:00
Brian Paul
909e8a7abb added depthstencil.c 2005-11-16 04:06:32 +00:00
Brian Paul
847160466c Support for combined depth/stencil renderbuffers (GL_EXT_packed_depth_stencil).
depthstencil.c provides wrappers for treating depth/stencil buffers either
as regular depth or stencil renderbuffers.
2005-11-16 04:05:54 +00:00
Brian Paul
06185363dd added _mesa_new_depthstencil_renderbuffer() for combined depth/stencil buffers 2005-11-16 04:00:31 +00:00
Brian Paul
c731d6223c Added error checking in _tnl_Begin to detect incomplete framebuffer.
Set new tnl->DiscardPrimitive field to true when such error is
detected to discard the glBegin/End primitive when flushing.
Added some new comments.
2005-11-16 02:47:16 +00:00
Brian Paul
0ad64faec7 change an assertion 2005-11-16 02:00:34 +00:00
Brian Paul
738f501f73 Replace GL_POLYGON+1 with PRIM_OUTSIDE_BEGIN_END 2005-11-16 01:58:19 +00:00
Brian Paul
62620d349b add GL_INVALID_FRAMEBUFFER_OPERATION_EXT in _mesa_error() 2005-11-16 01:11:06 +00:00
Brian Paul
daeb0056df fix color interpolation problem reported on VMS 2005-11-15 15:08:03 +00:00
Brian Paul
7edf68e081 check for ctx==NULL, bug 4087 2005-11-15 14:50:55 +00:00
Brian Paul
1e134cf7e4 Fix problem in stencil_and_ztest_span() when using h/w stencil buffer.
Fix a comment typo.
Remove some unneeded #includes.
2005-11-15 04:01:29 +00:00
Ian Romanick
5ef524cd01 Two subtle things missed on the previous commit. 2005-11-15 01:55:46 +00:00
Ian Romanick
a163256cc2 Add the ability for interleave to test passing invalid format enums
and invalid stride values (see bugzilla #5058).
2005-11-15 01:46:49 +00:00
Ian Romanick
e5700a1ba3 Simple test of glInterleavedArrays functionality. 2005-11-14 23:31:05 +00:00
Brian Paul
cb6b47b795 remove unneeded RasterPosValid check 2005-11-14 18:23:56 +00:00
Brian Paul
7b98b40e47 Improve _mesa_print_program().
Added make_state_string() to produce a string from a GL state vector.
2005-11-12 23:25:49 +00:00
Brian Paul
b3c095f074 fix comment for TexSrcTarget 2005-11-12 23:24:32 +00:00
Brian Paul
662fbf8a62 Added _mesa_light() helper function so we can avoid transforming then
un-transforming light positions and spot directions when popping light
state off the attribute stack.
2005-11-12 18:58:12 +00:00
Brian Paul
ba3da6154c Added OSMesaColorClamp(), bug 4917 2005-11-12 18:44:29 +00:00
Brian Paul
e3636b4114 update an assertion 2005-11-12 17:59:05 +00:00
Brian Paul
bed8363aa6 update some assertions 2005-11-12 17:56:18 +00:00
Brian Paul
de99760bf3 Move stuff common to vertex/fragment_program into the base class, including:
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-12 17:53:14 +00:00
Brian Paul
77ee31930a Make _mesa_is_proxy_texture() non-static and use in a few more places.
Use COPY_4FV() where possible.
Added some comments, clean-ups.
2005-11-11 15:33:36 +00:00
Ian Romanick
0325bc6359 Support for "fragment program to C" and TCC has been removed from the
source code, so there is no reason for this config to exist.  This
fixes fdo bugzilla #5004.
2005-11-10 16:25:37 +00:00
Brian Paul
418a7dbd75 s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments 2005-11-10 16:22:56 +00:00
Brian Paul
6297799fee fix popping of GL_SPOT_DIRECTION (bug 5005) 2005-11-10 16:19:44 +00:00
Brian Paul
db40ebfbb7 remove -DMESA_DEBUG 2005-11-10 05:10:49 +00:00
Brian Paul
1984aabe83 Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).
Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.
2005-11-10 05:10:25 +00:00
Brian Paul
a8446f72f4 fix popping of GL_EYE_PLANE state (bug 4996) 2005-11-09 16:52:21 +00:00
Brian Paul
a8717180d9 Bug 4996.
Replace use of FLOAT_TO_USHORT with either CLAMPED_FLOAT_TO_USHORT or
UNCLAMPED_FLOAT_TO_USHORT.  Same should be done for UBYTE, UINT, etc.
2005-11-09 16:30:50 +00:00
Brian Paul
cfca72cfb1 use UNCLAMPED_FLOAT_TO_USHORT/UBYTE in clear_rgba_buffer() (bug #4992) 2005-11-09 01:17:33 +00:00
Brian Paul
8850a7e20f Move COPY_FLOAT() macro down into glide driver.
Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as
originally intended.
2005-11-09 00:56:51 +00:00
Ian Romanick
5374e4ba7e At keithw's request, remove all traces of the "fragment program to C" and
TCC experiment.
2005-11-08 22:54:22 +00:00
Ian Romanick
4884db6eb2 This patch adds the missing NV_vertex_program2 and NV_vertex_program3
instructions to the various internal tables.  It does not add support for
them to the parser nor does it add support for them to the program
interpreter.

It also corrects some errors in the comments in program_instruction.h.

This patch breaks the instruction union in t_vb_arbprogram.h.  The opcode
field in that union was only 6 bits.  When there were only 59+3 instructions
that worked fine. However, this patch increases the base instruction count
to 69.  This requires 7 bits.  The problem is that increasing the opcode
width to 7 bits increases the size of instruction::rsw to 33 bits.  I've
increased the size of the union to 64-bit, but this is just a temporary hack
(and probably breaks the build on some systems).
2005-11-08 22:40:26 +00:00
Brian Paul
e1a5edf083 s/_mesa_debug_fp_inst/_mesa_print_program/ 2005-11-08 14:53:24 +00:00
Brian Paul
bdd80bf819 remove _mesa_debug_fp_inst() 2005-11-08 14:52:51 +00:00
Brian Paul
0bffb1192a some initial work on upcoming GL_EXT_framebuffer_blit extension 2005-11-08 14:45:48 +00:00
Brian Paul
3e9c099088 remove a bunch of extension stuff that's in glxext.h 2005-11-08 14:44:07 +00:00
Brian Paul
02df9e1ed4 minor work in _mesa_print_program() 2005-11-08 14:42:52 +00:00
Brian Paul
832026f906 remove unneeded #includes 2005-11-08 14:41:41 +00:00
Brian Paul
beff21e7bf remove unneeded #includes 2005-11-07 17:36:34 +00:00
Brian Paul
189bbe0b8c s/_mesa_debug_fp_inst/_mesa_print_program/ 2005-11-07 16:03:46 +00:00
Brian Paul
c657d8e3e4 s/_mesa_debug_vp_inst/_mesa_print_program/ 2005-11-05 20:18:51 +00:00
Brian Paul
30d6a4bffa consolidate vertex/fragment program printing into _mesa_print_program() 2005-11-05 20:18:18 +00:00
Brian Paul
237dae74f7 use _mesa_program_file_string() and _mesa_opcode_string() 2005-11-05 19:33:13 +00:00
Brian Paul
bf41bc03c2 added _mesa_program_file_string() 2005-11-05 19:32:36 +00:00
Brian Paul
b7c87974b3 Use _mesa_opcode_string() 2005-11-05 19:24:08 +00:00
Brian Paul
c289f48342 use _mesa_num_inst_src_regs() and _mesa_opcode_string() 2005-11-05 19:16:19 +00:00
Brian Paul
b88fb724e6 use _mesa_num_inst_src_regs() instead of nr_args() 2005-11-05 19:15:27 +00:00
Brian Paul
1fcdaf1c3b added _mesa_num_inst_src_regs() and _mesa_opcode_string() 2005-11-05 19:12:36 +00:00
Brian Paul
637c375ee2 s/Negate/NegateBase/ 2005-11-05 17:23:45 +00:00
Brian Paul
9ba4ef3102 s/TexSrcIdx/TexSrcTarget/ 2005-11-05 17:18:09 +00:00
Brian Paul
7e807510d8 Unify vertex/fragment program instuctions.
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-05 17:10:45 +00:00
Brian Paul
73347516be remove unneeded #includes 2005-11-05 17:08:50 +00:00
Brian Paul
41c8b71871 remove unneeded #include 2005-11-05 17:07:00 +00:00
Aapo Tahkola
47adbde5e5 Fix broken build. 2005-11-05 14:49:26 +00:00
Brian Paul
8894a55d5f added MESA_GLX_ALPHA_BITS env var 2005-11-05 03:12:06 +00:00
Brian Paul
fd4395b8d1 don't need MAKE_SWIZZLE() macro 2005-11-05 03:02:28 +00:00
Brian Paul
613e1ad5d5 Replace parameter_type enum in program.[ch], use register_file enums instead. 2005-11-05 02:15:21 +00:00
Brian Paul
4d0b7618cb minor improvements in _mesa_init_teximage_fields() 2005-11-05 02:12:44 +00:00
Brian Paul
95ebb5f485 use VERT_RESULT_HPOS, VERT_BIT_POS tokens 2005-11-04 16:52:41 +00:00
Brian Paul
2cb1cf484a better ffs() function (bug 4956) 2005-11-04 16:47:22 +00:00
Brian Paul
8ff68b2bf3 just pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine struct 2005-11-04 16:43:28 +00:00
Brian Paul
c12ee99d11 MESA_GLX_ALPHA_BITS env var to force visual with alpha channel 2005-11-04 16:41:06 +00:00
Brian Paul
f805cdfedf remove unneeded HIDDEN definition (bug 4956) 2005-11-04 00:58:17 +00:00
Brian Paul
84f3ff91d9 fix MinGW problems (bug 4956) 2005-11-04 00:52:08 +00:00
Adam Jackson
d78834b306 s/dri.sourceforge.net/dri.freedesktop.org/ 2005-11-03 20:49:07 +00:00
Brian Paul
72030e0d91 Streamline code generation by using a fixed size instruction buffer in
arb_program struct.
2005-11-03 03:30:34 +00:00
Brian Paul
ccfe3d4683 use WRITEMASK_* tokens 2005-11-03 02:35:15 +00:00
Brian Paul
7ae9713a60 s/15/VERT_RESULT_MAX/ 2005-11-03 02:28:47 +00:00
Brian Paul
1624162b0c added a const, clean-up 2005-11-03 02:26:47 +00:00
Brian Paul
45cd2f9305 fix typo, minor clean-ups 2005-11-03 02:25:10 +00:00
Brian Paul
bcf4ae7816 added osdemos/ dir to DEMO_FILES 2005-11-02 21:01:26 +00:00
Brian Paul
60031ace75 implement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad) 2005-11-02 20:59:37 +00:00
Brian Paul
90ebb581e6 Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention 2005-11-02 18:06:12 +00:00
Jouk Jansen
5a02209cd2 Committing in .
Updated OpenVMS compile support (define tnl for include files)
 Modified Files:
 	Mesa/src/mesa/drivers/common/descrip.mms
 ----------------------------------------------------------------------
2005-11-02 15:24:14 +00:00
Aapo Tahkola
eda460035e Use ctx->VertexProgram._Current . 2005-11-02 14:12:52 +00:00
Aapo Tahkola
26b1c97a9d Remove some ghost code and adjust things a bit. 2005-11-02 14:07:03 +00:00
Keith Whitwell
e4894177ba More useful ARL test 2005-11-02 12:58:38 +00:00
Eric Anholt
3a5626cb84 First step of Radeon DRI unification:
- Makes all three drivers use the same screen structure and setup code, with a
  few ifdefs for the separate compilation to deal with symbols not being
  available to all drivers and the fact that we have no mechanism for dealing
  with different config options for different chip families in the same driver.
  These issues should be dealt with later.
- Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
  different paths depending on the general class of chipset.
- Adds many new R300-class PCI IDs, though not all those listed in
  radeon_driver.c.
2005-11-02 01:15:07 +00:00
Keith Whitwell
a9b927cb6e add an arl test 2005-11-01 20:29:59 +00:00
Aapo Tahkola
a546abc8da Fix broken tnl stage. 2005-11-01 18:12:58 +00:00
Keith Whitwell
f4fbda35b0 Add a NotifyInputChanges() callback so that drivers (particularly tnl
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
2005-11-01 17:29:46 +00:00
Keith Whitwell
c3626a91ce Several fp and vp tweaks:
- Renumber VERT_RESULT_* values so that they match the
	  numbers of the corresponding FRAG_ATTRIB_ values.

        - Add ctx->VertexProgram._Current and FragmentProgram._Current
	  values which point to either the current client-supplied
	  program if enabled, or otherwise to the current mesa-internal
	  program.  Thus this program is always the correct one for
	  the current state, providing that the mesa flags to turn on
	  automatic generation are enabled.

	- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
	  and t_vp_build.c so that the driver knows when the generated
	  program changes.  This is cleaner than trying to code all the
	  possible _NEW_* flags into the driver, and more precise as well.

	- Add a UsesKill flag to identify fragment programs with that
	  instruction, as these can require special treatment.

	- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
2005-11-01 17:25:49 +00:00
Aapo Tahkola
6aa6d440d9 Re-enable fallbacks. 2005-11-01 16:59:13 +00:00
Aapo Tahkola
e7d6bb9dc4 -Fix first frame -bug
-Use 16-bit elts in vtxfmt_a path if possible
-Optimize VSF param uploading
-return in r300DepthMask looks suspicious, use r300Enable instead
-Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)
2005-11-01 15:52:08 +00:00
Aapo Tahkola
3cf156df2b Fix segmentation fault in _tnl_ProgramCacheDestroy(). 2005-11-01 15:43:06 +00:00
Keith Whitwell
da70bc6baa Make colors match the fp tests (really) 2005-11-01 12:22:48 +00:00
Keith Whitwell
a605d9c3de Make colors match the fp tests 2005-11-01 12:20:13 +00:00
Keith Whitwell
d9f362a667 standalone tests for vp instructions 2005-11-01 06:28:39 +00:00
Brian Paul
0505103710 Re-org and clean-up of vertx/fragment program limits (instructions,
temporaries, parameters, etc).
glGetProgramivARB() now returns all the right things.
Updated i915 and r300 code to initialize program native limits and
current program's native instruction/temporary/etc counts.
2005-11-01 04:36:33 +00:00
Brian Paul
ffec105109 fix problems found with gcc 2.96 (bug 4934) 2005-10-31 21:52:56 +00:00
Brian Paul
dcf4c17fb1 check swrast->_FogEnabled instead of ctx->Fog.Enabled 2005-10-31 19:46:55 +00:00
Aapo Tahkola
821b3dd562 Need more than 200 instructions. 2005-10-31 14:37:33 +00:00
Aapo Tahkola
37f2eaa316 Improve tnl program searching performance. 2005-10-31 14:34:32 +00:00
Brian Paul
18e7c5c5fe Simplify parse_attrib_binding().
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
hard-coded numbers.
Note: previous check-in did similarly for output register parsing.
2005-10-30 21:46:00 +00:00
Brian Paul
7aebaf3deb Lots of clean-up in arb program parser.
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
2005-10-30 21:23:23 +00:00
Brian Paul
094a1ddf24 need to use absolute value for RSQ 2005-10-30 16:52:02 +00:00
Brian Paul
5d04101d18 added some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently fails sometimes 2005-10-29 18:29:54 +00:00
Brian Paul
32df89e12d Use MAKE_SWIZZLE4() macro in a few more places.
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
2005-10-29 18:26:43 +00:00
Brian Paul
5b3cf5af74 reduced swizzle comment 2005-10-29 18:18:46 +00:00
Brian Paul
1a979736a6 Free old parameter list before assigning new one. FIxes memory leak. 2005-10-29 17:07:09 +00:00
Brian Paul
5244fc6d60 added warning about use of REG_SCRATCH 2005-10-29 16:51:34 +00:00
Brian Paul
3c2f8b22b9 clean-up comments 2005-10-29 16:17:01 +00:00
Brian Paul
a2e696e521 s/lenght/length/ 2005-10-29 16:15:47 +00:00
Brian Paul
af13891dbd fix LIT bug 2005-10-29 16:05:18 +00:00
Brian Paul
4174f79b19 fix a few bugs in SWZ execution 2005-10-29 16:03:19 +00:00
Brian Paul
db02ab767f fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string() 2005-10-29 15:56:53 +00:00
Brian Paul
4570364097 If parsing a program fails, don't change the vertex/fragment program object.
Specifically, don't attach a dummy program.
This change also fixes an occasional segfault.
Some code clean-ups.  Use GLboolean instead of GLuint to return pass/fail.
2005-10-29 15:52:31 +00:00
Eric Anholt
aba878d8c2 Bug #4901: Correct secondary color emission when lighting is turned off, tested
with seccolor on rv200 and r200.

Submitted by:	sroland
2005-10-29 00:27:01 +00:00
Ian Romanick
d7d41ceeb0 Add new test "texfilt". This test is a cousin to texwrap. Instead of
testing various texture wrap modes, this test examines various texture
filter modes, including anisotropic.

Add CFLAGS to a couple places in Makefile so that 32-bit builds on
64-bit archs will work correctly.
2005-10-28 18:41:03 +00:00
Brian Paul
3eec2901db Keith's fixes for RSW and XPD (need temporaries) 2005-10-28 15:40:08 +00:00
Brian Paul
86734ddae4 include tnl.h to silence warning 2005-10-28 15:22:28 +00:00
Brian Paul
b3c98e6205 Added assert that result != arg0 in do_RSW. This currently fails and needs fixing. 2005-10-28 14:41:06 +00:00
Brian Paul
b5ee368baf TNL module needs to implement ctx->Driver.ProgramStringNotify() function
so that calls to glProgramStringARB() to specify a new program causes the
TNL-attached data to get recomputed.
2005-10-28 14:32:49 +00:00
Brian Paul
f51bf9e23c add newline at end of file 2005-10-28 13:12:28 +00:00
Brian Paul
8cb2923038 don't use -Wmissing-prototypes for C++ code 2005-10-28 13:11:00 +00:00
Brian Paul
ca33e21165 silence a bunch of compiler warnings 2005-10-28 13:09:23 +00:00
Aapo Tahkola
5222c58a68 Silence gcc-4 warnings. 2005-10-28 12:43:41 +00:00
Aapo Tahkola
dc44372ba7 Fix texture mixup when two or more contexts. 2005-10-28 12:14:58 +00:00
Dave Airlie
eb171b0c10 fix missing commit for span changes 2005-10-28 12:05:25 +00:00
Dave Airlie
3b3adf3daa fix up radeon span functions using latest r200 code from Brian,
tested with reflect on 32-bit.. not sure why depthHasSurface isn't needed
2005-10-28 12:00:09 +00:00
Aapo Tahkola
a4af1119f5 Compiled arrays for vtxfmt_a path. 2005-10-28 09:28:32 +00:00
Eric Anholt
9c8f649930 GC a bit of dead code I noticed while looking at texwrap. 2005-10-28 07:00:41 +00:00
Eric Anholt
c57be49099 Correct the ordering of the blend constant color. 2005-10-28 06:15:11 +00:00
Eric Anholt
4b9f1308e5 Add support for GL_EXT_stencil_wrap, from hearing that the windows drivers did
it, and guessing that the two remaining entries in the 3-bit values were the
new funcs.  Tested with modified stencilwrap test.  Also, remove the commented
fallback stuff -- more modification to stencilwrap suggests that those issues
were just from span readback, not stencil implementation.
2005-10-27 21:21:05 +00:00
Eric Anholt
215c4c3a9c Bug #1028: Add hardware-accelerated stencil support to r128. Testing with
stencilwrap reported many issues with various modes.  Some of these were
complicated by the fact that spans are broken (Bug #1615), but some appear to be
real bugs.  However, while spans remain broken, I found that visual results were
better by avoiding fallbacks rather than avoiding just a broken stencil
implementation.  Note that this required changing the depth spans at 24+8bpp
into read-modify-write cycles.  It would be nicer as a single write with
a mask, but the kernel span blits turn off masking.

Reviewed by:	ajax
2005-10-27 20:26:24 +00:00
Eric Anholt
512c994b92 Bug #4900: Fix the non-fogcoord fog test on r100 (and rv200) at tcl_mode=1 by
flipping the signs on two factors.  While this contradicts the DDK, it matches
what r200 does, and it fixes the test.
2005-10-27 19:59:41 +00:00
Eric Anholt
170a61ec00 Add support for HW stencil spans, mirroring the depth spans support. Used for
Rage 128 stencil support.
2005-10-27 06:01:50 +00:00
Eric Anholt
2d0c92d81b Bump driver date for recent extension adds. 2005-10-27 01:46:39 +00:00
Aapo Tahkola
03833ba2ca Cover my arse. 2005-10-26 18:02:37 +00:00
Aapo Tahkola
d240b29b95 Reduce stderr noise and fix some compiler warnings. 2005-10-26 17:55:28 +00:00
Aapo Tahkola
22605caea8 Remove few outdated r200 files. 2005-10-26 17:04:15 +00:00
Aapo Tahkola
4dc3249f0d Sync with my local tree.
Changes to current operation:
-Elts are no longer converted to 16-bit format
-Cube maps
2005-10-26 16:42:06 +00:00
Aapo Tahkola
23f076ca67 Fix invalid vsf temp count for rv350. 2005-10-26 13:35:41 +00:00
Eric Anholt
5f79025e0d Fix the RGB order of the specular color emit, and turn GL_EXT_secondary_color
back on.  Tested using seccolor modified to use the blue channel instead of
green, since green stays in the same place across RGB/BGR mistakes.  Also hook
in UpdateSpecular on COLOR_EXT change, which might have resulted in missing
statechanges before.
2005-10-26 10:46:49 +00:00
Eric Anholt
f8a5898ca0 Add support for GL_EXT_fog_coord, tested using tests/fog.c. (Also, matches the
output from indirect rendering).
2005-10-26 10:11:34 +00:00
Eric Anholt
9eaed1178d Add built programs to .cvsignore. 2005-10-26 09:53:38 +00:00
Eric Anholt
896735e412 Add a fog mode (normal and fog_coord, leaner/exp/exp2 mode) testing program I
wrote for sis, which has also exposed a few bugs elsewhere.
2005-10-26 09:48:03 +00:00
Eric Anholt
2330ed08c3 Add disabled support for GL_EXT_fog_coord. While it seems correct to me, it's
not respecting the coords (or perhaps interpreting them differently?) in my
testing.  However, in the process it led to a fix of a secondary color handling
issue where it would be taken from the wrong offset, I believe, based off of
reading the r200 driver.  Also add a minor tweak to save time in the
fog-but-not-specular case.
2005-10-26 09:37:53 +00:00
Eric Anholt
a09d002bb5 Move the front.offset setting above a check to shortcut reallocating buffers if
width and height stayed the same.  Rely on front.offset pointing at the origin
in the window (rather than the origin of the front buffer), and fix the coords
in swapbuffers, which were wrong.  This is different from other drivers because
we've got a back buffer with a 0,0 origin at the window's origin, which makes it
more convenient to have the front buffer match it.
2005-10-25 21:10:28 +00:00
Eric Anholt
f1113fa99d Initial add of some (disabled) SiS 6326 drawing code integrated from Alan Cox's
last drop I saw, which was in turn based on a code drop of mine.  Texturing,
culling, and several extensions are unimplemented, and some features could
probably be improved. It's untested, but there don't appear to be regressions on
the 300-series code, so I'd like to get these bits in now so that it can be
worked on as not a huge diff.
2005-10-25 20:37:01 +00:00
Brian Paul
7e4cc1c29f updates from 6.4 branch 2005-10-24 23:33:27 +00:00
Eric Anholt
005070a62a Cut a bunch of code by not trying to precompute the blit commands and instead
just do it per blit.  No noticable performance difference (or behavior
difference, in my tests), and a significant difference in sanity.
2005-10-24 22:38:11 +00:00
Eric Anholt
7040b7ad88 In the last commit I added in a fatal error on unknown base formats so I
wouldn't get confused when adding support for new formats.  However, it resulted
in dying in texenv instead of drawing something undefined for GL_DECAL.  Do what
GLcore apparently does and just pass the fragment through.
2005-10-24 22:23:52 +00:00
Eric Anholt
f33beed330 Fix and enable GL_MESA_ycbcr_texture. Looks fine with yuvrect. I'm slightly
concerned that TEXEL_YUV422 looks like TEXEL_YVU422 and TEXEL_VUY422 looks like
TEXEL_VYU422 in yuvrect, but I'm happy enough for now.
2005-10-24 22:01:40 +00:00
Eric Anholt
81d3bf58ff Add support for GL_EXT_secondary_color, tested with seccolor test. 2005-10-24 21:30:06 +00:00
Eric Anholt
310f1551b4 Turn off the AGP dispatch path yet again, as it seems to be broken (found with
tuxracer and the upcoming support for secondary color).
2005-10-24 21:19:06 +00:00
Brian Paul
32340aea13 fragment program writing to result.depth.z was broken 2005-10-24 19:28:36 +00:00
Adam Jackson
c92adf4682 Add RV350 AQ chip. (popolon at popolon dot org) 2005-10-24 17:42:55 +00:00
Eric Anholt
414b742c97 Since we memcpy texture data synchronously to the card, idle the engine before
we start copying.  I haven't seen it go wrong before, but I'm pretty sure this
fix is correct.
2005-10-24 10:24:23 +00:00
Eric Anholt
60b639b9a6 - Add a few more hardware internal formats that are supported. Some remaining
ones require custom texstore, so they aren't done yet.
- Add YCBCR support commented out, since the yuvsquare test didn't work with
  just the bits I've added.
- Add the no-compression GL_ARB_texture_compression support.
- Add the driconf texture depth option and try to respect it.
2005-10-24 09:59:43 +00:00
Eric Anholt
971bdc193c Fix the GL_BLEND case (and remove the fallback associated with it) by converting
the float values to bytes before packing them.  Tested with texenv.
2005-10-24 09:02:07 +00:00
Eric Anholt
9e87119d87 Fix texenv by moving a misplaced check for being in fallback (should cover only
render state, not texture state).  While here, move a SIS_FIREVERTICES to a more
appropriate location, though it was harmless.
2005-10-24 08:27:30 +00:00
Eric Anholt
9192ab3f5d Add support for GL_ARB_texture_border_clamp and GL_ARB_texture_mirrored_repeat,
tested using texwrap, fixing the sourcing of border constant values (use the
bytes, not the floats!).  Remove the fallback on GL_CLAMP_TO_EDGE, which acts
properly, and add a note to GL_CLAMP about nonconformance (whcih is what the
fallback for CLAMP_TO_EDGE was probably targeting).
2005-10-24 08:02:44 +00:00
Eric Anholt
6efd595bf5 Fix a typo in a fallback string. 2005-10-24 07:21:56 +00:00
Eric Anholt
dc793d4e9a Add support for GL_EXT_stencil_wrap by guessing that the skip of two values in
the register header was meaningful.  It turns out those were the proper values
for the plain INCR/DECR ops, while what we were using as INCR/DECR were the
_WRAP versions.  Tested with stencil_wrap (didn't expose normal/_WRAP swapping)
and stencilwrap (exposed it nicely) tests.  Props to idr for poking me about
adding this.
2005-10-24 06:40:56 +00:00
Roland Scheidegger
3265585b15 disable yuv textures (GL_MESA_ycbcr_texture) on rv250 (hw bug, #2078). Change the initialization to fail if an unknown pci id is detected, instead of accepting all values which are not r100-based radeons. 2005-10-22 02:03:13 +00:00
Eric Anholt
1c04be573e Fix FreeBSD build by building libGL in the order desired, and doing a fix to my
mklib changes.
2005-10-22 01:41:40 +00:00
Brian Paul
52f686c480 fix GLX server resize/crash when resizing windows 2005-10-21 21:39:10 +00:00
Brian Paul
7d3b26022b check span.y >=0 (bug 4842) 2005-10-21 18:35:35 +00:00
Keith Whitwell
e516654dec new depth tests 2005-10-21 18:34:22 +00:00
Keith Whitwell
f28cbb6a7f simplify, remove sgi messages 2005-10-21 18:33:53 +00:00
Brian Paul
32a7ab2197 Darwin version fix (SF bug 1334274) 2005-10-21 15:39:42 +00:00
Brian Paul
54cfe69436 fix broken SWZ instruction 2005-10-21 15:22:36 +00:00
Brian Paul
b3f2e15035 fix broken KIL 2005-10-21 14:22:38 +00:00
Keith Whitwell
3a09ea919c better looking tests 2005-10-21 10:27:37 +00:00
Keith Whitwell
2ea6b800c0 Make test visible 2005-10-21 10:07:52 +00:00
Keith Whitwell
8975cbb36b Better looking test. 2005-10-21 08:34:06 +00:00
Dave Airlie
eedc45709f add the tile bits for offset, and unk bit 31 of size 2005-10-21 06:20:27 +00:00
Brian Paul
f468dfde17 restore FASTCALL stuff 2005-10-20 22:51:50 +00:00
Brian Paul
adfd5510c0 fix bad loops in TransposeMatrix[fd]() 2005-10-20 22:04:01 +00:00
Keith Whitwell
a90909e892 A bunch of little tests which exercise each ARB_fp instruction plus
a couple of other interesting cases.
2005-10-20 21:40:23 +00:00
Brian Paul
f344be793c added mm.c mm.h execmem.c 2005-10-20 21:29:32 +00:00
Brian Paul
255afe4abd fix another renderbuffer wrapping bug 2005-10-20 21:25:41 +00:00
Brian Paul
c8f86105d0 Disable the FASTCALL optimization because it still breaks server-side GLX. 2005-10-20 21:12:35 +00:00
Eric Anholt
6f980dbf21 Bump driver dates for the crasher fixes yesterday. 2005-10-20 20:11:46 +00:00
Jouk Jansen
b50a51118c descrip.mms syntax correction 2005-10-20 13:06:03 +00:00
Dave Airlie
806e25a5d9 fixes for r300_tex.c from Aapo Tahkola 2005-10-20 06:06:18 +00:00
Brian Paul
301c3dcb6c s/glut_gz2/glut_bz2/ 2005-10-19 20:26:13 +00:00
Eric Anholt
2420318cd9 Make SiS a little more like other drivers: Add SIS_DEBUG (only option being
"fall" so far) and make the fallback_force option be no_rast like other drivers.
Incidentally, makes no_rast not crash (though it still fails to render).
2005-10-19 03:23:29 +00:00
Eric Anholt
e0cb784e03 Remove some long-dead code. 2005-10-19 03:07:05 +00:00
Eric Anholt
d76c7d7d3e Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
in __driCreateNewScreen_20050727 resulted in crashing in dispatch.
2005-10-19 02:46:42 +00:00
Brian Paul
dc4070c787 updated for new mm.c, execmem.c files 2005-10-19 01:28:14 +00:00
Brian Paul
ca2db58166 s/memcpy/_mesa_memcpy/, s/FREE/_mesa_free/ 2005-10-19 01:26:48 +00:00
Eric Anholt
deadd47aab Bug #4615: Fix the SiS driver for the renderbuffer changes. Previously, all
drirenderbuffers pointed at screen offset 0 and NULL.  Instead, set up the front
buffer at startup but leave the others for later, since sis allocates them on
demand rather than using the static method of the other non-sis-descendent
drivers.  Some basic apps work, but fallbacks may be broken still.
2005-10-19 00:53:05 +00:00
Eric Anholt
bf3f0bcf80 Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
in __driCreateNewScreen_20050727 resulted in crashing in dispatch.  Rendering
remains broken.
2005-10-18 23:48:59 +00:00
Eric Anholt
b83435f53b Attempt to fix libGL on FreeBSD, where the library was being built without any
dependencies, breaking builds of third-party software.
2005-10-18 23:36:40 +00:00
Brian Paul
d99c37bca6 move _mesa_exec_malloc/free() up near other malloc/free prototypes 2005-10-18 15:02:45 +00:00
Brian Paul
1c236fd5c7 Lots of clean-ups. Replace __inline__ with INLINE macro. Use the
_mesa_calloc(), _mesa_free() functions.  Clean-up formatting, doxygen-style
comments.
2005-10-18 15:01:19 +00:00
Keith Whitwell
005469005d Add _mesa_exec_malloc() and _mesa_exec_free() for allocating
executable memory.  Based on Thomas Hellstrom's patch.
TODO: glapi.c also needs this, but cannot access this code.
2005-10-18 13:29:59 +00:00
Roland Scheidegger
05e1a49ab4 on r200, don't emit fog coords when fog isn't actually enabled. Fix bug with vtxfmt not causing a fallback when fog coords are active. 2005-10-18 13:09:53 +00:00
Brian Paul
730200303d added some header files to DRI_FILES (Donnie Berkholz) 2005-10-17 22:38:44 +00:00
Roland Scheidegger
2d61d30117 add GL_EXT_fog_coord support to radeon driver. No vtxfmt code (just uses fallback) yet. May cause a tcl fallback if fog coord is used together with separate specular lighting. Fog factors are precomputed and then submitted instead of the raw coords (chip limitation, same as on r200). 2005-10-17 00:54:12 +00:00
Roland Scheidegger
dd5a86339f fix some obvious typos in radeon_reg.h (only currently unused bits affected) 2005-10-16 22:45:59 +00:00
Roland Scheidegger
247f3b3e81 enable cube maps on radeon (#2241 on bugzilla). No vtxfmt code yet (just generates vfmt fallback). Code by Andreas Stenglein, some small adjustments by me. 2005-10-15 23:45:53 +00:00
Roland Scheidegger
ccf1378131 fix two bugs wrt calculating max possible texture sizes for texture rectangles/cube maps. 2005-10-15 01:07:59 +00:00
Roland Scheidegger
30daa75293 enable 3rd texture unit on radeon (default still 2 enabled units). Disable some multitexcoord codegen stuff noone understands to make it work. Replace most code testing explicitly for unit 0 and 1 with loops instead of adding test for unit 2, smaller/more readable code at the cost of maybe some slight performance hit. (Code provided by Andreas Stenglein, some adjustments by me.) 2005-10-13 14:30:20 +00:00
Roland Scheidegger
ed2f8635f0 make sure texture matrix is updated often enough with texture rectangles 2005-10-13 00:35:51 +00:00
Roland Scheidegger
6ff023fe3a fix potential bug when emitting elts with lots of components 2005-10-13 00:33:46 +00:00
Brian Paul
96e1ccedec remove unused _mesa_log2() (bug 4468) 2005-10-12 19:46:48 +00:00
Brian Paul
c81de36223 change includes (bug 4468) 2005-10-12 19:46:29 +00:00
Brian Paul
f525d3e139 fix GLAPI/extern problem (bug 4757) 2005-10-12 19:37:38 +00:00
Roland Scheidegger
d084c3d4dc Minor driver cleanup. Remove unnecessery/unneded radeon/r200AllocDmaRegionVerts function. No longer compile the radeon_compat stuff which was for drm 1.1 compatibility presumably but unused since about forever into the driver. 2005-10-11 17:55:54 +00:00
Ian Romanick
44b1bd7597 ifdef out some code to make glapi.c linkable in libglx.so (on the
server).  This isn't strictly needed yet, but it doesn't hurt anything
either.  However, the patches for fd.o bug #2996 require this to build.
2005-10-11 16:56:39 +00:00
Brian Paul
e7325294d0 check for PIXMAP in clip routine (SF bug 1323215) 2005-10-11 01:21:40 +00:00
Brian Paul
ac04a4fa7f fixed constant fogcoord bug (#4729) 2005-10-10 18:39:34 +00:00
Ian Romanick
8d29d463a3 Add 'get' data for glGetFramebufferAttachmentParameterivEXT enums.
Remove an extra closing parenthesis in the Linux version of the SWAP_32 macro.
2005-10-10 17:11:02 +00:00
Roland Scheidegger
1c0f11046a do not set format of the incoming vertices needed for fog_coord in the generic state functions. This is done in the vtxfmt/hwtcl/swtcl pathes respectively. 2005-10-08 23:41:20 +00:00
Roland Scheidegger
30f2d6f0cb remove code dealing with drm versions older than 1.3. The driver requires (and requests) 1.3 since quite some time already to work at all. 2005-10-08 23:36:35 +00:00
Brian Paul
b4269c07f8 change test for presence of accum buffer 2005-10-08 21:36:38 +00:00
Brian Paul
cf085db28a Query/print GL_RED/GREEN/BLUE/ALPHA_BITS 2005-10-08 14:42:51 +00:00
Brian Paul
474f28e57c Fix some issues with state updates and renderbuffers. Querying GL_RED_BITS,
etc. after calling glRenderBufferStorageEXT gave undefined results.
2005-10-08 14:41:17 +00:00
Brian Paul
81a22ef539 MATH_DEBUG changes from bug #4468. 2005-10-07 17:18:51 +00:00
Keith Whitwell
f2802c40ff Populate arb_fp_instruction negate field correctly. 2005-10-07 09:55:26 +00:00
Brian Paul
dfe7aedf84 Fix a number of point size attenuation problems.
Move size clamping into the rasterization function.
2005-10-07 03:56:29 +00:00
Roland Scheidegger
9dd973ec3b fix problems with some texgen modes by putting the chip into LOCAL_VIEWER mode for lighting (potentially causes slight misrenderings with the specular components of lights if the light model is not set for local viewer). 2005-10-05 22:40:09 +00:00
Roland Scheidegger
24a44d74b6 reverse accidentally commited part of last commit (makes it compile again...). 2005-10-05 20:28:31 +00:00
Roland Scheidegger
44dace86ea enable point sizes larger than 1 (for aliased points only) by using the hw point sprite primitive. 2005-10-05 16:15:16 +00:00
Brian Paul
26f69d87a4 fix byteswapping bug in _mesa_texstore_ycbcr() (Benjamin Herrenschmidt) 2005-10-05 13:36:05 +00:00
Roland Scheidegger
ea20c324ae fix typo in radeon_maos_arrays.c from last commit (code currently unused, that path is compile-tested only). 2005-10-05 13:09:15 +00:00
Roland Scheidegger
11f763f505 remove unneeded parameter from radeonUploadTexMatrix. 2005-10-05 12:38:07 +00:00
Roland Scheidegger
a3c8de2fa7 Remove the tcl fallback for texture rectangle (by manipulating the texture matrix) (tested with texrect). Enable texgen for r/q coordinates (tested with projtex). Fix projected texcoords when an app uses TexCoord3x and the texture matrix to save on vertex size (fixes ut2k3 shadow projectors in tcl mode). From texgenmix, all cases with all texgen or no texgen work, with the exception of texgen enabled for s/t only, this one works with hw tcl, but not with vtxfmt (suspect issues with vtxfmt), the mixed cases do not work (which is expected, and should be rare in practice), with the exception of the first one which hits a tcl fallback. 2005-10-05 11:42:44 +00:00
Brian Paul
06f606ce57 Remove _IsPowerOfTwo from gl_texture_object, not really needed. 2005-10-05 04:07:50 +00:00
Brian Paul
198a88923c s/IntFormat/InternalFormat/ and s/Format/_BaseFormat/ for gl_color_table. 2005-10-05 02:11:15 +00:00
Brian Paul
8184ec9fb6 added GL_INVALID_FRAMEBUFFER_OPERATION_EXT to gluErrorString() 2005-10-05 02:08:53 +00:00
Brian Paul
a9fc8ba756 In gl_texture_image replace IntFormat with InternalFormat and Format with
_BaseFormat to be consistant with gl_renderbuffer.
2005-10-05 01:48:07 +00:00
Brian Paul
91802fdf73 check if deleting currently bound frame/renderbuffer object 2005-10-04 16:01:02 +00:00
Brian Paul
7edf1e80bd glBindTexture changes, new assertions 2005-10-04 15:16:27 +00:00
Brian Paul
9e920fb93c fix glIsRender/FramebufferEXT() assertions 2005-10-04 15:01:51 +00:00
Brian Paul
bc6cced479 fix behaviour of glIsFrame/Renderbuffer() 2005-10-04 15:01:27 +00:00
Brian Paul
14c38b8f4f Use Visual.depthBits rather than Renderbuffer::DepthBits for depth buffer
operations.
2005-10-04 14:49:30 +00:00
Brian Paul
eb063cfa38 change initialization of renderbuffer DepthBits 2005-10-04 14:48:24 +00:00
Adam Jackson
199ef86b5e Bug #1155: Define IEEE_ONE on Super-H as well. 2005-10-03 20:02:07 +00:00
Brian Paul
a6296dd2c3 disable a warning 2005-10-03 16:11:47 +00:00
Brian Paul
071b30aba1 added a few calls to _mesa_update_framebuffer_visual() 2005-10-03 16:11:35 +00:00
Brian Paul
b0e7d850d1 finish up some missing code 2005-10-03 16:11:21 +00:00
Ian Romanick
8ef0519bbe Change the 'count' for COMPRESSED_TEXTURE_FORMATS from "?" to "-1". This
signals to the script (glX_proto_size.py) that generates the server-side
size functions that a handcoded query is needed to determine the data size.

Also do s/FOG_COORD_SOURCE/FOG_COORD_SRC/.

When initializing the count in glx_enum::__init__, cast the local property
to int.  Thanks to Python's dynamic typing, if this isn't done the type of
stored count will be a string instead of an int.
2005-10-03 15:05:40 +00:00
Ian Romanick
9a3a1497e5 Remove the non-existant --get-alias-set option from the help text.
Update printPixelFunction (which is only used to generate code for the
server-side) to use the correct method for obtaining the dimensions of the
image parameter to a function.

Only use byteswap.h when building generated code on Linux.  Elsewhere use
the (horrible!) macros from X11/misc.h.

Make sure that enums associated with the generic "Get" function get applied
to GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.
2005-10-03 14:59:26 +00:00
Brian Paul
1fc4b21eb2 check for GL_DEPTH_STENCIL_EXT 2005-10-01 16:09:45 +00:00
Brian Paul
2794507289 plug in _mesa_texstore_z24_s8() 2005-10-01 16:09:26 +00:00
Brian Paul
184a970722 added _mesa_texstore_z24_s8() 2005-10-01 16:08:27 +00:00
Brian Paul
b0a0ca8bd9 GL_EXT_packed_depth_stencil changes 2005-10-01 16:06:25 +00:00
Brian Paul
0899afae33 additional error checking for GL_EXT_packed_depth_stencil 2005-10-01 16:05:30 +00:00
Brian Paul
cef88397a6 fix an assertion 2005-10-01 16:04:38 +00:00
Brian Paul
7f78c93015 simplify the read_depth_stencil_pixels() function 2005-10-01 16:04:09 +00:00
Brian Paul
9758ef9e7b fix broken z24_s8 fetcher 2005-10-01 16:03:30 +00:00
Brian Paul
252194d74e updated comment 2005-10-01 16:03:00 +00:00
Brian Paul
31340f6645 added _mesa_pack_depth_stencil_span() 2005-10-01 16:02:38 +00:00
Brian Paul
3d61c2e778 move around some error checking 2005-10-01 16:02:11 +00:00
Brian Paul
d0529b67f4 use fmod() to prevent overflow of angle variable 2005-09-30 15:03:33 +00:00
Brian Paul
76560af99d implemented fallbacks for GL_EXT_packed_depth_stencil 2005-09-30 03:01:30 +00:00
Brian Paul
82b29819a9 minor improvements 2005-09-30 03:01:11 +00:00
Brian Paul
f493a04be0 added _swrast_get_row() 2005-09-30 03:00:03 +00:00
Brian Paul
1ad6e08090 call glFinish if drawing to front buffer 2005-09-29 18:46:27 +00:00
Brian Paul
b2404b132d implement CopyPixels for GL_DEPTH_STENCIL_EXT 2005-09-29 04:28:21 +00:00
Brian Paul
3fd819aef8 added _swrast_put_row() 2005-09-29 04:27:47 +00:00
Brian Paul
8d0edf015d Rewrite much of the pixel zoom code.
Zoomed DrawPixels of packed depth/stencil works now.
2005-09-29 03:20:15 +00:00
Brian Paul
5208867f12 add error checks for framebuffer completeness 2005-09-28 16:20:34 +00:00
Brian Paul
d95000da2f check for framebuffer completeness, code clean-up 2005-09-28 15:46:46 +00:00
Brian Paul
f7a8d8ffbb updated assertions (see bug 4590) 2005-09-28 14:20:06 +00:00
Brian Paul
1ad7b99925 Initial work for GL_EXT_packed_depth_stencil extension.
glReadPixels done, glDrawPixels mostly done.
2005-09-28 02:29:50 +00:00
Brian Paul
b955474093 change initialization of rb->DepthBits 2005-09-28 02:28:42 +00:00
Brian Paul
1b5d3d647e added GL_EXT_packed_depth_stencil 2005-09-28 02:28:00 +00:00
Brian Paul
ac3ec5096a added _mesa_scale_and_bias_depth() 2005-09-28 02:27:22 +00:00
Brian Paul
dbd0fa920e tweak glAccum error checking 2005-09-27 16:10:49 +00:00
Brian Paul
78b3b667b5 generate GL_INVALID_OPERATION in glAccum if read/draw buffers aren't the same 2005-09-27 15:52:27 +00:00
Brian Paul
99796464c5 Lift all the format/type error checking out of the _swrast_Draw/Read/CopyPixels
functions into the _mesa_Draw/Read/CopyPixels functions.
2005-09-27 01:25:24 +00:00
Brian Paul
70c3bebcde glDraw/CopyPixels of stencil data didn't obey the stencil write mask. Fixed. 2005-09-26 23:06:01 +00:00
Roland Scheidegger
afb9fb0965 remove identity check for texgen planes (which was just plain wrong). 2005-09-26 20:31:40 +00:00
Roland Scheidegger
84c9e671ed fix projective texturing for (swtcl) texture rectangles. Fix wrong argument order for texgen/texmat matrix multiplication. 2005-09-26 17:11:16 +00:00
Brian Paul
ad271b8c98 Added XMesaDrawable to xmesa_renderbuffer. Use it in a few places instead
of the XMesaPixmap field to avoid some X server-side issues with casting.
2005-09-26 00:38:00 +00:00
Dave Airlie
4aeaff2ae7 Add support for texture compression to R300 driver
This isn't perfect, texcmp still has some issues with the small textures..
but its a good start
2005-09-25 10:20:38 +00:00
Dave Airlie
310a10b0f2 add link for radeon_egl.c 2005-09-25 09:45:42 +00:00
Jouk Jansen
d997b90433 Committing in .
1) change compilation on VMS to use IEEE floating points

 2) one more problem with _mesa_sprintf solved

 Modified Files:
 	Mesa/docs/README.VMS Mesa/progs/demos/descrip.mms
 	Mesa/progs/tests/descrip.mms Mesa/progs/util/descrip.mms
 	Mesa/progs/xdemos/descrip.mms Mesa/src/glu/mesa/descrip.mms
 	Mesa/src/glu/sgi/descrip.mms Mesa/src/glut/glx/descrip.mms
 	Mesa/src/mesa/array_cache/descrip.mms
 	Mesa/src/mesa/drivers/common/descrip.mms
 	Mesa/src/mesa/drivers/osmesa/descrip.mms
 	Mesa/src/mesa/drivers/x11/descrip.mms
 	Mesa/src/mesa/glapi/descrip.mms Mesa/src/mesa/main/descrip.mms
 	Mesa/src/mesa/main/texobj.c Mesa/src/mesa/math/descrip.mms
 	Mesa/src/mesa/shader/descrip.mms
 	Mesa/src/mesa/shader/grammar/descrip.mms
 	Mesa/src/mesa/shader/slang/descrip.mms
 	Mesa/src/mesa/swrast/descrip.mms
 	Mesa/src/mesa/swrast_setup/descrip.mms
 	Mesa/src/mesa/tnl/descrip.mms
 ----------------------------------------------------------------------
2005-09-23 07:03:53 +00:00
Brian Paul
79b4dbc496 remove printf 2005-09-23 03:24:27 +00:00
Brian Paul
048b13df65 Replace gl_framebuffer's _ColorReadBufferMask with _ColorReadBufferIndex,
Streamline the _mesa_update_framebuffer() function a bit.
2005-09-23 03:22:20 +00:00
Brian Paul
d5861c06f2 fix clipped glReadPixels bug 2005-09-23 02:16:49 +00:00
Brian Paul
36d9ee1828 added XOR line optimization 2005-09-23 01:42:23 +00:00
Brian Paul
6d3637849b Added a fast xor_line() function. Uses XDrawLine with GXxor mode.
Only used for front-buffer window/pixmap rendering, GL_FLAT shade model,
no Z test or other fragment operations.
2005-09-23 01:40:59 +00:00
Brian Paul
0efc17c105 Add Wrapper field to gl_renderbuffer. Used for wrapping one renderbuffer
with another, such as wrapping a hardware/win-sys RGB renderbuffer with a
software-based alpha buffer.
Previous alpha buffer wrapping was conflicting with the X driver's
xmesa_renderbuffer structure containment/inheritance.  That lead to
memory corruption.
2005-09-23 01:20:09 +00:00
Brian Paul
e5fce1694c improve the test for using software alpha buffer 2005-09-23 01:17:07 +00:00
Ian Romanick
7b01068a23 Enable GL_ARB_texture_mirrored_repeat on Savage4. Refactor the code that
sets the texture wrap mode and texture filter mode for Savage4 to the new
functions savage4_set_wrap_mode and savage4_set_filter_mode.

This was tested with texwrap and tunnel.
2005-09-22 21:25:31 +00:00
Brian Paul
676d0accf5 Replace gl_renderbuffer.ComponentSizes[] with separate RedBits, GreenBits,
BlueBits, etc fields.
2005-09-22 05:19:57 +00:00
Brian Paul
f1e2826856 When testing visual attributes, use the Draw/Read buffer, not the context. 2005-09-22 05:00:12 +00:00
Brian Paul
4fd11949f0 fix a debug message 2005-09-22 04:58:42 +00:00
Brian Paul
63016507d7 changed a renderbuffer check 2005-09-22 04:52:45 +00:00
Brian Paul
7d39e82976 s/GL_DEPTH_BITS/GL_TEXTURE_DEPTH_SIZE_ARB/ in _mesa_GetTexLevelParameteriv() 2005-09-21 21:19:22 +00:00
Brian Paul
8bdc1ae358 add missing scale factor in _swrast_read_depth_span_float() 2005-09-21 18:16:33 +00:00
Brian Paul
978ef2bb6d Remove ACCUM_BITS. 2005-09-21 03:35:08 +00:00
Brian Paul
3e37bafab0 replace GLdepth with GLuint and remove GLdepth 2005-09-21 02:47:32 +00:00
Brian Paul
4092fbd55a replace GLdepth with GLuint 2005-09-21 02:46:17 +00:00
Brian Paul
5bfb9356d6 s/programss/programs/ 2005-09-20 21:04:02 +00:00
Brian Paul
5434695017 initial check-in 2005-09-20 15:51:44 +00:00
Brian Paul
9e4e3adcf8 remove 31-bit Z buffer work-around 2005-09-20 04:47:34 +00:00
Brian Paul
8fadf8f900 change mask[] test in put_mono_row_uint() 2005-09-20 04:47:04 +00:00
Brian Paul
14570e6d7c compute z[i] as GLuint 2005-09-20 04:45:26 +00:00
Brian Paul
f39569f550 some improvements to _swrast_clear_depth_buffer() 2005-09-20 04:36:50 +00:00
Brian Paul
000abaa12d remove unneeded sizeof(GLdepth) test 2005-09-20 04:35:40 +00:00
Brian Paul
7265556b9a Change zLeft and zval to GLuint. Seems to fix 32-bit Z computation 2005-09-20 04:34:29 +00:00
Brian Paul
22607975b4 replace STENCIL_BITS with stencilMax value 2005-09-20 04:31:24 +00:00
Brian Paul
3211b28ee6 remove STENCIL_MAX 2005-09-20 04:25:03 +00:00
Brian Paul
cd81190d5c change location of ffs() code for windows 2005-09-20 02:44:40 +00:00
Brian Paul
17d6fff30c init a=0 2005-09-19 21:16:29 +00:00
Brian Paul
c650bb0b7d s/GLchan/GLubyte/, fix error string, add comment 2005-09-19 20:32:21 +00:00
Brian Paul
02237f447f updated comment 2005-09-19 20:29:34 +00:00
Brian Paul
b3aefd1cfb additional wrapper updates, bug 4468 2005-09-19 20:12:32 +00:00
Brian Paul
a01cb26a90 s/unsigned long/drm_handle_t/ to get compilation of fb driver to work 2005-09-19 17:17:58 +00:00
Brian Paul
26bb7bc025 compilation fixes, don't know if runtime works 2005-09-19 17:17:18 +00:00
Brian Paul
6707433272 Fix potential segfault when trying to read pixels outside renderbuffer bounds.
Use _swrast_get_values() which does clipping.
2005-09-16 21:15:27 +00:00
Brian Paul
82e314252f remove unused _swrast_read_depth_span() 2005-09-16 21:10:27 +00:00
Brian Paul
f2ea634c0c lots of little clean-ups, improvements 2005-09-16 21:07:48 +00:00
Brian Paul
6ae8747539 change some comments 2005-09-16 21:06:57 +00:00
Brian Paul
62a2f8cdd6 pass mask=NULL to write all pixels in clear_ci_buffer_with_masking() 2005-09-16 21:06:33 +00:00
Brian Paul
db64b60225 remove unused ctx var 2005-09-16 18:18:47 +00:00
Brian Paul
aa2069586d use mesa import wrappers, bug 4468 2005-09-16 18:14:24 +00:00
Brian Paul
3cc67cb8cd alphabetize 2005-09-16 04:18:09 +00:00
Brian Paul
aa8abf8081 Rework the texture filtering functions a bit.
No need to pass the texture unit number as an argument.
2005-09-16 04:16:48 +00:00
Brian Paul
792a1bcbe4 replace a couple macros with inlined functions 2005-09-16 01:42:07 +00:00
Brian Paul
8885b077ed more GLuint->GLbitfield changes 2005-09-16 01:41:03 +00:00
Brian Paul
e00ac11d4d Replace GLuint with GLbitfield where appropriate. Also replace GLuint
with GLboolean in a few places.
2005-09-15 05:00:45 +00:00
Brian Paul
0f540f4b04 Code clean-ups, reorg. 2005-09-15 03:58:52 +00:00
Brian Paul
e64874ac2d silence warning 2005-09-15 01:58:39 +00:00
Brian Paul
63b5b8eaff Remove a bunch texel fetch functions that can be handled by the new
adaptor functions.
2005-09-15 01:55:40 +00:00
Brian Paul
9a22b555cf updated comments 2005-09-15 01:08:24 +00:00
Brian Paul
da9f65268d New set_fetch_functions() to set a gl_texture_image's FetchTexel functions
from the gl_texture_format's functions.
Added "adaptor" functions to allow sampling a float-valued texture with
GLchans and vice versa.  This will allow trimming down the number of
texture fetch routines.
2005-09-15 01:06:19 +00:00
Brian Paul
7fb9352fe4 replace s_texture.[ch] with s_texcombine.[ch] and s_texfilter.[ch] 2005-09-15 01:00:20 +00:00
Brian Paul
55187ea63e Update includes post-splitting of s_texture.c 2005-09-15 00:58:03 +00:00
Brian Paul
2cd8791cad Split the s_texture.c file into two new files:
s_texcombine.c - for texture combining/application
  s_texfilter.c - for texture sampling/filtering
2005-09-15 00:57:00 +00:00
Brian Paul
6ce60beb28 remove unused vars 2005-09-14 18:21:05 +00:00
Brian Paul
5f16244879 remove _tnl_MakeCurrent call 2005-09-14 18:09:15 +00:00
Brian Paul
a25fe61607 initial 6.5 release notes 2005-09-14 14:34:54 +00:00
Brian Paul
b43671c8bf Remove _tnl_MakeCurrent() and the unused ctx->Driver.MakeCurrent() callback. 2005-09-14 14:32:20 +00:00
Dave Airlie
04adb70f32 fix breakage from Brians changes earlier 2005-09-14 12:08:32 +00:00
Brian Paul
a702bbfff3 clean-up some _mesa_make_current() code 2005-09-14 03:11:36 +00:00
Brian Paul
5250aa7c6a remove rm -f line 2005-09-14 02:18:43 +00:00
Brian Paul
7a534dcab1 remove .a file before creating new one 2005-09-14 02:18:09 +00:00
Brian Paul
41cf68b4cb pageflip change from radeon driver 2005-09-14 00:49:09 +00:00
Brian Paul
a400a1e404 Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
call driUpdateFramebufferSize() when window size/position changes.
2005-09-14 00:42:33 +00:00
Brian Paul
f157e2dee4 make some funcs static 2005-09-14 00:37:10 +00:00
Brian Paul
ff9d235042 Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
call driUpdateFramebufferSize() when window size/position changes.
2005-09-14 00:36:27 +00:00
Brian Paul
48799287b3 use mklib script to make drivers instead of gcc -shared 2005-09-14 00:33:03 +00:00
Brian Paul
a60ff20c58 updated comment 2005-09-14 00:11:30 +00:00
Brian Paul
67a8decffe make some functions static 2005-09-14 00:10:56 +00:00
Brian Paul
e42a31350d Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
call driUpdateFramebufferSize() when we detect changes in window size/
position in radeonGetLock().
2005-09-14 00:10:27 +00:00
Brian Paul
9ae952a88c added driUpdateFramebufferSize() 2005-09-14 00:09:09 +00:00
Brian Paul
f084f60f8b Move _mesa_add_soft_renderbuffers() from framebuffer.c to renderbuffer.c
Update some comments, code, etc.
2005-09-13 23:37:50 +00:00
Brian Paul
7909dd920d update like for MD2 viewer 2005-09-13 18:18:47 +00:00
Brian Paul
56ff8ed6d8 replace semicolon with && 2005-09-13 15:04:30 +00:00
Brian Paul
363344f5b8 print version with debug info 2005-09-13 14:48:28 +00:00
Brian Paul
7bb7f97594 fix FreeBSD problem (bug 4435) 2005-09-13 13:36:47 +00:00
Eric Anholt
914ec8ef58 Fix libGL build on FreeBSD by respecting ASM_FLAGS.
Submitted by:	Diego Pettenò <flameeyes@gentoo.org>
2005-09-13 05:19:02 +00:00
Brian Paul
878c371e6c Replace ctx->Driver.StencilOp/Func/Mask() functions with
ctx->Driver.Stencil*Separate() functions.
2005-09-13 04:42:09 +00:00
Brian Paul
42c34efd23 OpenGL 2.0's two-sided stencil feature wasn't implemented correctly.
See comment near top of stencil.c for info about OpenGL 2.0 vs.
GL_EXT_stencil_two_side.
2005-09-13 02:59:53 +00:00
Brian Paul
bdf8441f80 just some reformatting 2005-09-13 02:57:07 +00:00
Brian Paul
56a2e084be Clear either 8 or 16-bit stencil buffers. 2005-09-13 02:03:06 +00:00
Brian Paul
b5932cfc9d Use GLuint/GLint intead of GLstencil for stencil state. 2005-09-13 02:02:03 +00:00
Brian Paul
a96f889a57 Move the ctx->FirstTimeCurrent initialization 2005-09-13 01:19:29 +00:00
Brian Paul
5179f671e7 init StencilOpSeparate to NULL 2005-09-13 01:17:01 +00:00
Roland Scheidegger
8d2139e513 add GL_ATI_fragment_shader support for r200 2005-09-12 23:45:05 +00:00
Brian Paul
fd9de710f5 added a return upon out-of-memory, remove a needless assignment 2005-09-12 23:18:21 +00:00
Brian Paul
f6e3234639 restore brace lost in previous check-in 2005-09-12 21:41:45 +00:00
Roland Scheidegger
f20917de5b add complete support for ATI_fragment_shader for the r200. Most of the new code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me 2005-09-12 21:20:10 +00:00
Roland Scheidegger
11543624ed remove unnecessary Swizzle parameter from struct (forgotten when the code was refactored) 2005-09-12 17:21:40 +00:00
Brian Paul
28569c25f6 use ASM_API variable, bug 4415 2005-09-12 15:19:19 +00:00
Brian Paul
68d436140d make lookup_query_object() static 2005-09-12 15:05:57 +00:00
Brian Paul
758f447a17 remove rendundant r,g,b,a vars (bug 4331) 2005-09-12 13:59:29 +00:00
Dave Airlie
2745df2774 add 1002:5460 M22 X300 card 2005-09-11 04:02:41 +00:00
Dave Airlie
654286eab1 fix dri drivers build 2005-09-11 03:58:29 +00:00
Brian Paul
2eef2eca87 Silence some warnings. 2005-09-11 01:45:04 +00:00
Brian Paul
7f8cb30ccc bunch of updates 2005-09-10 16:57:22 +00:00
Brian Paul
80cef697f4 put GLUT sources into a separate tarball 2005-09-10 16:54:05 +00:00
Brian Paul
26c7e65785 Clean-up of sources/Makefile, bug 4111 2005-09-10 16:41:17 +00:00
Brian Paul
5704b8e57a fix a problem w/ color index mode when CHAN_BITS=16 2005-09-10 16:27:51 +00:00
Brian Paul
f15b499cfd make some vars static 2005-09-10 16:20:47 +00:00
Brian Paul
392c93e398 fix GLubyte/GLchan inconsistencies (bug 4331) 2005-09-10 16:19:36 +00:00
Roland Scheidegger
0ca6715ba5 new demo to test ATI_fragment_shader, not very creative but easy to know if the output is correct. Tests single-pass as well as multi-pass shader (only pseudo-dependant texture read though, and no tex coord swizzling), src and dst modifiers, src repetition, dst masks, constants, and some ops. Both shaders run succesfully with swrast as well as r200. 2005-09-10 01:02:25 +00:00
Roland Scheidegger
c53d2d0ca8 add the new drm packets needed for ATI_fragment_shader to the sanity code of the r200 and radeon driver 2005-09-10 00:31:11 +00:00
Roland Scheidegger
6c2e82b601 add reverse-engeneered register bits needed for ATI_fragment_shader (Dave Airlie, me) 2005-09-10 00:11:27 +00:00
Brian Paul
402b2bea64 Add offset and pitch fields to intelRegion. Remove frontOffset, frontPitch,
backOffset, backPitch, depthOffset, depthPitch, textureOffset fields.
2005-09-10 00:10:15 +00:00
Roland Scheidegger
036a99452d add _tnl_arb_vertex_program_stage to all drivers which already have _tnl_vertex_program_stage. Fixes crashes when using vertex programs. Tested on r200 only (fix by Keith Whitwell) 2005-09-09 23:31:31 +00:00
Brian Paul
a3dd2ce29e remove the redundant textureSize field, use tex.size instead, it's always the same value 2005-09-09 22:57:05 +00:00
Brian Paul
338cbb0e5c don't generate selection hits for glBitmap, glDraw/CopyPixels. Misc clean-ups 2005-09-09 16:40:47 +00:00
Roland Scheidegger
b346213960 fix some bugs with handling of GL_DOT4_ATI, GL_DOT3_ATI and GL_DOT2_ADD_ATI ATI_fs instructions. 2005-09-09 15:43:11 +00:00
Roland Scheidegger
95db1f0127 add missing fallback string for ARB_vertex_program 2005-09-09 12:51:38 +00:00
Roland Scheidegger
7e3be5559e Fix wrong fallback bit being set by the tcl fallback caused by ARB_vertex_program. Disable ARB_vertex_program by default - it is incredibly slow, and just plain doesn't work anyway (arbvptorus fails an assertion, arbvpmesh has bogus output) 2005-09-09 01:38:21 +00:00
Keith Whitwell
45ba4e4332 use an explicit reserved field, rather than magic number in bound 2005-09-08 21:40:10 +00:00
Brian Paul
d9b9b4b3be Fix the comment for the 'bound' field: it's a bitmask, not an index.
In driTexturesGone(), set bound = 0, not 99.
2005-09-08 18:47:36 +00:00
Keith Whitwell
b5cbaf945d Keep NumTemporaries uptodate.
Make sure oC alpha is populated when separate_specular enabled.
2005-09-08 18:45:03 +00:00
Keith Whitwell
b15f46a093 Treat NegateBase as a bitfield, not a boolean. 2005-09-08 18:36:39 +00:00
Keith Whitwell
5cf1397710 be consistent in populating NegateBase field 2005-09-08 18:35:48 +00:00
Brian Paul
4618a9bfc2 check for either GL_ARB_depth_texture or GL_SGIX_depth_texture in a few places 2005-09-08 15:28:45 +00:00
Brian Paul
f36954ec3c fix precision problem in depth clearing (bug 4395) 2005-09-08 13:55:05 +00:00
Roland Scheidegger
f4ff4d36ed fix incorrect swizzling handling. fix code so it can potentially handle implementations with less than 6 texture units correctly. 2005-09-08 13:41:54 +00:00
Jouk Jansen
21ed29598f Committing in .
Define suseconds_t for OpenVMS

 Modified Files:
 	Mesa/src/mesa/drivers/x11/xm_dd.c
 ----------------------------------------------------------------------
2005-09-08 10:05:37 +00:00
Roland Scheidegger
ce3350770c add a bunch of FLUSH_VERTICES to some of the ATI_fs functions, most notably when changing the global ati fragment shader constants. 2005-09-08 00:12:57 +00:00
Brian Paul
692147ebf7 some clean-up and re-org for renderbuffers 2005-09-07 23:28:41 +00:00
Brian Paul
526242614f some updates, but code still out of date 2005-09-07 23:26:01 +00:00
Brian Paul
ab8ef280ec new comment 2005-09-07 23:21:59 +00:00
Brian Paul
f0da327c87 minor tweaks to _mesa_ResizeBuffersMESA() 2005-09-07 23:21:40 +00:00
Roland Scheidegger
b683b0df45 fix bug with ATI_fragment_shader in swrast (need to copy all 4 values due to later applied srcRep) 2005-09-07 21:59:30 +00:00
Brian Paul
8693b70e8f try to fix renderbuffer breakage, primarily in calculate_buffer_parameters() 2005-09-07 18:32:29 +00:00
Brian Paul
eba4ff6e0a minor formatting fix 2005-09-06 21:22:16 +00:00
Brian Paul
d869a43554 added viaRenderbufferStorage() function 2005-09-06 20:42:23 +00:00
Brian Paul
20354edf35 just changes/updates to comments 2005-09-06 14:47:57 +00:00
Brian Paul
bd07168eb2 added -Wmissing-prototypes to WARN_FLAGS 2005-09-06 03:13:18 +00:00
Brian Paul
158a2aa488 Use mklib script instead of ar. Make libmesa.a instead of mesa.a 2005-09-06 03:02:01 +00:00
Brian Paul
c0b4b9fc3e remove DEFARRAY, CHECKARRAY stuff 2005-09-06 02:56:51 +00:00
Brian Paul
e2399effa0 minor clean-up of texture_combine() 2005-09-06 02:55:34 +00:00
Brian Paul
3622f4f27f don't use DEFARRAY/CHECKARRAY stuff 2005-09-06 02:44:00 +00:00
Brian Paul
fcb6a0fa3e make some functions static 2005-09-05 21:17:44 +00:00
Brian Paul
6575e37cbf make r128SpanRenderStart/Finish static 2005-09-05 21:09:22 +00:00
Brian Paul
e3c8a0c16d remove obsolete CurrentBufferBit 2005-09-05 21:04:22 +00:00
Brian Paul
3952d6d4bb remove unused var 2005-09-05 21:03:48 +00:00
Karl Schultz
f66084b834 Add support for memory contexts (Thomas Kaltofen). Cleanup compilation warnings. 2005-09-05 14:48:39 +00:00
Karl Schultz
e15c2d077a remove _swrast_DrawBuffer 2005-09-05 14:08:51 +00:00
Karl Schultz
53a3c70580 Windows mesa.def file had been moved to the drivers dir tree some time ago. This copy is not needed. 2005-09-05 14:03:41 +00:00
Karl Schultz
e81cbd876e fix var declaration so that a C compiler can build it. 2005-09-05 13:45:23 +00:00
Brian Paul
b4b040f7d8 just formatting clean-ups 2005-09-04 22:55:57 +00:00
Brian Paul
16e7aebfe3 Simplify radeonSetCliprects(). Remove the 'mode' parameter. 2005-09-04 22:20:07 +00:00
Brian Paul
87ce68e1b3 Further clean-up and simplification of the span-related functions. 2005-09-04 22:16:08 +00:00
Brian Paul
61ba6b5a74 Add new void *addr and __DRIdrawablePrivate parameters to
driNewRenderbuffer().
2005-09-04 22:13:42 +00:00
Brian Paul
6e0e6eff05 Fix UpdatePageFlipping() function. Always call driFlipRenderbuffers()
with pfCurrentPage value, in case it's initially 1 instead of 0.
2005-09-04 16:15:38 +00:00
Brian Paul
d575a4c4a1 minor clean-ups 2005-09-04 15:03:36 +00:00
Brian Paul
0cfd4f92dd replace GET_SRC_PTR, GET_DST_PTR with GET_PTR 2005-09-04 15:02:48 +00:00
Brian Paul
eae73dbd91 Use InitPointers helper 2005-09-04 15:01:33 +00:00
Brian Paul
90cfbd3dd5 Combine GET_DST_PTR and GET_SRC_PTR into just GET_PTR. 2005-09-04 15:00:04 +00:00
Brian Paul
f8cc27ecfc Added InitPointers helper function 2005-09-04 14:59:34 +00:00
Brian Paul
16f76703a5 replace assertion with a conditional return 2005-09-04 14:59:18 +00:00
Brian Paul
05aed23d1b fudge set_component_sizes() a bit, see comments 2005-09-03 17:33:16 +00:00
Brian Paul
acafeeb6dc Remove last remnants of pre-renderbuffer code. 2005-09-03 16:57:58 +00:00
Brian Paul
54be0763e1 renderbuffer updates 2005-09-03 16:55:02 +00:00
Brian Paul
2b81c8999f SetBuffer, renderbuffer changes 2005-09-03 16:54:20 +00:00
Brian Paul
6e57725061 use new InitStencil/DepthPointer functions 2005-09-03 16:49:35 +00:00
Brian Paul
b0715811e8 remove dead code 2005-09-03 16:48:48 +00:00
Brian Paul
f6540c6252 remove SetBuffer 2005-09-03 16:47:30 +00:00
Brian Paul
687918b794 SetBuffer, renderbuffer changes 2005-09-03 16:43:02 +00:00
Brian Paul
e6925b51e1 added flippedData field for page flipping, code to flip stereo color buffers 2005-09-03 16:42:19 +00:00
Brian Paul
c6262cd8c5 added SetStencil/DepthPointer functions 2005-09-03 16:41:30 +00:00
Brian Paul
3ba814ae07 remove SetBuffer(). Misc renderbuffer changes. 2005-09-03 16:40:44 +00:00
Brian Paul
7fa6c1afb9 silence misc warnings 2005-09-03 16:39:57 +00:00
Dave Airlie
624ad14a58 Check for ATI_fragment_shader enabled 2005-09-02 23:52:05 +00:00
Brian Paul
712e5042de fix some strict aliasing problems related to choosing framebuffer configs (Matthias Hopf) 2005-09-02 17:07:00 +00:00
Brian Paul
93cfdfe1ef GL_EXT_timer_query 2005-09-02 14:02:44 +00:00
Brian Paul
14520eb25e comments 2005-09-02 13:55:50 +00:00
Brian Paul
c799e9ec24 added GL_EXT_timer_query token 2005-09-02 13:43:26 +00:00
Brian Paul
4fb995084e Prototype implementation of new GL_EXT_timer_query extension (not finalized yet).
Extends the query mechanism to query elapsed time while rendering.
2005-09-02 13:42:49 +00:00
Brian Paul
8cdf372946 replace -1 with PROGRAM_UNDEFINED when initializing instructions 2005-09-02 13:40:09 +00:00
Brian Paul
350a167635 set depthHasSurface for stencil renderbuffer 2005-09-02 13:20:20 +00:00
Roland Scheidegger
3c450b2917 ATI_fragment_shader fixes: fix bug in passTexCoord (caused by recent changes). Fix sampling from wrong texture unit. Apply swizzling before texture sampling, and hopefully get non-projected coordinates from swrast. (still does not work at all with sw doom3, way too dark just the same as with the doom3 arb2 path) 2005-09-02 12:05:38 +00:00
Brian Paul
a02febb8cc change scratch pointer from _int32_t to u_int32_t to silence warning. Is this field actually used for anything? 2005-09-02 03:39:31 +00:00
Brian Paul
a517cc1ef6 remove unneeded assertion in stencil/depth LOCAL_DEPTH_VARS code 2005-09-02 03:36:41 +00:00
Brian Paul
b343f06a09 set depthHasSurface field for stencil renderbuffer 2005-09-02 03:28:08 +00:00
Roland Scheidegger
f519a770d0 add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with scope of ati fragment shader constants. Fix issues with specifying color/alpha instructions not pair-wise. Change internal representation of the shader (to better fit how the extension works, should make driver implementations simpler, and saves some memory). (still doesn't work correctly with doom3 and swrast, but not worse than before) 2005-09-02 01:11:53 +00:00
Brian Paul
b252e0f47f added an assertion to help debug broken stencil readback 2005-09-01 20:14:50 +00:00
Brian Paul
238de2db12 added driFlipRenderbuffers() 2005-09-01 20:11:32 +00:00
Brian Paul
da84f0b642 fix page flipping breakage 2005-09-01 20:10:17 +00:00
Brian Paul
98e92d261b fix typo 2005-09-01 14:04:45 +00:00
Brian Paul
4d11d45d84 some missing renderbuffer changes (Roland) 2005-09-01 14:04:32 +00:00
Brian Paul
fcbfeb5d28 Finish up some of the gl_renderbuffer work.
Use driRenderbuffer's offset, pitch fields in the span routines.
Remove the SetBuffer driver function.
Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
state in new radeonUpdateDrawBuffer() function.
Old code is surrounded by #if 000 / #endif, temporarily.
2005-09-01 04:03:44 +00:00
Brian Paul
982e8e4d5c Finish up some of the gl_renderbuffer work.
Use driRenderbuffer's offset, pitch fields in the span routines.
Remove the SetBuffer driver function.
Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
state in new radeonUpdateDrawBuffer() function.
2005-09-01 03:54:34 +00:00
Brian Paul
8e5479c7f8 s/__inline/INLINE/ 2005-09-01 03:50:54 +00:00
Brian Paul
f1d269060b use char* instead of GLubyte* in i915_program_error() to silence warnings 2005-09-01 03:32:48 +00:00
Brian Paul
f069e74dd8 use proper datatypes to silence a bunch of warnings 2005-09-01 03:19:45 +00:00
Brian Paul
5545245fe7 added a few more fields to help with DRI drivers 2005-09-01 03:07:29 +00:00
Brian Paul
db84ec2c6d remove fxDDSetBuffer() 2005-09-01 03:06:28 +00:00
Brian Paul
af39910f94 remove set_buffer() 2005-09-01 03:05:39 +00:00
Brian Paul
c958a9798a remove old set_buffer routine and misc code 2005-09-01 03:04:41 +00:00
Brian Paul
26bb5239c8 remove the old set_buffer() routine 2005-09-01 02:56:47 +00:00
Brian Paul
527835977a Just additional comments. 2005-08-31 21:38:53 +00:00
Roland Scheidegger
36603539cc enable GL_ARB_texture_env_crossbar on r200, separate the enable bits for texture sampling and texture environment, optimize away texture sampling for units if the result is not used, always emit the env instructions in-order and try to eliminate GL_REPLACE env instructions. 2005-08-31 19:11:09 +00:00
Brian Paul
d5783737f1 use 'f' key to toggle front/back buffer rendering 2005-08-31 16:42:59 +00:00
Brian Paul
2c8524b4fb remove dead code, update comments 2005-08-31 16:04:17 +00:00
Alan Hourihane
cbafed8716 reverse a bogus patch 2005-08-31 15:11:21 +00:00
Dave Airlie
3d4d6d29e2 complete fix for miniglx startup issue since driver version checks 2005-08-31 01:24:01 +00:00
Brian Paul
275a563bea remove redundant ctx->Driver fallback assignments that were already done in _mesa_init_driver_functions() 2005-08-31 00:39:32 +00:00
Brian Paul
f830f640b6 fix a cast/assignment warning 2005-08-31 00:00:17 +00:00
Brian Paul
513a553d4a silence fprintf and casting warnings 2005-08-30 23:57:04 +00:00
Brian Paul
16fb04ccb5 added some parenthesis to silence warnings 2005-08-30 23:50:23 +00:00
Alan Hourihane
f98b9853e1 drmUnmap correct size 2005-08-30 20:37:30 +00:00
Alan Hourihane
b41c025420 move via_dri.h to server 2005-08-30 19:46:08 +00:00
Alan Hourihane
9165d46fdb define Bool for solo builds 2005-08-30 19:22:46 +00:00
Alan Hourihane
d5cc77e37c Fixes from https://bugs.freedesktop.org/attachment.cgi?id=3077 2005-08-30 19:14:23 +00:00
Brian Paul
156dc55628 fix APP_LIB_DEPS 2005-08-29 22:45:52 +00:00
Ian Romanick
f0d0e50994 Implement GL_ARB_texture_env_combine, GL_EXT_texture_env_combine, and
GL_ARB_texture_env_crossbar for i810.  This passes both demos/texenv and all
of glean's texCombine tests.
2005-08-29 15:43:02 +00:00
Alan Hourihane
d9089ab96e remove drmAddress 2005-08-29 15:23:55 +00:00
Brian Paul
3a165edc9a added note about IEEE vs VAX floating point (bug 4270) 2005-08-29 14:45:30 +00:00
Brian Paul
49fd874f24 fix a few proxy color table bugs (bug 4270) 2005-08-28 17:12:07 +00:00
Brian Paul
082501a74c check the Ready flag when getting GL_QUERY_RESULT_ARB 2005-08-27 14:04:37 +00:00
Brian Paul
23ffc3a85d Rearrange the code related to GL_ARB_occlusion_object to generalize query
objects for future types of queries.
2005-08-27 13:56:08 +00:00
Adam Jackson
ca1ac986a1 /dri/msg 2005-08-26 17:50:39 +00:00
Alan Hourihane
f4166a1fd7 Fix the scripts for the cygwin & mingw changes 2005-08-26 09:37:41 +00:00
Brian Paul
adbf932ec1 added singlebuffer demo 2005-08-25 23:26:51 +00:00
Brian Paul
59d680db22 Demo of how to do (nearly) flicker-free rendering with a single color buffer. 2005-08-25 23:25:25 +00:00
Brian Paul
713635adef fix comment and #if test 2005-08-25 22:09:43 +00:00
Brian Paul
a2c65f4793 don't compile debug code (bug 4242: rand undefined) 2005-08-25 19:43:38 +00:00
Brian Paul
2735b33638 remove stray references to ctx->Depth.OcclusionTest 2005-08-25 19:38:42 +00:00
Ian Romanick
8bc0b3f961 Fix texture format selection. ChooseTextureFormat is supposed to select the
hardware format of the texture, and SetTexImages is supposed to use the
format selected by ChooseTextureFormat.  However, both routines were making
their choices based on the texture's BaseFormat.  This is wrong.
ChooseTextureFormat uses BaseFormat and SetTexImages uses
TexFormat->MesaFormat.

Once SetTexImages was fixed to use the right format values,
ChooseTextureFormat was cleaned up.  It now uses the few available texture
formats supported by the i810 in a smarter way.  This should improve the
quality of LUMINANCE, LUMINANCE_ALPHA, and INTENSITY textures.

I tested this by cycling through all the texture formats in demos/texenv and
tests/yuvsquare.
2005-08-25 19:15:01 +00:00
Alan Hourihane
8de9d92acf update for mingw 2005-08-25 18:08:16 +00:00
Brian Paul
8e247d52e3 Update the glut idle function after a new window is created 2005-08-25 17:46:04 +00:00
Brian Paul
b8a804d24f initial 6.5 changes (reflect demo, remove GL_HP_occlusion_test) 2005-08-25 14:24:49 +00:00
Brian Paul
6e4f594a02 removed GL_HP_occlusion_test extension 2005-08-25 14:23:38 +00:00
Brian Paul
dd1a9f75dc fix segfault in Fake_glXCreatePBuffer(), bug 4235 2005-08-25 14:07:06 +00:00
Brian Paul
7e6553c1aa s/GLX_RGBA_BIT/GLX_RGBA_TYPE/ (bug 4237) 2005-08-25 13:18:53 +00:00
Eric Anholt
61d386a93f Attempt to fix the issue reported by Alan Grimes with DRM_RADEON_TEXTURE
erroring out when it shouldn't.  The errno could be changed by usleep() between
the ioctl call and the loop check, if a signal was received.  This could cause
an EAGAIN return from the DRM_RADEON_TEXTURE ioctl to not loop again.
Instead of checking errno, check thevalue of ret itself, since it is a saved
(and sign-flipped) copy of errno from the ioctl call.
2005-08-25 03:38:07 +00:00
Brian Paul
d545d916a8 make tiles a little smaller so they're all visible 2005-08-25 03:09:12 +00:00
Brian Paul
9e385282fc also check for texture border in sample_linear_2d() 2005-08-25 03:05:10 +00:00
Brian Paul
5d7c486d90 Added multi-window support. Press 'n' to create new window, 'k' to kill
a window.  Good for exercising multi-window rendering.
2005-08-24 21:32:02 +00:00
Alan Hourihane
c58cea0085 Fix Windows build problems.
GCC's visibility attribute is for ELF systems, so undef INTERNAL
GCC's fastcall attribute interferes with __stdcall so undef FASTCALL
2005-08-24 09:08:06 +00:00
Brian Paul
334f2d8077 GLw demo doesn't belong here 2005-08-23 14:50:02 +00:00
Brian Paul
17756df903 removed lines that caused some files to be included in tarballs multiple times 2005-08-23 13:40:30 +00:00
Brian Paul
edf0d14bd4 simplify, clean-up texel addressing macros 2005-08-23 03:50:12 +00:00
Brian Paul
249160fdfa update version to 6.5.0 2005-08-23 00:45:54 +00:00
Brian Paul
dfb6c56ed8 added GL_X_RENDERABLE to glXChooseFBConfig (bug 4181) 2005-08-22 14:28:19 +00:00
Brian Paul
dcf14aa3a7 bump version to 6.5 2005-08-22 14:27:33 +00:00
Brian Paul
1e71d6af48 added .S DRI files to tarball (Donnie Berkholz), bumped version to 6.5 2005-08-22 14:27:13 +00:00
Dave Airlie
298af7a609 fix up libdrm for egl 2005-08-21 03:17:52 +00:00
Brian Paul
ae27ef2219 fix typo 2005-08-19 23:44:35 +00:00
Brian Paul
f350e22716 md5 sums for 6.3.2 2005-08-19 23:42:29 +00:00
Brian Paul
eacd347fce update MESA_DEBUG with FP info 2005-08-19 23:34:10 +00:00
Adam Jackson
8fcd1e0287 Convert libGL and DRI drivers to require libdrm.
libdrm can be had from:

http://people.freedesktop.org/~ajax/libdrm/
2005-08-19 20:20:03 +00:00
Ian Romanick
2ae5645115 Fix a realloc problem with indirect vertex arrays. The actual head pointer
wasn't tracked and used for the realloc, so it tended to explode.
2005-08-19 18:53:26 +00:00
Brian Paul
b7c727e500 updates for 6.3.2 release, plus other assorted clean-ups 2005-08-19 16:57:50 +00:00
Alan Hourihane
d912f6cfe3 Commit missing piece from Egbert's 32/64 bit patches 2005-08-19 16:07:33 +00:00
Ian Romanick
f7eb54a12f Enable ARB_texture_compression. The code has been in place for a long time,
but, for whatever reason, the extension wasn't enabled.

Add some comments to i810ChooseTextureFormat.  There's some strangeness with
i810 texture formats.
2005-08-19 00:48:25 +00:00
Ian Romanick
e0029b33ef Add support for NV_blend_square. This was tested with
progs/tests/blendsquare.
2005-08-18 22:27:37 +00:00
Ian Romanick
ab5be2c5f7 Make sure extension entry point offsets are properly initialized. This is
primarilly needed to support functions that are internally implemented using
extension entry points (e.g., glBlendFunc uses glBlendFuncSeparate).
2005-08-18 22:16:46 +00:00
Ian Romanick
61ac29e7c6 Don't try to update hardware texture fields if there is no hardware texture.
This can happen when all the texture enables for a texture unit are disabled.

This fixes bugzilla #3195.
2005-08-18 20:01:01 +00:00
Ian Romanick
b462855c24 Add simple regression test for bugzilla #3195. 2005-08-18 19:52:44 +00:00
Ian Romanick
e918bac8cd Make the i810 driver use driGetRendererString like all the other drivers.
The GL_RENDERER string now accurately contains the chip name.  This was only
tested on a "plain" i810 (PCI ID 8086:7121).
2005-08-18 19:51:11 +00:00
Brian Paul
aa2a357bae Replace mult/div operators with bitwise operators in texel fetch routines
for better performance. (Roland Scheidegger)
2005-08-18 14:33:26 +00:00
Brian Paul
05fe2871e3 Bump version to 6.3.2 2005-08-16 23:13:25 +00:00
Brian Paul
926a19e108 updates for 6.3.2 2005-08-16 23:12:37 +00:00
Brian Paul
160b3284dd include stdint.h if WIN32 and GNUC (Colin Harrison). Patch forwarded to SGI. 2005-08-15 23:25:33 +00:00
Brian Paul
c2c2600728 test the standard stencil op modes too (Philipp Klaus Krause) 2005-08-15 22:57:30 +00:00
Roland Scheidegger
7a362deb8c In _mesa_TexEnvfv, do not accept values for GL_OPERAND2_ALPHA and GL_OPERAND2_RGB which are only valid with ARB_texture_env_combine but not with EXT_texture_env_combine, when only EXT_texture_env_combine is supported. 2005-08-15 18:24:12 +00:00
Ian Romanick
a3dd6efb00 Put back '-I/usr/X11R6/include'.
Make 'USING_EGL=0' the default for now.  It's causing too much confusion for
too many non-developers (which in turn wastes too much developer time).  It
is trivially overridden from the make command line.  See comments in
linux-dri.
2005-08-15 15:01:39 +00:00
Alan Hourihane
dabec11d27 Add Egberts fixes for 64bit architectures
Add additional checks for the *DRIRec info structure passed in from the
device driver. This ensures that things fallback to indirect rendering if
the DDX driver has had modifications (i.e. removal of the drmAddress field).
2005-08-15 06:59:24 +00:00
Alan Hourihane
69dc32cfac Add a check which compares the passed in size of the DDX driver private DRI
structure to the 3D drivers view of it, and abort if they don't match.

This traps the case with the drmAddress removal in the DDX driver.
2005-08-14 12:16:51 +00:00
Ian Romanick
33f9c98aa6 Enable support for EXT_stencil_wrap. The code was already there, but the
extension wasn't enabled.  I have verified its correct function with Mesa's
stencil_wrap test.  It is enabled on both Savage4 and Savage3D.  Since
Savage3D uses a software fallback for *all* stencil operations, this is safe.
2005-08-13 01:43:28 +00:00
Brian Paul
6fe7a0dc01 added FREXPF() macro (bug 4060) 2005-08-12 18:56:56 +00:00
Ian Romanick
f2876d1ee3 Remove the logic that determines at compile time whether or not HAVE_ALIAS
should be defined.  It was flawed on some platforms (e.g., Darwin & mingw).
Instead, rely on the build system to define it on the compiler command line.

This also reverts ajax's hand-edit to indirect_size.c.  I'll fix that on the
X.org side of things later today.
2005-08-11 20:29:45 +00:00
Ian Romanick
fbcc5aedf2 Remove support for the R200_NO_VTXFMT environment variable. Instead use
'tcl_mode=1'.  This fixes bugzilla #3972.
2005-08-11 19:47:06 +00:00
Ian Romanick
4c4e4bfa4e Makefile cleanups suggested by George Fufutos (bugzilla #3899). 2005-08-11 19:37:55 +00:00
Ian Romanick
ac7c147aaf Don't link with libGL, libEGL, or libEGLdri. On EGL setups libGL isn't
available, and on libGL setups libEGL and libEGLdri aren't available.
2005-08-11 19:29:25 +00:00
Ian Romanick
b7ae3e4787 Since Brian's recent commit, "-I/usr/X11R6/include/X11/extensions" is no
longer needed.
2005-08-11 19:23:23 +00:00
Brian Paul
82dfd4b71f fix X #includes so they're relative to X11/ directory (bug 4047) 2005-08-11 14:18:53 +00:00
Ian Romanick
ac887d4211 Make ffb driver build on x86-64. The fix is two fold. First, use the
proper DRM_CAS_RESULT to declare the variable used to store the result
of DRM_CAS.  Second, only use the "real" versions of LOCK_HARDWARE and
UNLOCK_HARDWARE on SPARC.  That's the only platform where the hardware
can really exist.
2005-08-11 04:25:36 +00:00
Ian Romanick
967b006f51 Remove _glapi_check_multithread from the interface exported by the loader to
the driver.  The loader now takes care of this for the driver.

Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e.,
having a NULL value means that the application is multithreaded and
_glapi_get_dispatch must be called).

Gut all of the dispatch override code.  This removes _glapi_RealDispatch,
_glapi_tls_RealDispatch, _glapi_begin_dispatch_override,
_glapi_end_dispatch_override, and _glapi_get_override_dispatch.

Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version,
and _glapi_check_table from the loader / driver interface.

Reviewed by: Brian Paul
2005-08-10 23:54:15 +00:00
Ian Romanick
1b8d0f149e Mesa uses the glVertexAttrib*NV functions to implement fixed-function
attributes in display lists.  If a driver doesn't add entry points for
GL_NV_vertex_program, it will explode.  This patch adds GL_NV_vertex_program
to the list of default extensions whose entry points are added by
driInitExtensions.

Thanks go to Roland Scheidegger for tracking the problem down and suggesting
the fix.
2005-08-10 23:39:42 +00:00
Brian Paul
8c9cd63c89 the PIXEL_MAP_I_TO_I table should be GLfloat, not GLint 2005-08-10 17:04:03 +00:00
Brian Paul
63c9ebeaff fix static assertion problem for gcc (bug 4022) 2005-08-10 14:42:21 +00:00
Brian Paul
6b563bda43 disable the pointer size assertions (bug 4021) 2005-08-10 14:40:05 +00:00
Brian Paul
5d40169436 fix indentation 2005-08-10 14:38:39 +00:00
Keith Whitwell
738c9a073f Check for prim/vertex store non-null before messing with refcounts. 2005-08-10 14:13:45 +00:00
Ian Romanick
258f005c6b Add rules and target to build src/mesa/x86-64/glapi_x86-64.S. 2005-08-09 18:54:12 +00:00
Keith Whitwell
c91720fb1a Decrement the context's refcounts on part-used storage structs on
context destroy.  Fixes memory leak.
2005-08-09 16:11:28 +00:00
Brian Paul
d2e289c70f actually free the renderbuffer in xmesa_delete_renderbuffer(), fixes a memory leak 2005-08-09 15:17:19 +00:00
Brian Paul
e78a3c42e4 delete display lists upon exit 2005-08-09 15:14:51 +00:00
Brian Paul
a1a6fa2fa1 free display lists and destroy window upon exit 2005-08-09 15:13:32 +00:00
Brian Paul
ecde87054c _mesa_free_framebuffer_data() call frees the renderbuffers, no need to call the Delete methods after 2005-08-09 15:07:55 +00:00
Brian Paul
24d55a1145 free context structure (bug 1252316) and s/free/_mesa_free/ 2005-08-09 14:23:28 +00:00
Ian Romanick
aba4864a25 Make the linux-dri-x86 builds work on x86-64 again. mklib now
determines the bits (either 32 or 64) for libraries without the lib
prefix.  progs/egl/Makefile passes CFLAGS on the link commands so that
things like '-m32' get propagated.
2005-08-08 23:22:46 +00:00
Brian Paul
7bf08c23fd s/Disaptch/Dispatch/ (bug 3918) 2005-08-08 21:42:51 +00:00
Brian Paul
63dffa4e77 added directfbgl.h to tarball 2005-08-08 21:30:12 +00:00
Ian Romanick
da0c5b2e2c Since glcontextmodes.[ch] are no longer used in the DRI drivers, removed the
IN_DRI_DRIVER cruft.  This was suggested by George Fufutos.
2005-08-08 17:22:44 +00:00
Dave Airlie
0d942b740c fix up color tiling in miniglx radeon server code 2005-08-08 04:34:35 +00:00
Dave Airlie
ac54de021a fix miniglx setting virtual size of 832 for 800x600 2005-08-08 04:17:52 +00:00
Jon Smirl
ae4e58c9ab Remove platform specific bits from radeon_egl.c 2005-08-08 03:58:26 +00:00
Eric Anholt
81b3c5e85c Dike out the linux-specific EGL bits unless it's a linux build. 2005-08-08 03:27:28 +00:00
Eric Anholt
f1a261377f Since this isn't a bash script, don't use function and instead inline the usage
into the one place that it's used.
2005-08-08 03:26:18 +00:00
Vladimir Dergachev
8e653f12bc Allow R300 driver to build on x86-64 and PowerPC. 2005-08-07 21:50:33 +00:00
Jon Smirl
bf54a28384 Add missing egldri.h header file 2005-08-07 02:30:32 +00:00
Jon Smirl
9a4dbf1cff Fix up some of the sample to work with the r200 EGL driver 2005-08-07 02:15:27 +00:00
Jon Smirl
7e5da5d526 Enable EGL support in 'linux-dri' config 2005-08-07 02:13:14 +00:00
Vladimir Dergachev
94a4eb1e78 Follow suggestion by Aapo Tahkola to fix giant memory leak from forgetting to free the key when entry was already found (presumably a common case). 2005-08-06 05:19:42 +00:00
Vladimir Dergachev
b8731903df Fix card_extensions by following corresponding r200 code.
Fix suggested by Ian Romanick.
R300 driver now works without segfault.
2005-08-06 04:39:27 +00:00
Ian Romanick
23a4f50c5b Fixes bugzilla #1730.
Make sure that all the values used in the clean-up code are initialized at
some point.  It is still unclear to me as to why GCC does not complain.  I
suspect the problem may be due to the depth of if-statement nesting.
2005-08-05 23:13:13 +00:00
Ian Romanick
6965f2cb0a Fixes bugzillla #812.
The weak version of _glapi_DispatchTSD was removed from dri_util.c.  As
stated in the bug report, this was only needed to support versions of libGL
that did not have this symbol.  Versions of libGL without this symbol are no
longer supported at all, so it is totally irrelevant.
2005-08-05 22:12:49 +00:00
Alan Hourihane
928218a283 remove the drmAddress 2005-08-05 20:47:59 +00:00
Ian Romanick
6bc24c5c05 In order to create the set of available extensions, we have to know if
direct-rendering is possible on a given screen.  It is not possible to
determine this by just looking at driDisplay.private in the display
structure.  However, it is possible to determine this by looking at
driScreen.private in the screen structure.  This field is only non-NULL if a
DRI driver has been successfully loaded and bootstrapped.  Once we get to
that point, we know that direct-rendering is at least theoretically
possible.

This fixes bugzilla #2875.
2005-08-05 19:13:51 +00:00
Ian Romanick
126c89e35f Fix recent problems with display lists and other parts of the code.
CALL_by_offset, SET_by_offset, and GET_by_offset all had various problems.

The core issue is that parts of the device-independent code in Mesa assumes
that all functions have slots in the dispatch table.  This is especially
true in the display list code.  It will merrilly try to set dispatch
pointers for glVertexAttrib1fARB even if GL_ARB_vertex_program is not
supported.  When the GET/SET/CALL macros are invoked, they would read a 0
from the remap table.  The problem is that 0 is the dispatch offset for
glNewList!

One change is that the remap table is now initialized to be full of -1
values.  In addtion, all of the *_by_offset marcos misbehave in an obvious
way if the specified offset is -1.  SET_by_offset will do nothing,
GET_by_offset will return NULL, and CALL_by_offset, since it uses
GET_by_offset, will segfault.

I also had to add GL_EXT_blend_func_separate to the list of default
extensions in all_mesa_extensions (src/mesa/drivers/dri/common/utils.c).
Even though many drivers do not export this extension, glBlendFunc is
internally implemented by calling glBlendFuncSeparate.  Without this
addition, glBlendFunc stopped working on drivers (such as mga) that do not
export GL_EXT_blend_func_separate.

There are still a few assertions / crashes in GL_ARB_vertex_program tests,
but I don't think that these are related to any of my changes.
2005-08-05 18:13:37 +00:00
Jon Smirl
33f5e47faf Remove EGL from linux-solo makefile 2005-08-05 03:48:15 +00:00
Jon Smirl
485528f2ac More EGL prep. No impact on anything outside of EGL 2005-08-05 03:33:59 +00:00
Jon Smirl
b507bd4160 New files for radeon egl driver.
Still a work in progress.
2005-08-04 22:23:34 +00:00
Ian Romanick
711555d1e3 Convert all instances of XTHREADS to USE_XTHREADS. This fixes one of
serveral things that are broken when building on a system with X.org 7.0rc0
installed.
2005-08-03 23:05:25 +00:00
Dave Airlie
7f5925d57c Add color tiling support to miniglx for radeon
(Stephane Marchesin + Dave Airlie)
2005-08-03 10:22:31 +00:00
Ian Romanick
7adcedcd54 Fix build problems related to finding Xthreads.h. 2005-08-01 16:30:24 +00:00
Ian Romanick
29206ae569 Remove unused structures and data fields. These had been left in because
DRI drivers using the "old" interface relied on certain fields being at
certain offsets.  Removing the structures would break that.  Now that the
old interface is no longer supported, the dead data can finally die.
2005-07-29 17:30:18 +00:00
Ian Romanick
dc6e2c778a Add a new config called linux-indirect. This build the GLX libGL just like
linux-dri, but it disables support for direct-rendering in it.  This config
mainly exists so that I can verify that changes to libGL haven't broken
builds on non-DRI platforms.
2005-07-29 17:25:50 +00:00
Jon Smirl
4508bcc72c Leave the AGP_BASE code in. It is pointless to bump the interface
for X on a miniglx fix. It can be removed later.
2005-07-29 16:53:02 +00:00
Jon Smirl
a7d4bfed8a Remove OUTREG(RADEON_AGP_BASE, info->ringHandle); from DRI driver
Code is already in DRM driver to do this.
2005-07-29 13:58:22 +00:00
Jon Smirl
4ce390b933 Commit Ian's fixes from Bug 3877
I have tested these on miniglx and they seem to be working.
I'm sure Dave will give them a better test.
2005-07-29 00:48:12 +00:00
Jon Smirl
df68d11b47 Fix a == vs !- typo for glx_enable_extension 2005-07-29 00:19:36 +00:00
Ian Romanick
82e3ecf413 Use the routines supplied in the __DRIinterfaceMethods structure to create a
destroy __GLcontextModes structures.  This eliminates the need for DRI
drivers to ever link with glcontextmodes.c.
2005-07-28 23:33:18 +00:00
Ian Romanick
f7c9eafa85 glxEnableExtension is a platform-specific function exported by the loader.
Therefore, drivers should not require it to run.
2005-07-28 21:57:17 +00:00
Ian Romanick
68679d2b9e Remove '#if 0' block that was accidentally left in. 2005-07-28 20:55:26 +00:00
Brian Paul
960467443e SPARC, DRI interface changes for 6.3.1 2005-07-28 02:46:26 +00:00
Ian Romanick
14fa5f6a60 The dri/*/depend files don't exist on a raw check-out, and that makes 'make
tarballs' have issues.
2005-07-28 01:15:45 +00:00
Ian Romanick
1585c234e0 Major rip-up of internal function insertion interface. The old
_glapi_add_entrypoint has been replaced by a new routine called
_glapi_add_dispatch.  This new routine dynamically assignes dispatch offsets
to functions added.  This allows IHVs to add support for extension functions
that do not have assigned dispatch offsets.

It also means that a driver has no idea what offset will be assigned to a
function.  The vast majority of the changes in this commit account for that.
An additional table, driDispatchRemapTable, is added.  Functions not in the
Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a
fixed offset in this new table.  The entry in this table specifies the
offset in of the function in the real dispatch table.

The internal interface was also bumped from version 20050725 to 20050727.

This has been tested with various programs in progs/demos on:

radeon (Radeon Mobility M6)
r128 (Rage 128 Pro)
mga (G400)
2005-07-28 00:29:51 +00:00
Ian Romanick
9f23a3a1bf Fix SPARC assembly for 64-bit
- The test for whether or not we're building for 64-bit is '#ifdef __arch64__'.
 This appears to be correct on both Linux and Solaris.

- The test for Solaris is now '#if defined(SVR4) || defined(__SVR4) ||
defined(__svr4__)'.  GCC 3.4.0 has all three defined on Solaris 9.

- Enables assembly language clip routines.

- Fixes to make GLSL code build on Solaris.

- Update gl_SPARC_asm.py.
2005-07-28 00:11:10 +00:00
Philippe Houdoin
3e36986e5a This precious BeOS include file was lost since some released MesaLibs. Fixed. ;-) 2005-07-27 19:56:33 +00:00
Roland Scheidegger
67d94e5a86 test for the proper drm version, at least 1.17 is required 2005-07-27 18:21:34 +00:00
Alan Hourihane
a7df74ea02 typo 2005-07-26 23:09:50 +00:00
Alan Hourihane
36d6e9df16 support GLX_DIRECT_COLOR in 1.4.0 2005-07-26 23:06:10 +00:00
Ian Romanick
ab7c6ffadc Remove the last remnants of GLX_BUILT_IN_XMESA. This allows the removal of
the evil, ugly GLX_PREFIX macro as well.
2005-07-26 22:53:38 +00:00
Alan Hourihane
1361398600 Bump the required ddx to 1.4.0 as drmAddress has been removed so that 32/64bit
combinations work.
2005-07-26 21:53:16 +00:00
Ian Romanick
5c6fd3dd4c No, really, get rid of all the remaining references to DRI_USE_NEW_INTERFACE.
A couple other remnants of the old interfaces hit the dust too.  Thanks
Jon. :)
2005-07-26 05:57:24 +00:00
Ian Romanick
a08d8a095c Quote $(CC) and $(CXX) so that 'CC=ccache gcc' and 'CXX=ccache g++' will
work again.
2005-07-26 05:55:56 +00:00
Ian Romanick
5f1ba3e21b Fixes the glXGetProcAddress portion of the interface. Most of the functions
that are currently obtained via glXGetProcAddress and all of the XF86DRI
functions are replaced with a funciton table.  This table will be passed to
__driCreateNewScreen.

One of the functions in the table is getProcAddress.  This allows some
loaders to expose functionality not in all loaders.  This will be immediatly
used for glxEnableExtension (formerly known to drivers as
__glXScrEnableExtension).  libGL (and in the future libglx) expose this
function so that drivers can enable GLX extensions.  libEGL should exposed
eglEnableExtension to enable EGL extensions.  The same function cannot be
used for both because the extensions have different names and (possibly)
different semantics.  Drivers can optionally use one, both, or neither.

The key parts are in the __DRIinterfaceMethodsRec structure in
dri_interface.h.  A pointer to one of these structures is passed into
__driCreateNewScreen.  Because of this, the version of the API is bumped to
20050725.  Since the previous version(s) were never in a release, their
existance is erased.

I was actually a little surprised by how much code this cuts from the
drivers.  A lot of glXGetProcAddress calls disappear, and a lot of
version checks go with them.  Nice.

The one thing I'm not sure of is removing __glXInitialize.  For some
reason that function was in the glXGetProcAddress table, but *nothing*
in the Mesa tree used it.  Did something with DRI conf. use this
function?  It seems odd...
2005-07-26 02:44:01 +00:00
Brian Paul
1201348a33 improve comments about win[0..3] values (bug 2554) 2005-07-26 01:04:53 +00:00
Brian Paul
800c72ae61 Fix bug 1858 - array subscript out of range in gamma driver.
Set ctx->Const.MaxTextureLevels = GAMMA_TEX_MAXLEVELS = 12
Remove bogus WRITE(level 12).
Max gamma texture size is 2kx2k  (note: 2k = 1 << (MaxLevels - 1))
2005-07-26 00:10:53 +00:00
Brian Paul
7c1ab40898 Add license/copyright.
Add -h/--help option for usage.
Minor clean-ups.
2005-07-25 23:49:50 +00:00
Brian Paul
8dcc6736ab Added -linker option to mklib, used to specify a particular program for
linking, if relevant.
Updated Makefiles to use -linker option instead of setting CC, CXX env vars.
2005-07-25 22:59:58 +00:00
Ian Romanick
e9dbe58b8b Gut a few more dead bits. Replace uses of the CreateNewScreenFunc typedef
(from glxclient.h) with PFNCREATENEWSCREEN (from dri_interface.h).

Remove the prototype for __driCreateScreen and fix the prototype for
__driCreateNewScreen (append the API version) in dri_interface.h.
2005-07-24 07:38:23 +00:00
Ian Romanick
c39bf5e273 All elements of pre-DRI_NEW_INTERFACE_ONLY are removed. This allows
1,402 lines of code to be removed from Mesa (drivers and libGL).  The
big winner is dri_util.c.

Primary changes are:

1. Remove all "deprecated" entry-points from the various structures in
dri_interface.h.

2. Rename the remaining fields to removed "version numbers."  So,
bindContext3 becomes bindContext.  Functions with "New" in the name
(e.g., CreateNewContext) were *not* changed, but that is an option.
Having "New" in the name is less annoying to me than having "3" in the name.

3. Remove all compatibility code that handles cases where the driver or
the loader is too old to support the latest interfaces.

4. Append the API version to the __driCreateNewScreen function name.
This is currently done by hand.  In the future (i.e., the next time we
make an incompatible change to the interface) we'll want to come up with
a better way to do this.  This prevents old loaders from being able to load
new (incompatible) drivers.

5. Bump the API version to 20050722.  All drivers (by way of dri_util.c)
require this version.

6. All drivers are *required* to expose GLX_SGIX_fbconfig and
GLX_OML_swap_method (or the moral equivalents).  Support for these
functions in implicit in the use of the "new" interface.

7. Some cases still exist that need to be compiled differently in a loader
or core Mesa versus in a driver.  These are identified by the define
IN_DRI_DRIVER.
2005-07-24 06:29:14 +00:00
Adam Jackson
7d40d230fa Add two aliases for some PointParameters entrypoints for libglx compatibility.
Doing this here rather than on the GLX side since the X monolith hasn't had
Mesa 6.3 imported yet.

idr, I know this is touching a generated file, but I haven't figured out what
needs changing in the generator scripts to make this change happen.  If you
could add that I'd appreciate it.
2005-07-23 02:09:58 +00:00
Brian Paul
3e2419a7cc Break the long list of MAIN_FILES and DEMO_FILES into subgroups.
rm/touch the depend files when making tarballs so they don't include
RedHat-specific paths (bug 3842).
2005-07-22 15:52:46 +00:00
Jouk Jansen
70cf1f0cf8 ----------------------------------------------------------------------
Committing in .

 _mesa_sprintf crashes on OpenVMS -> replaced it by the OS-supplied sprintf

 Modified Files:
 	Mesa/src/mesa/drivers/x11/fakeglx.c
 ----------------------------------------------------------------------
2005-07-22 09:30:54 +00:00
Brian Paul
60a6a0eb51 some GLuint idx -> GLint idx changes 2005-07-22 02:55:36 +00:00
Brian Paul
fea5a428e9 added vp negative addressing bug fix 2005-07-22 02:54:14 +00:00
Brian Paul
61e694f270 Make the vertex program source register Index field a signed int since
relative addressing can be negative.
Change some GLuint indexes to GLint in the t_vp_build.c file.
Added PROGRAM_UNDEFINED token for initializing the register File field to
avoid a gcc 4.0 warning.
2005-07-22 02:53:38 +00:00
Brian Paul
db251d72c8 bump version to 6.3.1 2005-07-21 18:46:49 +00:00
Brian Paul
7a37189adc 6.3.1 updates 2005-07-21 18:45:54 +00:00
Brian Paul
f87bb14b0b updated with DRI building instructions 2005-07-21 18:45:44 +00:00
Brian Paul
dff11bb9a8 bump version to 6.3.1 and include DRI/GLX files in tarballs 2005-07-21 18:44:52 +00:00
Brian Paul
98b06bcbeb make i810PrintSetupFlags() static, first param const 2005-07-21 18:11:24 +00:00
Brian Paul
7b5c506c0e first 6.3.1 bug fixes 2005-07-21 15:58:16 +00:00
Brian Paul
7cf480e6fe s/2004/2005/ 2005-07-21 15:57:29 +00:00
Brian Paul
951dbf08e7 check for FEATURE_EXT_framebuffer_object to enable EXT_framebuffer_object 2005-07-21 15:48:39 +00:00
Brian Paul
49e74989c3 remove ^M chars, disable shading language extensions 2005-07-21 15:41:56 +00:00
Eric Anholt
3e8efc3753 Clean up warnings in r300 code by making some symbols static, adding prototypes
for others, and being cleaner with types in fragment/vertex program structures.
One warning in r300_shader.c is still concerning.
2005-07-20 23:24:55 +00:00
Eric Anholt
aeb0ee771b Connect the r300 bits up to the build. 2005-07-20 22:08:06 +00:00
Eric Anholt
6ae76788a7 Add some missing defines, copied from linux-dri. 2005-07-20 22:07:29 +00:00
Eric Anholt
e98494d0a4 Forced commit to note repocopy from r300.sf.net CVS. 2005-07-20 21:35:27 +00:00
Brian Paul
18014525a1 fix some URLs 2005-07-20 18:25:01 +00:00
Brian Paul
2276679c53 added md5 checksums for 6.3 2005-07-20 18:20:45 +00:00
Brian Paul
d4596584f6 more updates for 6.3 release 2005-07-20 18:07:11 +00:00
Brian Paul
6bb49eacfd updates for 6.3 release 2005-07-19 21:01:46 +00:00
Brian Paul
bfb5ea307e replace fprintf() calls with _mesa_problem() 2005-07-19 18:20:04 +00:00
Brian Paul
364ae78e69 remove fprintf() 2005-07-19 18:18:49 +00:00
Brian Paul
8d7d9c22f6 include driverfuncs.h 2005-07-19 15:34:44 +00:00
Brian Paul
2d47c07398 overlay planes test 2005-07-19 15:27:03 +00:00
Brian Paul
7e152b83cb s/clippping/clipping/ 2005-07-18 20:07:19 +00:00
Philippe Houdoin
ed886336e1 Fixed warnings by using GLUTProc type instead of anonymous (void *) for
GLUT callbacks.
2005-07-18 19:27:49 +00:00
Alan Hourihane
5343ae8304 re-enable the ffb driver 2005-07-18 13:53:03 +00:00
Alan Hourihane
df88dfe1df Fix the FFB driver for the renderbuffer changes
Support NEW INTERFACE as well
2005-07-18 13:52:34 +00:00
Alan Hourihane
c235a96a71 pass in the renderbuffer 2005-07-18 13:50:06 +00:00
Ian Romanick
aa8ff1e75d Missed this on the previous commit. 2005-07-18 12:33:03 +00:00
Ian Romanick
9bdfee3a47 Wrap every place that accesses a dispatch table with a macro. A new script-
generated file, called src/mesa/glapi/dispatch.h, is added.  This file
contains three macros for each API function.  It contains a GET, a SET, and
a CALL.  Each of the macros take a pointer to the context and a pointer to
the dispatch table.

In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint
with a new function called _glapi_add_dispatch.  For this discussion, the
important difference between the two is that the caller of _glapi_add_dispatch
does *not* know what the dispatch offset will be at compile time.  Because of
this callers need to track the dispatch offset returned by
_glapi_add_dispatch.

http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2

The downside is that driver code then has to access the dispatch table two
different ways.  It accesses it using structure tags (e.g., exec->Begin) for
functions with fixed offsets and via a remap table (e.g., exec[
remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck!

Using the macros allows both types of functions to be accessed
identically.  If a driver needs to set a pointer for Begin, it does
'SET_Begin(ctx, exec, my_begin_function)'.  If it needs to set a pointer
for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec,
my_NewExtensionFunction_function)'.  Furthermore, if at some point in
the future a static offset is assigned for NewExtensionFunction, only
the macros need to change (instead of every single place that accesses a
table for that function).

This code differs slightly from the originally posted patches in that the
CALL, GET, and SET marcos no longer take a context pointer as a parameter.
Brian Paul had suggested that the remap table could be stored as a global
since it would be set at CreateScreen time and would be constant for all
contexts.  This change reflects that feedback.

http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
2005-07-18 12:31:24 +00:00
Adam Jackson
e0e993c5ff XMesaResizeBuffers needs separate paths for client and server builds 2005-07-16 04:02:05 +00:00
Adam Jackson
c529f6bf70 strip out vestigial #ifdef HAVE_CONFIG_H stanzas, they're confusing the
modular X build
2005-07-16 00:56:20 +00:00
Brian Paul
8d3aca655e disable call to via_sse_memcpy() until it's fixed 2005-07-15 23:13:46 +00:00
Brian Paul
1f88391747 need to flush vertices for GL_OCCLUSION_TEST_RESULT_HP query 2005-07-15 23:08:06 +00:00
Brian Paul
d39760d718 Check for null program->Parameters pointer in validate_vertex_program().
GL_NV_vertex_program programs can't directly reference GL state so this
pointer is always NULL.
2005-07-15 22:48:09 +00:00
Brian Paul
df0350b7ec added comments 2005-07-15 22:47:00 +00:00
Brian Paul
b0489d4f82 remove duplicate "User disable" string 2005-07-15 20:17:02 +00:00
Brian Paul
8ec981c469 redo previous check-in, just set ARCH_FLAGS = -m32 2005-07-15 14:31:31 +00:00
Brian Paul
4eb3a0f076 define CFLAGS and CXXflags with -m32 (Egbert Eich) 2005-07-15 13:58:58 +00:00
Brian Paul
4c72778251 replace gcc with $(CC) (Egbert Eich) 2005-07-15 13:55:20 +00:00
Brian Paul
badad72383 eglgears demo (Dane Rushton) 2005-07-14 23:16:41 +00:00
Brian Paul
c62c24c72f added a few more fallbackStrings (Andreas Stenglein) 2005-07-14 23:10:21 +00:00
Keith Whitwell
b127cfeb7a Use the LDEXPF wrapper macro. 2005-07-13 17:49:22 +00:00
Keith Whitwell
3f7cb794ea Add a LDEXPF wrapper macro. 2005-07-13 17:47:40 +00:00
Keith Whitwell
c472dcdac0 Wrap RESTORE_FPU/RND_NEG_FPU declarations with check for USE_SSE_ASM. 2005-07-13 13:50:31 +00:00
Keith Whitwell
ce721143b4 Cache texenv programs to avoid repeated compilation (Ben Skeggs) 2005-07-11 10:10:38 +00:00
Keith Whitwell
9311bc253e Add runtime compiled x87 implementations for most of the remaining
opcodes.  When enabled via environment vars, gears runs and almost
looks right but other apps are still quite buggy.
2005-07-10 11:23:10 +00:00
Keith Whitwell
0cfbd849ec Add lots of x87 fpu instructions. 2005-07-10 11:14:00 +00:00
Ian Romanick
6d5d1f8a41 Restore linux-x86-32 config for Brian. 2005-07-08 21:55:56 +00:00
Ian Romanick
38e2fa385d Put back the glPopMatrix. This test was derived from blendminmax.c.
When extra code was cut from blendminmax.c's Display function, the
glPopMatrix call was also accidentally cut.
2005-07-07 20:43:01 +00:00
Ian Romanick
2550844c6e Correct the comments in the file headers. Oops. 2005-07-07 19:35:30 +00:00
Ian Romanick
259f096ed8 Add regression test for bug #3101. 2005-07-07 19:34:06 +00:00
Roland Scheidegger
f3186e5789 Re-enable r200InitSpanFuncs, which was ifdefed out (probably by mistake?),
so r200SetBuffer, r200SpanRenderStart and r200SpanRenderFinish get called again.
Bugzilla #3705, #3706.
2005-07-06 12:49:46 +00:00
Brian Paul
4cf6718725 The old MESA_PBUFFER_ALLOC() function allocated memory on 512-byte boundaries.
Restore that behavior with new _mesa_alloc_texmemory() function.
Should fix via_sse_memcpy() problem in found with flightgear.
2005-07-05 14:13:42 +00:00
Jon Smirl
78be0b5dad Put default back to the normal DRM path 2005-07-02 21:28:01 +00:00
Ian Romanick
f0ff50d4ed Add support for assembly (static) dispatch functions on x86-64. This
is basically patch #2939 from X.org bugzilla #3379.  This does *not*
fix the bug as it does not dynamically generate stubs at run-time.  It
just gets things one step closer.
2005-07-02 08:29:57 +00:00
Ian Romanick
1a9cac10b8 linux-x86-32 is unnecessary. The same thing can be acomplished by
'make linux-x86 ARCH_FLAGS=-m32'.
2005-07-02 07:48:41 +00:00
Ian Romanick
9204e87b2e Massive refactor of (most of) the Linux config files. This reduces
the length of each config and brings a lot of much needed uniformity
to them.
2005-07-02 07:38:40 +00:00
Ian Romanick
4f178c6e3a Add $(CFLAGS) to the link commands. This makes 'make linux-x86
ARCH_FLAGS=-m32' work correctly on x86-64 systems.
2005-07-02 07:12:44 +00:00
Ian Romanick
ef2ce9d003 Make linux-x86 more like the other linux configs. 2005-07-02 07:11:54 +00:00
Vladimir Dergachev
c1c684b0f3 Expose the fact that we do not do either selection of feedback buffers - either with software or hardware rendering. 2005-07-02 01:09:10 +00:00
Jerome Glisse
666dcaaf05 Adding RV350_NJ ID. 2005-07-01 21:26:43 +00:00
Jerome Glisse
7b12220256 Adapt extension string to new GL dispatch schema proposed
by Idr. This  patch is based on Idr patch to radeon driver.
Change #if 1 to #if 0 (r300_context.c:l69) for old dispatch
tab.
2005-07-01 21:22:05 +00:00
Karl Schultz
5f79d27b82 Update notes with VC7 info. 2005-07-01 21:08:00 +00:00
Karl Schultz
c136b41b09 Add windows VC7 project files to filelist for tar/zip files. 2005-07-01 20:31:41 +00:00
Karl Schultz
ee850657e6 VC7 project file for building glut lib 2005-07-01 20:25:57 +00:00
Karl Schultz
0cf67634bb VC7 project file for gears demo 2005-07-01 20:25:23 +00:00
Karl Schultz
101d05ad94 VC7 Solution file for building glut and demos 2005-07-01 20:24:49 +00:00
Karl Schultz
c5b6580c6f VC7 project file for osmesa 2005-07-01 20:23:52 +00:00
Karl Schultz
35a11c14ee VC7 project file for core mesa lib 2005-07-01 20:23:23 +00:00
Karl Schultz
ec171b7d02 VC7 project file for glu 2005-07-01 20:22:41 +00:00
Karl Schultz
2de5f6e252 VC7 project file for gdi driver 2005-07-01 20:21:45 +00:00
Karl Schultz
b64d60a2a6 Visual Studio 7 solution file for mesa lib 2005-07-01 20:19:47 +00:00
Karl Schultz
eac7688231 Don't #define __FUNCTION__ on a Microsoft C compiler new enough to have it. 2005-07-01 20:11:46 +00:00
Keith Whitwell
219f3c4489 Set fp->Opcode for OP_TEX_KILL case, fix from Ben Skeggs. 2005-07-01 17:12:29 +00:00
Karl Schultz
06abb854f0 Add new files to project. 2005-07-01 15:59:33 +00:00
Karl Schultz
7fe8696d01 Use frexp on Windows; frexpf is not available. 2005-07-01 15:58:02 +00:00
Karl Schultz
9b56781986 Fix a prototype 2005-07-01 15:56:14 +00:00
Roland Scheidegger
758f334717 convert sis and radeon driver to use spantmp2 instead of spantmp template. Remove old (pre-renderbuffer) span code instead of converting that too. Remove this old code from mach64 (the dead code was not fully converted to spantmp2 previously) too. 2005-07-01 11:28:14 +00:00
Brian Paul
8e8fa63cb4 comment-out some unused code to silence warnings 2005-07-01 02:03:33 +00:00
Brian Paul
559c494fc8 replace some free() calls with _mesa_free() 2005-07-01 02:03:00 +00:00
Brian Paul
03f52fea63 updates to file list for tarballs 2005-07-01 01:55:30 +00:00
Brian Paul
6d3284efd4 fix dependencies 2005-07-01 01:54:38 +00:00
Brian Paul
58a9573b08 added some glGetRenderbufferParameterivEXT calls, printfs, and assertions 2005-07-01 01:34:29 +00:00
Brian Paul
0d34c0158d fix typo in assertions 2005-07-01 01:30:03 +00:00
Brian Paul
f4f1c29597 Move the PYTHON2 and PYTHON_FLAGS assignments to configs/current, and
include $(TOP)/configs/current in glapi/Makefile so those vars can be
easily overridden by any system config, if needed.
2005-07-01 01:27:00 +00:00
Brian Paul
bb5c84fcbc Remove NEW_RENDERBUFFER stuff.
Now, OLD_RENDERBUFFER marks code that needs to eventually be removed when
all the drivers are updated to no longer need the SetBuffer() function.
2005-07-01 01:22:25 +00:00
Brian Paul
446e258940 remove OLD_RENDERBUFFER code 2005-07-01 01:10:36 +00:00
Brian Paul
54fb9226e4 remove OLD_RENDERBUFFER stuff 2005-07-01 01:08:29 +00:00
Brian Paul
30aea49cf6 minor fixes 2005-07-01 01:04:31 +00:00
Roland Scheidegger
cf5b2f7419 remove common macros used in the span functions of most drivers from the individual drivers and put them in common code. It is still possible for a driver to define its own macros if it has special needs. This affects CLIPPIXEL, CLIPSPAN, HW_CLIPLOOP, HW_ENDCLIPLOOP, and for drivers using the spantmp2 template also GET_SRC_PTR and GET_DST_PTR. 2005-07-01 00:08:46 +00:00
Ian Romanick
c212abf99a Replace add_newer_entrypoints (src/mesa/main/context.c) with
device-specific code.  A new Python script
(src/mesa/glapi/extension_helper.py) generates a list of all
entry-points for all known extensions.  Each driver the selects only
the extensions that it needs and enables the via either
driInitExtensions or driInitSingleExtension.

This code has been compile-tested on a drivers, but has only been
run-tested on mga and i915 (on i830 hardware).

These changes were discussed at length on the mesa3d-dev mailing list.

http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2
2005-06-30 16:00:48 +00:00
Brian Paul
1ac8ae446a remove \n from warning message string 2005-06-30 14:24:44 +00:00
Brian Paul
aa70253cbb added newline at end of file 2005-06-30 14:23:40 +00:00
Brian Paul
049e320f46 Add a set of predicate functions for testing matrices instead of directly
testing the flags field.
Move definition of all the MAT_FLAGs into the m_matrix.c file since they're
now private.
2005-06-30 14:22:23 +00:00
Brian Paul
f138b977d0 Redo all the GL_LINEAR interpolation code in terms of LERP macros/functions.
This cleans up and simplifies the arithmetic quite a bit.
2005-06-30 13:42:10 +00:00
Roland Scheidegger
4d652b7855 Fix crashes with pixel readback when using the optimized assembly functions.
Pixel count can be negative (this could be fixed elsewhere), so adapt the
functions to work with such inputs correctly (same behaviour as non-optimized
functions).
Bugzilla #2317
Submitted by idr
2005-06-30 11:42:56 +00:00
Aapo Tahkola
b0d62880e8 -"fix" page flipping
-use depth tiling if tiling is enabled
2005-06-30 04:37:19 +00:00
Brian Paul
0e55891674 fix a few glitches 2005-06-30 02:34:07 +00:00
Brian Paul
ccda2162f6 fix Darwin dynamic lib naming 2005-06-30 02:33:25 +00:00
Brian Paul
b6c0d753fa just code clean-ups and new comments 2005-06-28 03:48:08 +00:00
Vladimir Dergachev
ec17e7941a Uncomment a couple of helper functions.
Fix slipup from CVS update that was commented out and did not show up during compilation.
2005-06-27 18:46:31 +00:00
Vladimir Dergachev
b6c5116171 Rename unchecked state to match DRM driver.
Emit wait idle and pacify r300 before emitting state - this seems to improve stability.
2005-06-27 15:56:14 +00:00
Brian Paul
84f8d7aafb include t_vp_build.h 2005-06-27 00:45:36 +00:00
Brian Paul
39a488ed63 remove unused MEMSET16 macro 2005-06-27 00:39:33 +00:00
Brian Paul
2dbffb30f0 Get rid of the MESA_PBUFFER_ALLOC/FREE() macros.
If that stuff is still needed, lots of other updates are needed anyway.
Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
2005-06-27 00:34:17 +00:00
Brian Paul
397088ff5e added _tnl_ProgramCacheDestroy() prototype 2005-06-27 00:30:56 +00:00
Brian Paul
c43f03e38d make create_new_program() static 2005-06-27 00:30:37 +00:00
Eric Anholt
3f9839a52b Fix crashes during rasterization fallback by avoiding _tnl_need_projected_coords
during fallbacks.  In one case, _swsetup_Wakeup had just been called, covering
the need there, and in the other case, we can simply exit the entire
radeonChooseVertexState function, knowing that it will be called again once we
leave the fallback.

Bugzilla #:	2516
Submitted by:	sroland
2005-06-26 21:57:23 +00:00
Eric Anholt
a4eb693b5f Remove the #if 0-ed out old span code. 2005-06-26 21:54:43 +00:00
Eric Anholt
32b898126e Explain the reason for TCL fallback when GL_SPHERE_MAP happens with
RADEON_DEBUG=fall.
2005-06-26 21:53:11 +00:00
Eric Anholt
3b817fde88 Zero out the ENGPACKET allocated on the stack, to avoid sending uninitialized
values to reserved fields on the card, resulting in all-black output and
sometimes hangs.

Submitted by:	Thomas Winischhofer
2005-06-26 21:02:58 +00:00
Brian Paul
845f2a7350 fix for-loop in _mesa_GetDouble to avoid out of bounds memory read 2005-06-26 20:08:23 +00:00
Brian Paul
f8582b6c1f check for null oldBuffer in _mesa_realloc(), cleaned up some comments 2005-06-26 19:57:17 +00:00
Brian Paul
394fd40a53 need parenthesis in realloc call 2005-06-26 19:53:52 +00:00
Ian Romanick
4e1aae6e0e Ignore files generated as part of the build process. 2005-06-24 18:54:57 +00:00
Ian Romanick
5aafea03af Fix non-x86 specific builds. The changes from glTexImage3DEXT to
glTexImage3D that caused me so many problems during the re-development
of the API scripts reared its ugly head again.  This has been fixed by
tracking the parameter string for each entry-point individually.

This has the annoying side-effect that the names of the parameters in
all aliases of a function must be the same or gl_apitemp.py will
generate bad code. :(  The changes in
src/mesa/glapi/{gl_API.xml,glapitable.h} and src/glx/x11/* are caused
by fixing the parameter names in various function aliases that didn't
match.

Reported by: Eric Anholt, Jacob Jansen
2005-06-24 18:35:31 +00:00
Jeremy Kolb
3fb86eefe8 Fixed the XCB implementation when always_array is true, thanks to Ian Romanick for pointing it out. Please review. 2005-06-24 02:28:02 +00:00
Brian Paul
1c5caba184 Remove the xmesa_set_buffer() function. No longer needed since the
span functions pass in a gl_renderbuffer to indicate which color
buffer should be drawn into.  Optimized line/triangle routines are
smart enough to know which buffer to draw into as well.
The swrast->SetBuffer() routine should eventually be removed from
all drivers.
2005-06-23 15:09:32 +00:00
Ian Romanick
2636e853f6 Mark GenQueriesARB at 'always_array="true"'. This eliminates the need
to special-case the handling of that function in glX_proto_send.py.
2005-06-22 17:11:20 +00:00
Jeremy Kolb
814e5360b0 Fixed a bug where GenQueriesARB was generating the wrong code for XCB and wouldn't compile. Not sure how that slipped through before but it should work now. 2005-06-22 02:36:23 +00:00
Ian Romanick
66a5548fbb Mammoth update to the Python code generator scripts that live in
src/mesa/glapi.  Basically, the scripts that did simple things (like
gl_offsets.py) were simple, and the scripts that did more complicated things
(like glX_proto_send.py) were getting progressively more and more out of
control.  So, I re-write the foundation classes on which everything is based.

One problem with the existing code is that the division between the GL API
database representation and the way the output code is generated was either
blury or nonexistant.  The new code somewhat follows the
Model-View-Controller pattern, minus the Controller.  There is a distinct
set of classes that model the API data, and there is a distinct set of
classes that generate code from that data.

One big change is in the class that represents GL functions (was glFunction,
is now gl_function).  There used to be an instance of this calls for each
function and for each alias to that function.  For example, there was an
instance for PointParameterivSGIS, PointParameterivEXT, PointParameterivARB,
and PointParameteriv.  In the new code, there is one instance.  Each
instance has a list of entrypoint names for the function. In the next
revision, this will allow a couple useful things.  The script will be able
to verify that the parameters, return type, and GLX protocol for a function
and all it's aliases match.

It will also allow aliases to be represented in the XML more compactly.
Instead of repeating all the information, an alias can be listed as:

     <function name="PointParameterivARB" alias="PointParameterivEXT"/>

Because the data representation was changed, the order that the alias
functions are processed by the scripts also changed.  This accounts for at
least 2,700 of the ~3,600 lines of diffs in the generated code.

Most of the remaining ~900 lines of diffs are the result of bugs *fixed* by
the new scripts.  The old scripts also generated code with some bugs in it.
These bugs were discovered while the new code was being written.

These changes were discussed on the mesa3d-dev mailing list back at the end
of May:

http://marc.theaimsgroup.com/?t=111714569000004&r=1&w=2

Xorg bug: 3197, 3208
2005-06-21 23:42:43 +00:00
Nicolai Haehnle
f292e13a20 Back out the actual enabling of depth tiling.
Depth tiling breaks software fallbacks and depth buffer reads.
radeon_span.c **must** be updated for anything that is related to tiling.
2005-06-21 17:18:00 +00:00
Nicolai Haehnle
1e4744d2b9 Add PCI ID for R420 JI.
The driver appears to work reliably (i.e. lockup-free) with a card based
on this chip. However, I have not explored whether we could get anything
in terms of 3D performance "for free" just by setting some magic bits
in those registers that are still a mystery to us.
2005-06-21 17:03:29 +00:00
Aapo Tahkola
ebd99043ed r300 driver side of color tiling support. 2005-06-21 15:41:03 +00:00
Nicolai Haehnle
a5fb15cb87 Make sure texture base addresses are used correctly.
They are relative to the card's address space, not relative to fbLocation,
which will be important once we program MC_FB/AGP_LOCATION in the way
they are programmed on older Radeon chips.
2005-06-21 15:21:14 +00:00
Brian Paul
04f863e856 check for NULL swrast->Driver.SetBuffer before calling it 2005-06-21 14:39:43 +00:00
Brian Paul
23606a5704 updated to version 29 2005-06-21 14:30:46 +00:00
Brian Paul
90b40c33e7 include light.h to silence warning 2005-06-21 03:38:10 +00:00
Brian Paul
dc137ddb3f DirectFB updates (Claudio Ciccani) 2005-06-20 18:29:28 +00:00
Jeremy Kolb
a6a3e01b09 ran "make" after update to glX_proto_send.py. 2005-06-20 03:18:16 +00:00
Jeremy Kolb
4378dee78c Fixed some issues where XCB replies were being freed and data was not being copied. 2005-06-20 03:12:35 +00:00
Brian Paul
38332a6d94 Define __FUNCTION__ as a preprocessor symbol in glheader.h if we're not
using GCC or VMS.
2005-06-19 14:57:34 +00:00
Aapo Tahkola
4e7df27466 Fix gloss breakage when using hw tnl. 2005-06-16 11:57:45 +00:00
Aapo Tahkola
3c6f17be32 Use depth tiling. 2005-06-16 11:41:19 +00:00
Aapo Tahkola
af02907b4c Support 16-bit modes. 2005-06-16 10:40:39 +00:00
Aapo Tahkola
463c1d6c57 Fix problems with elts when immediate mode is on. 2005-06-16 10:27:04 +00:00
Aapo Tahkola
0e288e58ef Turn off VBO's. 2005-06-16 10:21:01 +00:00
Aapo Tahkola
3176f8e2e1 lost_context never gets reset. 2005-06-16 10:05:18 +00:00
Jon Smirl
6c2098ffd4 Fix a few compiler warnings 2005-06-16 04:25:45 +00:00
Jon Smirl
f445aaa67a Fix linux-solo build for mga check-in 2005-06-16 03:45:48 +00:00
Ian Romanick
aa26915472 Adds support for MGA DRM version 3.2.
This patch makes use of two of the new ioctls added in MGA DRM version
3.2.  Specifically, the DRM_MGA_SET_FENCE and DRM_MGA_WAIT_FENCE
ioctls are used in mgaWaitForFrameCompletion.  As a result the MMIO
register region and the primary DMA region are *not* mapped (if DRM
3.2 is available).

This patch does *not* make use of the new get_param query was added to
differentiate between G4x0 cards and G550 cards.  That is left to a
future update.

Xorg bug: 3259
Reviewed by: Eric Anholt
2005-06-14 22:51:44 +00:00
Jouk Jansen
fb818a0b11 Committing in .
OpenVMS updates

 Modified Files:
 	Mesa/src/mesa/tnl/descrip.mms Mesa/src/mesa/tnl/t_vp_build.c
 ----------------------------------------------------------------------
2005-06-14 10:27:05 +00:00
Jon Smirl
6b9d9c5039 fbSwapBuffers needs to return a status 2005-06-13 14:21:34 +00:00
Brian Paul
2d218885ec mingw changes (Nolan Leake) 2005-06-13 14:07:14 +00:00
Vladimir Dergachev
902e70875d Fixed typos. 2005-06-12 14:57:02 +00:00
Vladimir Dergachev
b675c48027 Add definition for memory controller latency registers.. 2005-06-10 16:10:50 +00:00
Keith Whitwell
4476978856 remove debug prints 2005-06-10 14:58:32 +00:00
Brian Paul
252d8e78cc be sure we have span texcoords before calling _swrast_texture_span() 2005-06-10 14:37:32 +00:00
Brian Paul
5d6ecf25f8 pass mask array to PutRowRGB() in simple_z_textured_triangle() 2005-06-10 14:36:55 +00:00
Keith Whitwell
b4979ec178 Allow the print opcode to compile 2005-06-10 13:59:49 +00:00
Keith Whitwell
6c1948d593 Fix typo in spot attenuation 2005-06-10 13:35:31 +00:00
Keith Whitwell
729cccba5d Correct test for attenuation.
DISSASEM changes.
2005-06-10 12:04:47 +00:00
Keith Whitwell
7e8e4c500e remove depend files on clean 2005-06-10 10:43:02 +00:00
Keith Whitwell
f6e7cfb60d Fix colormaterial flag calculations.
Fix lighting alpha result.
2005-06-10 08:33:37 +00:00
Keith Whitwell
52608d2d21 Add notes about intended precision of opcodes.
Remove dead floating point twiddles.
Fix bug translating MAD->MUL,ADD.
2005-06-10 08:32:27 +00:00
Keith Whitwell
1c48986e54 Fix a couple of buglets 2005-06-09 22:10:23 +00:00
Keith Whitwell
1fc4bcbb17 Another typo 2005-06-09 19:03:18 +00:00
Keith Whitwell
44367aab2a Further clean up RoughApproxPow2 and disable the optimized version --
it's a very poor approximation.
2005-06-09 18:59:41 +00:00
Keith Whitwell
2c6e8e90ec Fix typo in RoughApproxPow2 2005-06-09 18:52:42 +00:00
Keith Whitwell
81032030ff Store compiled vertex program representations in a pointer in the
vertex_program struct.

Allow switching between regular and vertex_program implementations
of fixed function TNL with the MESA_TNL_PROG environment var
(previously this required recompilation).

Ensure program compilation only references program data, not the
wider context.  This means that compiled programs only need to be
invalidated when the program string changes, not on other state
changes.
2005-06-09 14:55:34 +00:00
Keith Whitwell
a8534885ef Build vertex programs using state from a 'state key' struct which is
distilled from the current state.

Maintain a list of vertex programs for various different tnl states
indexed by these state keys.

This cuts down the number of vertex programs generated and means that
time spent optimizing vertex programs for execution isn't wasted each
time the state changes.
2005-06-09 14:52:08 +00:00
Keith Whitwell
79b7bd18bb Turn off debug 2005-06-08 22:14:29 +00:00
Keith Whitwell
8e56122782 Add t_vb_arbprogram_sse.c 2005-06-08 22:10:34 +00:00
Keith Whitwell
ea93b2986b Runtime generate sse/sse2 code for some vertex programs. Experimental
and only active when _TNL_FIXED_FUNCTION_PROGRAM is defined *and*
the MESA_EXPERIMENTAL environment variable is set...
Works for the arbfplight demo at least.
2005-06-08 22:10:16 +00:00
Keith Whitwell
002d0ad3e9 Turn off DISASSEM 2005-06-08 22:06:29 +00:00
Keith Whitwell
562bdaf70e New arguments for sse_shufps() 2005-06-08 21:58:30 +00:00
Keith Whitwell
9899f58c76 Use ALIGN_MALLOC for parameter lists. 2005-06-08 21:57:45 +00:00
Keith Whitwell
dce3a91a8d Add some more opcodes 2005-06-08 21:56:21 +00:00
Ben Skeggs
2d2f5a4b19 - Secondary colour
- Calculate tc_count in EmitArrays (enabled units != nr texcoords).
2005-06-08 15:05:19 +00:00
Brian Paul
ee7ad16f3f regenerated 2005-06-08 13:35:28 +00:00
Brian Paul
2c7336af4e put full prototype on one line to fix gl_mangle.h generation (Dave Reveman) 2005-06-08 13:35:07 +00:00
Brian Paul
012de39c23 remove stray line 2005-06-08 13:07:33 +00:00
Keith Whitwell
60339c7062 Remove ARL opcode from interpreter.
Revert SEL opcode to MSK.
Split out t_vb_arbprogram.h header file.
2005-06-08 10:03:29 +00:00
Keith Whitwell
7fb16836e7 new file 2005-06-08 10:02:28 +00:00
Brian Paul
d45cb9a836 regenerate for latest glext.h 2005-06-08 02:18:22 +00:00
Brian Paul
681b758f11 fix some renderbuffer problems for Xserver build (Dave Reveman) 2005-06-08 02:17:10 +00:00
Brian Paul
a0b5c98364 check for double-buffered buffer in XMesaDestroyBuffer() (Dave Reveman) 2005-06-08 02:14:55 +00:00
Daniel Borca
31d0cedd78 updates from Paul Garceau 2005-06-07 19:01:33 +00:00
Brian Paul
7477a7d366 added GL libs to APP_LIB_DEPS (bug 3485) 2005-06-07 15:30:12 +00:00
Brian Paul
4417d4cb61 fix error in OSMESA_LIB_NAME line 2005-06-07 15:25:08 +00:00
Brian Paul
ed7f3aead8 fix GL_ALPHA render-to-texture problem (Jon Smirl) 2005-06-07 15:03:40 +00:00
Keith Whitwell
395280bf88 Initialize some variables. 2005-06-07 12:46:30 +00:00
Keith Whitwell
a4691981d9 Add new runtime assembly files. 2005-06-07 12:45:29 +00:00
Keith Whitwell
1d60469c4c Split out runtime assembly functions. 2005-06-07 12:45:04 +00:00
Keith Whitwell
461a2a799a New files - split off runtime assembly functions from
t_vertex_sse.c.
2005-06-07 12:44:26 +00:00
Keith Whitwell
757e0855ad Simplify interpreted language:
- Expand operand argument specifiers so that all registers and
  parameters can be referenced directly.  Remove old PAR/PRL
  instructions.

- No 3 operand instructions, translate MAD -> MUL, ADD.  (No room for
  3 full operands in instruction struct).

- Translate SWZ instructions into 1 or 2 reduced swizzles at compile
  time.

- Add hardwired code for moving input and output values to/from the
  register file.  Drop old INx, OUT instructions.
2005-06-07 10:59:37 +00:00
Keith Whitwell
17d249d31b Add a VP_MAX_OPCODE entry to allow engines with internal opcodes to
place them sensibly.
2005-06-07 10:56:17 +00:00
Daniel Borca
4f923fb0bc updates from Paul Garceau 2005-06-07 05:29:38 +00:00
Jon Smirl
c20a2b0b72 Add SetBuffer to egl driver too 2005-06-07 02:10:14 +00:00
Jon Smirl
ef9e0be0cb Add a NULL SetBuffer function to the fbdev driver 2005-06-06 21:40:55 +00:00
Brian Paul
2e7dcdd38b this is auto-generated 2005-06-06 14:40:56 +00:00
Ben Skeggs
d59fbcdee5 TEX to output 2005-06-06 07:38:29 +00:00
Ben Skeggs
3c4c6d1f80 Fix xyz/w interaction (needs a cleanup still..)
Use SRC0A instead of WZY/XXX combination for W in XYZ positions.
Remove dodgy hack from POW opcode, now works correctly without it
2005-06-05 08:25:54 +00:00
Jon Smirl
40b8b57ed4 Make install install GLES too 2005-06-05 02:10:58 +00:00
Brian Paul
df5e2b934b set OLD_RENDERBUFFER=0, need to clean up a few more things before totally removing that 2005-06-04 22:09:27 +00:00
Brian Paul
d96dd3cd49 remove old span functions from swrast_device_driver struct 2005-06-04 18:25:39 +00:00
Brian Paul
bb8b302dbc remove old span code 2005-06-04 18:12:28 +00:00
Brian Paul
5ec5c6b222 fix an assertion 2005-06-04 17:53:30 +00:00
Brian Paul
863bd56520 remove old span code 2005-06-04 17:45:50 +00:00
Brian Paul
5821f3d70c added comment 2005-06-04 17:44:42 +00:00
Karl Schultz
5b10d71559 Fixup file lists for tarball/zip file creation.
- Adjust for recent changes to Windows build files.
- Add in at least some of the new slang files - enough to build on
Windows, but some of the other slang-related files may still need to be
added.  (Will probably get corrected just prior to next release, if needed)
2005-06-03 15:24:55 +00:00
Karl Schultz
516546ad5b Updates for new Windows build system. 2005-06-02 23:17:02 +00:00
Brian Paul
3fe9c40cb2 Remove last of the old span code. 2005-06-02 04:09:05 +00:00
Brian Paul
13c8f985d9 oops, undo previous change 2005-06-02 04:07:08 +00:00
Brian Paul
1516f559bc start removing old (pre-renderbuffer) span code 2005-06-02 04:05:45 +00:00
Jouk Jansen
c4fbdb090c Committing in .
OpenVMS makefile added

 Added Files:
 	Mesa/src/mesa/shader/grammar/descrip.mms
 ----------------------------------------------------------------------
2005-06-01 12:07:15 +00:00
Jouk Jansen
589a3a3f6e Committing in .
Update OpneVMS compilesupport

 Modified Files:
 	Mesa/src/mesa/shader/descrip.mms
 	Mesa/src/mesa/shader/slang/descrip.mms
 	Mesa/src/mesa/shader/slang/slang_compile.c
 	Mesa/src/mesa/shader/slang/slang_storage.c
 	Mesa/src/mesa/shader/slang/slang_storage.h
 ----------------------------------------------------------------------
2005-06-01 12:05:34 +00:00
Eric Anholt
f090fdc50b Move fallback and other debugging under TDFX_DEBUG using the same mechanism
as other drivers.
2005-06-01 08:22:57 +00:00
Eric Anholt
d638f6a0bb Add no_rast option. 2005-06-01 07:44:52 +00:00
Keith Whitwell
502504de23 Add a mode to test flat shading + separate specular. 2005-06-01 07:02:23 +00:00
Eric Anholt
f772e3dd15 Fix the 3dfx driver by correcting what appears to be a typo GL_RGBA8 instead
of GL_RGBA in driNewRenderbuffer of the backbuffer.
2005-06-01 02:59:12 +00:00
Brian Paul
c7264415b6 added code to detect GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT error 2005-06-01 00:50:23 +00:00
Brian Paul
1b93953fbc add support for GL_RENDERBUFFER_RED/GREEN/BLUE/etc_SIZE_EXT querie 2005-05-31 23:55:21 +00:00
Brian Paul
5d5100aabc remove temporary GL_EXT_framebuffer_object info 2005-05-31 23:54:44 +00:00
Brian Paul
2e081cd90e updated to version 28 2005-05-31 23:54:24 +00:00
Eric Anholt
0009e3d97d Bugzilla #2708: Disable the fallback on GL_SPHERE_MAP. It appears to hurt more
than it helps, and we seem to have a handle on how to fix it.
2005-05-31 23:32:47 +00:00
Alan Hourihane
628b18b8ca Add Intel(R) 945G support (Keith Whitwell, Tungsten Graphics) 2005-05-31 18:10:03 +00:00
Aapo Tahkola
4ec6eceea9 Causes lockups on some rare cases. 2005-05-31 05:53:38 +00:00
Eric Anholt
8c2a9a9166 Pull locking out of HW_LOCK/UNLOCK and into SpanRenderStart/Finish. Also do
some cleanups on the span macros.  This does not deal with the brokenness of
depth spans, but makes the code more readable.
2005-05-31 05:31:43 +00:00
Eric Anholt
ef377c3c00 Correct the descriptions of the glBlend{Equation,Func} fallbacks in r128, and
remove those descriptions and the corresponding bits on r200, where they're no
longer used.
2005-05-31 04:26:13 +00:00
Eric Anholt
b79c47e90c Remove unused CTX_ARG2 define. 2005-05-31 04:13:45 +00:00
Eric Anholt
8a1df96862 Bugzilla #2195: Convert the radeon driver to the t_vertex interface. This cuts
about 200 lines from the code and 25k from the binary, while matching other
drivers more closely.  In the worst case (tcl_mode=0) it appears to have
a performance cost of 4.4% +/- 0.3% on quake3 (800x600 demofours, 1ghz p3,
rv200).  Tested on ut2004, ut, q3, projtex.

Submitted by:	Andreas Stenglein <a.stenglein@gmx.net>
2005-05-31 04:04:24 +00:00
Eric Anholt
9dff2ca07a Move fallback debugging under MACH64_DEBUG=fall (matching other drivers) and
add pretty descriptions of the bits.  GC one of the bits that was unused.
Also, now only the first thing triggering a fallback and the last thing
requiring one do the debug output.  This also matches other drivers.
2005-05-31 03:47:39 +00:00
Eric Anholt
12eabeb3b9 Pull locking out from HW_LOCK/UNLOCK into SpanRenderStart/Finish. Provides a
factor of 5+ improvement in no_rast glxgears and 2.3 in no_rast quake3 (n=1,
320x240, 16bpp, low qualities, 1ghz p3)
2005-05-30 08:07:03 +00:00
Eric Anholt
c7f8d36451 Fix software fallbacks by being safe with macro arguments in READ/WRITE_DEPTH.
Convert to spantmp2.h while I'm here.  Tested with 16 and 32bpp no_rast
glxgears.
2005-05-30 06:50:17 +00:00
Eric Anholt
993d8ad5ef Add the no_rast debug option to mach64. It shows that software fallbacks are
pretty broken.
2005-05-30 06:41:19 +00:00
Eric Anholt
b328dded75 Pull hardware locking out into SpanRenderStart/Finish rather than
HW_LOCK/UNLOCK. Provides a 61% performance improvement in no_rast=true quake3
(n=2, 320x240, 16bpp, p4 1ghz), and a factor of 3 improvement in no_rast
glxgears.
2005-05-30 06:15:29 +00:00
Eric Anholt
c1b87b2a06 Add the description of the no_rast option fallback so that MGA_DEBUG=fall
doesn't segfault with no_rast.
2005-05-30 06:11:22 +00:00
Eric Anholt
0936eeb456 Add the no_rast debug option, which I used in some testing. 2005-05-30 03:32:52 +00:00
Eric Anholt
f2149a7a66 Remove unused CTX_ARG2. 2005-05-30 01:59:39 +00:00
Eric Anholt
0b73889d54 Put some fallback debugging output under DEBUG_FALLBACKS. 2005-05-28 23:45:39 +00:00
Eric Anholt
2962f88189 Add a missing EnsureCmdBufSpace, matching r200. 2005-05-28 22:56:16 +00:00
Eric Anholt
f054fa85d8 Add a freebsd-dri-amd64 config, and quiet makedepend slightly by making an
EXPAT_INCLUDES config variable (set on FreeBSD) which is then used in
Makefile.template's INCLUDES.
2005-05-28 20:17:06 +00:00
Jerome Glisse
2ed4c296d9 Some fixes 2005-05-28 12:18:32 +00:00
Dave Airlie
22b0a42465 use shared-core 2005-05-28 10:55:23 +00:00
Ben Skeggs
0bae91562e Up MAX_AOS_ARRAYS to 16. Do we need more? 2005-05-28 05:20:05 +00:00
Ben Skeggs
908dbc44c2 Play with swizzling a bit. 2005-05-28 03:19:56 +00:00
Aapo Tahkola
74e412c695 Programmable per-vertex point sizes and proper result reg assigns. 2005-05-28 01:02:00 +00:00
Aapo Tahkola
0080faf83e More optimal r300Clear. 2005-05-27 20:10:05 +00:00
Brian Paul
d322810e13 properly pop the GL_TEXTURE_GEN_ enable state 2005-05-27 14:44:14 +00:00
Karl Schultz
6580a6d561 Account for moved/new/removed files. 2005-05-26 18:22:13 +00:00
Ian Romanick
70dbbbf89a Fix gl_enums.py so that enums that are listed with the same name in
multiple places don't get generated multiple times.
2005-05-26 16:59:47 +00:00
Ian Romanick
497dd3e920 Minor correction to EXT_framebuffer_object XML. Fix gl_table.py so that it
generates the correct script name in the generated output.
2005-05-26 16:34:58 +00:00
Ian Romanick
249db89b00 Make a couple minor corrections to gl_API.xml. Fixes the name of an
extension that was missing the GL_ part and uses the core GL type names for
vertex buffer object functions instead of the ARB names.

Also commits the resulting changes to the generated code.  Some how, the
#if sequence disappeared in the 1.52 version of glapi_x86.S.
2005-05-26 16:24:35 +00:00
Keith Whitwell
020225496e Bump driver date. 2005-05-26 11:42:19 +00:00
Dave Airlie
69509641a8 make egl build first so we don't get wierd drivers linking to libs not available
yet
2005-05-26 04:24:09 +00:00
Dave Airlie
978d2fda3c make linux-solo and linux-solo-x86 config files hierarchical 2005-05-26 03:47:34 +00:00
Ben Skeggs
ae516306b4 constant tracking 2005-05-26 02:33:57 +00:00
Dave Airlie
e45b5a4fa8 use shared-core rather than shared 2005-05-26 01:40:34 +00:00
Dave Airlie
8e5099d6a0 use shared-core instead of shared 2005-05-26 01:40:00 +00:00
Ian Romanick
d2ee346a93 Fix a couple typeos in enum names. 2005-05-25 21:00:16 +00:00
Michal Krol
170999a103 change local var names from "asm" to "assem" - I guess it caused
gcc 3.3.5 to break, but not tested it
2005-05-25 15:09:32 +00:00
Michal Krol
d1834e8c10 a small utility to convert .syn files to its binary forms;
does not require any command line params;
2005-05-25 14:58:22 +00:00
Michal Krol
0432411837 silencium gcc warnings 2005-05-25 14:27:59 +00:00
Michal Krol
0f71c6691e add shader/slang/slang_assemble_assignment.c 2005-05-25 14:24:34 +00:00
Michal Krol
fc534034cc more slang code 2005-05-25 14:23:00 +00:00
Michal Krol
1de60fe47f ncrease stack size 2005-05-25 14:19:24 +00:00
Michal Krol
c16264b138 update grammar_mesa.c path 2005-05-25 14:00:22 +00:00
Michal Krol
1aadf1c039 moved from mesa/shader to mesa/shader/grammar 2005-05-25 13:58:36 +00:00
Michal Krol
1008f57f6f remove the GLSL spec wording;
reorder some elementary operators;
disable assignment "=" and equality "==" "!=" operators - they are
handled internally by the assembly generator;
fix minor typos
2005-05-25 13:43:32 +00:00
Michal Krol
2b73e5aaaf add mesa/shader/grammar to include list 2005-05-25 13:37:56 +00:00
Michal Krol
863eca9973 stand-alone vertsions of grammar_mesa - used by utilities;
DO NOT BUILD UNDER MESA
2005-05-25 13:35:39 +00:00
Keith Whitwell
39e14d2cff Provide initial values for some variables. 2005-05-25 13:35:21 +00:00
Keith Whitwell
741b980433 add special case for flat shaded + separate specular triangles 2005-05-25 13:34:52 +00:00
Michal Krol
3f6d985753 change the behaviour of enter and local_addr instructions 2005-05-25 13:20:59 +00:00
Keith Whitwell
49109d01c0 Disable polygon stipple - it seems to break if certain specific stipple
patterns are used, including the one generated by conform.
2005-05-25 10:17:19 +00:00
Keith Whitwell
8286abd798 Fix various issues with cliprects and MakeCurrent 2005-05-25 10:14:39 +00:00
Ben Skeggs
53d13e014f - Remove one of the loops in emit_arith
- Handle REPL_ALPHA in emit_arith (possibly incorrect for some things)
- Start on getting demos/arbfplight.c to look right.  Won't be animated yet,
  need to re-work const emit so we can update consts without re-translating
  the entire program.

Assertion in r300_state.c::setup_rs_unit needs to be disabled for it to
work.
2005-05-25 06:46:10 +00:00
Ian Romanick
f387c83ec1 Commit the changes propagated from Jeremy Kolb's changes to the Python
scripts in src/mesa/glapi.
2005-05-25 03:30:06 +00:00
Ian Romanick
e87ab8c05f Only use x86 / SSE assembly when USE_X86_ASM / USE_SSE_ASM are defined.
This makes the driver build on x86-64 again.
2005-05-24 23:03:15 +00:00
Karl Schultz
6b5afb0036 Cleanup some Windows junk. 2005-05-24 22:16:27 +00:00
Karl Schultz
89bf62cd49 project file for glut library 2005-05-24 22:06:59 +00:00
Karl Schultz
5dc31379c4 fix location of gears project 2005-05-24 22:04:03 +00:00
Karl Schultz
c97a3a3038 project file to build gears 2005-05-24 21:57:45 +00:00
Karl Schultz
7df5eddf6a Visual Studio 6 project file to build GLUT and some demos. 2005-05-24 21:51:58 +00:00
Karl Schultz
f7c0c4f485 moved to windows build dir 2005-05-24 21:17:42 +00:00
Karl Schultz
b4c8b34534 moved to windows build dir 2005-05-24 21:15:52 +00:00
Karl Schultz
45ab8cb08a Major code cleanup and begin using new render buffer interface. 2005-05-24 21:12:43 +00:00
Karl Schultz
b31b1f44f1 Change prototype for TextureMemCpy to return void* (was void). 2005-05-24 21:06:41 +00:00
Karl Schultz
7708b75d72 Visual Studio 6 project file for OSmesa library. 2005-05-24 21:02:51 +00:00
Karl Schultz
c73968af95 Visual Studio 6 project file for core Mesa. 2005-05-24 21:01:55 +00:00
Karl Schultz
9a726cdf8f Needed to build .cc files in Visual Studio 6. 2005-05-24 21:01:05 +00:00
Karl Schultz
7179810375 Visual Studio 6 project file for GLU library. 2005-05-24 21:00:03 +00:00
Karl Schultz
a1b07e187e Visual Studio 6 project file for Windows GDI driver. 2005-05-24 20:59:07 +00:00
Karl Schultz
39c0e51329 Visual Studio 6 workspace for Mesa libraries. 2005-05-24 20:57:15 +00:00
Karl Schultz
2f9722863d Removing in favor of new Windows build directory. 2005-05-24 20:50:56 +00:00
Daniel Borca
731f1b12a0 remove stupid flags 2005-05-23 22:02:53 +00:00
Keith Whitwell
2d5f12ae6b Initialize hw stencil renderbuffer. 2005-05-23 21:10:01 +00:00
Keith Whitwell
afa7f6a0f5 Disable recent sse change pending more testing. 2005-05-23 14:31:44 +00:00
Ben Skeggs
eeada48497 Implement enough of ARB_fragment_program for Keith's texenv program
generation in Mesa.  Requires most recent Mesa cvs to work correctly.

Swizzle code is possibly slow/buggy and will probably be replaced.

Old behaviour can be controlled by a #define in r300_context.h, if
no-one minds I'll remove the old code later on.

Also, disabled cube map extension.  AFAIK We don't support it yet,
and it causes issues with UT2004.
2005-05-23 14:14:19 +00:00
Keith Whitwell
0c4731b27c Use SSE for vertex emit -- another good speedup. 2005-05-23 12:25:43 +00:00
Keith Whitwell
17bcf9f816 Import Thomas Helstrom's SSE memcpy code from the via X.org driver.
Add a TextureMemCpy callback, called from texstore.c when copying
texture data via the memcpy_texture() path.
Enable this code in the via driver - 100% speedup in texdown.c results.
2005-05-23 12:17:27 +00:00
Keith Whitwell
eb9d6f44a9 silence gcc warnings 2005-05-23 12:15:19 +00:00
Keith Whitwell
241b6b7ab1 Detect use of disabled textures as tex_env_crossbar sources. 2005-05-23 09:50:34 +00:00
Keith Whitwell
2dea6df80b Support ARB_texture_env_crossbar. Changes the way programs are
generated somewhat, with all TEX instructions now emitted at the head
of the program.
2005-05-23 09:37:32 +00:00
Keith Whitwell
6fe176a648 Restore the negate() function.
Add Ben Skegg's ATI_texture_env_combine3 support.
2005-05-23 08:08:43 +00:00
Jerome Glisse
eb8be5d923 Small change to handle native case (7 natives case) 2005-05-22 12:24:52 +00:00
Jerome Glisse
446980473d Adding r300 fragment program swizzle tab. Please some
one reread macro at begining see if i made any error.
A full reread would also be usefull there may be some
errors for some swizzle despite the great care i took
to done them :)
2005-05-22 12:06:50 +00:00
Ian Romanick
b70a47736a Add support for modes with a depth-buffer but no stencil-buffer. This
eliminates various "3D driver claims to not support visual" messages in
16-bit color mode.
2005-05-20 18:40:11 +00:00
Keith Whitwell
3cc2f82bb5 Remove debug printfs 2005-05-20 15:12:12 +00:00
Keith Whitwell
923515b3f8 Re-enable X11 optimized triangle funcs. 2005-05-20 15:06:41 +00:00
Brian Paul
e3e8067db7 use MAX_SCREENS instead of hard-coded number 2005-05-20 14:11:11 +00:00
Brian Paul
8f384f0b67 fix reversed strstr() args, print mode string 2005-05-20 14:03:35 +00:00
Brian Paul
e58d32947e replace // with /* */ 2005-05-20 14:02:02 +00:00
Jouk Jansen
063efce6ee Committing in .
Update openVMS compile support

 Modified Files:
 	Mesa/progs/demos/descrip.mms
 	Mesa/src/mesa/shader/slang/descrip.mms
 	Mesa/src/mesa/tnl/descrip.mms
 ----------------------------------------------------------------------
2005-05-20 11:43:54 +00:00
Jon Smirl
bab559b1fa Remove some debug output
Add #if DEBUG_FRAG in s_nvfragprog.c
2005-05-20 01:17:38 +00:00
Adam Jackson
8f8e0f0b01 Use the 1.3 names for FogCoord* 2005-05-20 00:44:37 +00:00
Keith Whitwell
18a74321aa Invalidate current fastpath on changes to attribute size or offset within
the vertex.

Use existing facilities to check for sse2 and enable when available.

Turn on SSE/SSE2 codegen for t_vertex.c by default when USE_SSE_ASM is
defined.  Disable with "MESA_NO_CODEGEN=t".
2005-05-19 20:25:32 +00:00
Keith Whitwell
c2745ffa49 Cope with the common 3ub and 1ub cases.
Fix a few typos.
Note that sse_movss sets high dwords to zero when reading from memory.
Fix a few related bugs.
2005-05-19 19:02:46 +00:00
Keith Whitwell
9557401a98 Re-initialize viewport shadows each time. 2005-05-19 19:01:47 +00:00
Keith Whitwell
67cc1f6ba6 move osmesa demos to their own directory 2005-05-19 15:39:37 +00:00
Jon Smirl
c70dace694 Fix EGL fbdev palette problem. demo3 can save ppm of screen 2005-05-19 15:03:31 +00:00
Keith Whitwell
6040d34109 Rename emit functions to reflect instruction set in use (ie
x86,sse,sse2,mmx).  Add paths for sse+mmx vs. the initial version
which assumed sse2 was available everywhere.
2005-05-19 14:42:09 +00:00
Brian Paul
8608978aba remove the XFree86 ID line 2005-05-19 13:32:41 +00:00
Michal Krol
02168254a8 intermediate code generator (not finished);
generic back-end interpreter (interprets directly intermediate code)
2005-05-19 11:50:53 +00:00
Michal Krol
e5ff2b94ff add static_assert macro 2005-05-19 10:22:28 +00:00
Michal Krol
216f89318e fix info log grabbing 2005-05-19 09:28:01 +00:00
Aapo Tahkola
e3cdbca63f Ditch unused code and features that arent in subject to get supported any near time. 2005-05-19 00:03:50 +00:00
Ian Romanick
6bc9ea1df9 In addition to dead-code removal and other clean-up, bump the required DDX
version from 1.0.0 to 1.1.1.  1.1.1 is over a year and a half old at this
point, so it should be pretty widespread.  This allows the linecomp_sane
field to be eliminated from mga_screen_private_s.
2005-05-18 22:49:59 +00:00
Jon Smirl
9a1b5af333 Fix inverted y for egl fbdev, add egl demo3 2005-05-18 20:44:23 +00:00
Brian Paul
8818eae253 To better exercise pixel packing, replace regular glReadPixels with four
ReadPixels that get the image piece by piece.
2005-05-18 15:44:13 +00:00
Keith Whitwell
2b2bd08589 Remove old t_vertex.c codegen infrastructure, tie in new code.
Currently disabled, can enable with MESA_EXPERIMENTAL=t.
2005-05-18 15:26:48 +00:00
Keith Whitwell
dc7fc17396 Fix a few typos, initialize p->identity. 2005-05-18 14:04:19 +00:00
Keith Whitwell
96582f4f28 Eliminate a couple of swizzles. 2005-05-18 14:03:02 +00:00
Keith Whitwell
dd4c1dd038 Generates working SSE code for gears under the swrast driver. 2005-05-18 12:26:21 +00:00
Keith Whitwell
b745bf08cd Checkpoint commit: Preliminary version of a facility to emit x86/sse code
to implement vertex emit functions for the t_vertex.c mechanism.
2005-05-18 10:04:27 +00:00
Aapo Tahkola
2f74adc41f Stick texture LOD back on. 2005-05-18 08:43:30 +00:00
Aapo Tahkola
e53fc72f67 Polygon mode fixes. 2005-05-18 08:22:36 +00:00
Jon Smirl
bd565e4bb7 Fix for writing the wrong sysfs variable when blanking 2005-05-18 02:48:44 +00:00
Jon Smirl
9a3da7ea7b Implement fbdev swapbuffers() 2005-05-18 01:44:11 +00:00
Ian Romanick
6e56f905d0 More comments. More dead-code removed. More clean-up. 2005-05-18 00:37:32 +00:00
Keith Whitwell
2860e5f536 Disable leftover debug statements 2005-05-17 22:21:08 +00:00
Brian Paul
22652f952f fix some BCOMP/ACOMP typos (fixes Brad King's vtk failures) 2005-05-17 19:29:46 +00:00
Brian Paul
ae818ed1da don't include strings.h 2005-05-17 18:44:33 +00:00
Brian Paul
198d6d05b0 remove eglQueryDisplayMESA() 2005-05-17 13:22:13 +00:00
Brian Paul
5a0cb726d1 fix pbuffer sample code 2005-05-17 13:21:46 +00:00
Brian Paul
d2ab4eb2c2 remove glmode stuff 2005-05-17 13:21:12 +00:00
Jon Smirl
2ec2e94e2e Check error return from _eglInitPbufferSurface() correctly 2005-05-17 03:48:38 +00:00
Jon Smirl
40c1c723fb Compute stride in the right order 2005-05-17 03:38:06 +00:00
Brian Paul
bf7f998f39 Added software-based pbuffer support (untested).
Use _eglConfigToContextModesRec() function and remove need for
the _EGLConfig->glmode struct.
Silence some compiler warnings.
2005-05-17 02:18:38 +00:00
Brian Paul
bb2c65200c updated demoCreatePbufferSurface() 2005-05-17 02:15:38 +00:00
Brian Paul
5119056324 update comments 2005-05-17 02:14:44 +00:00
Brian Paul
4c80f8df46 more work on _eglConfigToContextModesRec() 2005-05-17 02:13:00 +00:00
Jon Smirl
e03b5cdf3f Make EGL_NO_MODE_MESA work. 2005-05-17 02:12:29 +00:00
Brian Paul
167b141e6e added _eglInitPbufferSurface() 2005-05-17 02:12:26 +00:00
Jon Smirl
d06da50888 Fix several internal problems with generating the list of configs. 2005-05-17 00:59:13 +00:00
Ian Romanick
c1082804a8 Rearranged some code and added some comments to mgaAllocDmaLow. The
modified code performs identically, but cuts 16KiB from the resulting
mga_dri.so.
2005-05-16 23:23:51 +00:00
Felix Kuehling
ffd97d20aa Don't use _mesa_swizzle_ubyte_image if all three texture formats
involved in _mesa_textore_argb/rgba8888 (source, base-internal,
destination) differ. _mesa_swizzle_ubyte_image knows only about two of
the formats and can't handle the case that all three are different
correctly. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=3111.
2005-05-16 23:01:09 +00:00
Brian Paul
a33f0d3024 remove -ansi -pedantic -D_POSIX_C_SOURCE=199309L from CXXFLAGS 2005-05-16 19:07:45 +00:00
Jon Smirl
380991cb65 Implement query of surface type. 2005-05-16 16:50:38 +00:00
Jon Smirl
3e8001a465 Add error about write permission to fbdev attribs 2005-05-16 15:51:05 +00:00
Brian Paul
af1a729972 another GLX / XCB patch (Jeremy Kolb) 2005-05-16 14:12:46 +00:00
Keith Whitwell
cf4f3c5061 Deal better with indirection and indirection accounting, developed
with Ben Skeggs.
2005-05-16 12:15:01 +00:00
Keith Whitwell
4cf20d9236 Apply r200 tcl fix to radeon - compiles but untested. 2005-05-16 08:36:28 +00:00
Brian Paul
72a313902b EGL_MESA_copy_context stuff 2005-05-16 02:21:57 +00:00
Brian Paul
f9bad3dfea use EGLint instead of unsigned long for eglCopyContextMESA, added comments 2005-05-16 02:21:08 +00:00
Brian Paul
a495ed372f separate ext strings with a space 2005-05-16 02:17:49 +00:00
Brian Paul
d9789b7861 s/Atrib/Attrib/, set extension enable flags 2005-05-16 02:16:33 +00:00
Brian Paul
51ac95ba89 added boolean extension flags to _EGLDriver 2005-05-16 02:15:42 +00:00
Brian Paul
6493bd07a7 restore _eglSetConfigAttrib (for now), added prototype _eglConfigToContextModesRec() 2005-05-16 02:14:50 +00:00
Brian Paul
7bfe8df08a define M_E if needed 2005-05-16 01:32:57 +00:00
Brian Paul
5873faf39b make _eglSetConfigAtrib() a static function, and rename it 2005-05-16 00:45:03 +00:00
Brian Paul
fdeda9c458 remove MESA suffix from _eglInitScreenSurface, use swAlpha value 2005-05-16 00:32:09 +00:00
Brian Paul
9b134f641c minor tweaks 2005-05-16 00:31:29 +00:00
Brian Paul
efeea95dcc fix GetRow parameters (Nicolai Haehnle) 2005-05-15 21:26:11 +00:00
Jon Smirl
45472672a2 A few egl patches needed for glitz, mainly config BITS 2005-05-15 04:00:59 +00:00
Aapo Tahkola
aca2e0da3c Make gleans polyoffset test happy. 2005-05-14 17:41:57 +00:00
Aapo Tahkola
d5084d42d4 Dont assume GLbooleans are ones when true. 2005-05-14 16:52:32 +00:00
Nicolai Haehnle
578f63f2bf Cleanup blend state generation.
Do not set the NO_SEPARATE bit, as it causes problems with some
combinations of blend functions.
2005-05-14 14:56:25 +00:00
Jon Smirl
1c606a9aa1 Add empty placeholder for eglCopyContextMESA 2005-05-14 14:54:38 +00:00
Nicolai Haehnle
09f433b97c The kernel doesn't like command buffers over 64KB, so we don't
allocate buffers bigger than that.
2005-05-14 14:51:17 +00:00
Jon Smirl
8110df4f61 Fix compiler warning about missing parameter list 2005-05-14 14:11:11 +00:00
Nicolai Haehnle
9cf35d2876 Remove dead span functions code. 2005-05-14 12:19:05 +00:00
Nicolai Haehnle
11bd5c1ac4 Fix span functions for stencil buffer access. 2005-05-14 11:43:04 +00:00
Nicolai Haehnle
686e9b9f57 Don't print debug messages unless the user explicitly requested them
using the RADEON_DEBUG environment variable.
2005-05-14 09:17:28 +00:00
Jon Smirl
aecc05627a Add forgotten demo2.c
VS: ----------------------------------------------------------------------
2005-05-14 03:51:18 +00:00
Jon Smirl
d0ddf190aa Fix compile error in demo egl driver 2005-05-14 03:49:55 +00:00
Jon Smirl
5cb977fedf Forgot to add fb_egl.c 2005-05-14 03:22:48 +00:00
Nicolai Haehnle
296428dcf4 Make software fallbacks work again:
We need to plug in swsetup functions into the TNL module's callbacks.
Also, resize the framebuffer size when the drawable size changes.
2005-05-13 21:29:17 +00:00
Nicolai Haehnle
ee83a1302f Remove quiescence sequence from r300ClearBuffer.
The DRM is responsible for emitting this quiescence sequence when
appropriate.
2005-05-13 21:00:11 +00:00
Jon Smirl
7012d01d88 First attempt at getting egl support up on dumb framebuffer.
Seems to be mostly working. Not all of egl API is implemented.
2005-05-13 18:31:35 +00:00
Nicolai Haehnle
a6ed129dfc Patch from Jeff Smith:
The type of vertex data is opaque in the emit_* functions, so use GLvoid*
instead of char*. This also eliminates some compiler warnings.
2005-05-13 18:03:24 +00:00
Nicolai Haehnle
733bc876ee Patch from Jeff Smith:
Fix a WARN_ONCE format string.
2005-05-13 17:44:22 +00:00
Alan Hourihane
64034c4fb5 Remove MAX_VISUAL limitations of 100. If running dual head this can
be easily consumed. There are no limitations now and the VisualTable
is realloced when necessary.
2005-05-13 11:56:13 +00:00
Keith Whitwell
846eb333ae Calculate render inputs for tcl stage correctly (hint: they aren't the
same as tnl->render_inputs).  Fixes recent tcl problems.
2005-05-13 09:15:50 +00:00
Ian Romanick
c9a69a6968 Remove some unused structure fields, add some comments, and ifdef out some
dead code.  This is just some clean-up work which should not have any
functional impact.
2005-05-12 23:15:38 +00:00
Keith Whitwell
269e3895d9 new MESA_DEBUG option: disassem 2005-05-12 10:28:43 +00:00
Keith Whitwell
5c72837af9 Rein in debug slightly 2005-05-12 10:22:29 +00:00
Keith Whitwell
5f430c9976 Turn disassem off (oops). 2005-05-12 09:31:33 +00:00
Keith Whitwell
714be699be Add check for mask == NULL to the one routine missing it. 2005-05-12 09:07:12 +00:00
Keith Whitwell
10432bcc0a When lighting is enabled, but no lights are enabled, the scenecolor
becomes the result of lighting.  When lighting is disabled,
pass-through incoming color value.  Likewise, pass through incoming
texture values.  (Based on patch by Aapo Tahkola)

Add compile-time configuration to switch between DP4 and MUL/MAD for
matrix-vector multiplications.
2005-05-12 08:54:13 +00:00
Ben Skeggs
69a2f7cdd5 fix warnings in r300_texstate.c (Jeff Smith) 2005-05-12 03:53:18 +00:00
Karl Schultz
db21f1c84f The "P" suffix on APIENTRY and GLAPIENTRY is to be used for pointers to
functions, not for functions that return pointers.  Restore protoype
for glGetString back to its correct form.
2005-05-11 22:01:20 +00:00
Aapo Tahkola
4e68f4c1fa VBOs. 2005-05-11 17:28:13 +00:00
Keith Whitwell
1e5772f0ba Don't let FragmentProgram._Active influence choice of vertex vs pixel
fog.
2005-05-11 16:30:02 +00:00
Keith Whitwell
ac6728d2d9 Previously in TXP and TEX instructions, lambda was passed to
fetch_texel as zero, but I believe this is incorrect.  The spec uses a
pseudocode function:

      vec4 TextureSample(float s, float t, float r, float lodBias,
                         int texImageUnit, enum texTarget);

to specify the behaviour of TEX, TXB and TXP instructions.  For TEX
and TXP, lodBias is passed as zero, TXB is passed with texcoord[4].  In our code we have

      static void
      fetch_texel( GLcontext *ctx, const GLfloat texcoord[4], GLfloat lambda,
                   GLuint unit, GLfloat color[4] )

and were passing zero and a biased lambda value respectively.  The
difference is that TextureSample() would add in the lambda term
itself, while in our code the caller is expected to do this.  Thus in
the TEX and TXP cases, it is necessary to pass an unbiased lambda
value for things to work out correctly.
2005-05-11 16:28:33 +00:00
Keith Whitwell
49d8cbe8d1 Use _mesa_memset rather than memset 2005-05-11 15:18:59 +00:00
Keith Whitwell
9d148e6b2b Don't let FragmentProgram._Active influence choice of vertex vs pixel
fog.
2005-05-11 15:18:23 +00:00
Keith Whitwell
363d0bcf01 Test for texcoord[3] == zero before dividing. Not so sure about this
test - if texcoord[3] is zero, we'd probably be fine except for an
ASSERT in IROUND_POS() which gets triggered by the inf values
created.
2005-05-11 15:17:31 +00:00
Keith Whitwell
e490242b9a Fix glean/conform problems. Don't generate so much output when
disassembling.
2005-05-11 15:16:35 +00:00
Keith Whitwell
a582015905 Fix valgrind complaint, conform vertex order test. 2005-05-11 10:30:13 +00:00
Keith Whitwell
3509fd8c1b Rename temp_flag to temp_in_use. Use ctx->Const.MaxVertexProgramTemps
rather than MAX_NV_VERTEX_PROGRAM_TEMPS and deal with this possibly
being greater than 32.
2005-05-11 08:34:19 +00:00
Keith Whitwell
93cd9237d7 Fix logic for allocating texture temporaries (Ben Skeggs).
Rename temp_flag, tex_temp_flag to make this clearer.
Respect ctx->Const.MaxFragmentProgramTemps limit.
2005-05-11 08:30:23 +00:00
Adam Jackson
1243b829bb int -> size_t to fix compile on LP64. 2005-05-11 01:33:50 +00:00
Keith Whitwell
2fcaf7a529 Ensure programs don't overflow allocated instruction store. 2005-05-10 18:24:50 +00:00
Keith Whitwell
a42fe19d8d Fix some valgrind complaints 2005-05-10 18:22:19 +00:00
Keith Whitwell
e57d5c4742 fix some valgrind complaints 2005-05-10 18:10:32 +00:00
Keith Whitwell
5a5b4436cb Improved detection of program changes. 2005-05-10 18:10:00 +00:00
Keith Whitwell
3ffe8731e6 Double-buffer generated instructions and only notify driver when the
generated program differs from the previous one.
2005-05-10 18:09:17 +00:00
Keith Whitwell
c5f5055097 Fix some valgrind complaints 2005-05-10 18:08:25 +00:00
Keith Whitwell
dbeea25bb8 Double-buffer generated instructions and only notify driver when the
generated program differs from the previous one.
2005-05-10 13:57:50 +00:00
Keith Whitwell
f29f2fc294 reduce the use of malloc and strdup for parameter lists 2005-05-10 13:56:23 +00:00
Keith Whitwell
ab81d1fd99 don't be fooled into emitting padding for wpos when not used 2005-05-10 13:54:52 +00:00
Keith Whitwell
d9fdb6c2bb Missing from previous commit 2005-05-10 11:41:33 +00:00
Keith Whitwell
9eef0da109 Update for FragmentProgram._Active 2005-05-10 11:40:52 +00:00
Keith Whitwell
8b88f62fbd Better driver notification on changes. 2005-05-10 11:39:50 +00:00
Keith Whitwell
948fa3b295 get fog working with _TexEnvProgram 2005-05-10 11:38:56 +00:00
Keith Whitwell
586f2c59fe Temporary fix - delete and recreate texenvprogram so that drivers
notice when it changes.
2005-05-10 10:25:16 +00:00
Jouk Jansen
e3b0c19ec9 Committing in .
OpenVMS compile support update for new buffer-code

 Modified Files:
 	Mesa/src/mesa/drivers/x11/descrip.mms
 	Mesa/src/mesa/main/descrip.mms
 	Mesa/src/mesa/swrast/descrip.mms
 ----------------------------------------------------------------------
2005-05-10 10:15:30 +00:00
Keith Whitwell
9ca8815d3b Fix texenv segfault. Reported by Ben Skeggs. 2005-05-10 09:56:02 +00:00
Keith Whitwell
ecb6bfc0ce Try not to use the same temp reg as a TXP destination more than once,
as this also constitutes a texture indirection.  Reported by Ben
Skeggs.
2005-05-10 08:58:44 +00:00
Daniel Borca
fee163a61a pathetic attempt to accomodate new frambuffer changes (still some work to do) 2005-05-09 22:15:24 +00:00
Daniel Borca
0e26580c90 accomodate new frambuffer changes 2005-05-09 22:14:58 +00:00
Daniel Borca
c8542705f7 fix some typos in FX code 2005-05-09 22:14:32 +00:00
Keith Whitwell
435eff8b85 i915 will use _TexEnvProgram (if active) 2005-05-09 17:59:13 +00:00
Keith Whitwell
276330b241 Use driver functions to create TexEnvProgram, TnlProgram 2005-05-09 17:58:13 +00:00
Keith Whitwell
ff6723e326 check for null DrawBuffer values 2005-05-09 17:42:18 +00:00
Keith Whitwell
1180fc13db Fallback (rather than fail) on unknown program targets. 2005-05-09 17:38:52 +00:00
Jon Smirl
5c6aec2f39 dri fb works using renderbuffers now in RGBA mode 2005-05-08 05:01:03 +00:00
Jon Smirl
86300c6945 fbdri can draw double buffered now. Next step is to convert it
to use RenderBuffers.
2005-05-07 19:56:44 +00:00
Brian Paul
fc3bc1ae14 remove some dead code 2005-05-07 18:27:58 +00:00
Brian Paul
d3bd97bb14 x86_64 stuff 2005-05-07 17:27:57 +00:00
Brian Paul
52064f6c37 added linux-x86-xcb config (Jeremy Kolb) 2005-05-07 17:21:11 +00:00
Brian Paul
2eb147e7f5 Patches for XCB (Jeremy Kolb) 2005-05-07 17:14:50 +00:00
Brian Paul
6f3d16c64a assorted warning clean-ups for x86_64, etc (Mikko T.) 2005-05-07 17:06:49 +00:00
Brian Paul
42fa81275c x86-64 transform optimizations (Mikko T.) 2005-05-07 16:59:58 +00:00
Brian Paul
e3f684b753 fix a bunch of html errors 2005-05-06 22:17:24 +00:00
Brian Paul
883d20791a fix cpp / bytesPerPixel problem (bug 1196554) 2005-05-06 19:28:31 +00:00
Brian Paul
b1d0ac64ab remove bad assertion, added new ones in clear_pixmap() 2005-05-06 15:23:54 +00:00
Brian Paul
c64573997c restore call to SetBuffer() in clear_color_buffers(), only temporary 2005-05-06 14:44:16 +00:00
Ben Skeggs
e133984f51 Updated for EXT_framebuffer_object changes. I don't know if this is correct, but it seems to work 2005-05-06 08:41:50 +00:00
Jon Smirl
bd8162aaac Fix problem generating mode db. Miniglxtest works now.
Miniglxsample is still broken with double buffering issues.
2005-05-06 05:50:41 +00:00
Aapo Tahkola
4a55d4ffa7 Missing setups that cause all kinds of problems with hw tnl. 2005-05-06 03:18:40 +00:00
Karl Schultz
6258b76c49 Port Mesa to build on a P64 platform (e.g., Win64). P64 platforms
use 64-bit pointers and 32-bit longs.  So, operations like casting pointers
to unsigned long and back to pointer won't work.  glheader.h now
includes files to define uintptr_t, which should instead be used for
this sort of operation.  It is an integer type that is the same size
as a pointer.
2005-05-05 21:08:07 +00:00
Brian Paul
203dcb733d fix for renderbuffer (Andreas Stenglein) 2005-05-05 17:13:18 +00:00
Brian Paul
bd1d9d96b2 remove some test code 2005-05-05 15:09:16 +00:00
Brian Paul
9f8b3fac97 minor face-lift for web pages 2005-05-05 14:18:31 +00:00
Brian Paul
0355d3ff94 fix typo 2005-05-05 14:18:04 +00:00
Brian Paul
cb34c11663 added a comment 2005-05-05 13:08:06 +00:00
Brian Paul
1077779c7d add PROGRAM_DIRS line 2005-05-05 13:07:52 +00:00
Aapo Tahkola
1c39d183c4 Getting rusty... 4278 was already there. 2005-05-05 06:51:00 +00:00
Jon Smirl
fd4f7064e2 Fix up origin in dri/fb driver
Calculated fbBPP
2005-05-05 05:50:19 +00:00
Aapo Tahkola
db46e2a7dd Flat shading and bunch of clarifications to r300_reg.h . 2005-05-05 03:40:47 +00:00
Adam Jackson
e7769cb348 Refactor COMMON_SOURCES up to Makefile.template 2005-05-05 03:15:08 +00:00
Jon Smirl
d83c4e6dd1 Minor touchups to fbdev renderbuffer support 2005-05-05 00:28:37 +00:00
Aapo Tahkola
73e8ffe9f3 Pack tex coord regs at vertex program backend. 2005-05-05 00:28:31 +00:00
Brian Paul
286c4cc201 more updates for users of s_spantemp.h 2005-05-05 00:10:18 +00:00
Adam Jackson
b3e878ad90 Add drirenderbuffer.c to COMMON_SOURCES 2005-05-04 22:05:02 +00:00
Brian Paul
eae0439ae6 fix s_spantemp.h includes 2005-05-04 20:20:02 +00:00
Brian Paul
79c0bb5264 FBO changes 2005-05-04 20:18:23 +00:00
Brian Paul
41a93f544e fix xm_span2.c reference 2005-05-04 20:13:59 +00:00
Brian Paul
e4b2356c07 Major check-in of changes for GL_EXT_framebuffer_object extension.
Main driver impacts:
- new code for creating the Mesa GLframebuffer
- new span/pixel read/write code
Some drivers not yet updated/tested.
2005-05-04 20:11:35 +00:00
Brian Paul
ebef61f5c0 html fix 2005-05-04 20:05:21 +00:00
Brian Paul
fe6ee3f5e6 EGLScreenMESA updates 2005-05-04 20:00:15 +00:00
Brian Paul
f5581bb994 don't call XTranslateCoordinates() if rendering to pixmap 2005-05-04 14:50:45 +00:00
Keith Whitwell
47b29f511a Add a facility to route all rasterization through a fragment program
which is automatically generated to match the current texture environment
state.  Introduces a new value ctx->FragmentProgram._Active which is
true when either _Enabled is true or there is such a fragment program
ready to run.

To test out on a driver running the software rasterizer, set
MESA_TEX_PROG=t in the environment.  It goes without saying that performance
is lower for the software rasterizer in this mode.
2005-05-04 11:44:44 +00:00
Keith Whitwell
c3f764f7bb Sort instructions for clarity. 2005-05-04 11:21:46 +00:00
Keith Whitwell
3151b27b0a Include negate information in disassembly output. 2005-05-04 11:21:25 +00:00
Keith Whitwell
209b090241 Mark unused registers as undefined so dissassemblers can recognized
them easily.
2005-05-04 11:20:59 +00:00
Keith Whitwell
d8f9599403 Improve the quality of the disassembly output for fragment programs. 2005-05-04 11:20:20 +00:00
Jouk Jansen
c6e1569b7f Committing in .
OpenVMS compile update

 Modified Files:
 	Mesa/src/mesa/shader/slang/descrip.mms
 ----------------------------------------------------------------------
2005-05-04 06:33:58 +00:00
Jon Smirl
82761cb08b DRI fbdev driver getting better. Now I can see something on the screen
but it isn't the right something yet.
2005-05-04 06:12:22 +00:00
Brian Paul
c22990c29a sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles) 2005-05-04 03:33:21 +00:00
Brian Paul
3aeae20685 updates for latest EGLScreenMESA changes 2005-05-04 03:32:39 +00:00
Keith Whitwell
884b5ade86 Import all texture coordinate arrays. Import them only once. 2005-05-03 15:11:23 +00:00
Aapo Tahkola
138b7ef4d9 Add support to external tnl switcher and disable hw tnl by default. 2005-05-01 23:36:43 +00:00
Felix Kuehling
3a934557bf Bumped the Savage driver date (a bit late) to mark S3TC support. 2005-05-01 14:37:23 +00:00
Felix Kuehling
5f0bf77255 Fixed and cleaned up programming of watermark registers. There may be
a marginal speedup, but I'm not sure this has the same effect on all
hardware. Tested on Savage IX and ProSavageDDR. For experimenting with
different values see the macros at the start of savagestate.c.
2005-05-01 14:29:16 +00:00
Jon Smirl
8af7ff1ded Improve the DRI fb driver, now it compiles.
Added code to support NEW_INTERFACE.
It still doesn't work. Made it build from make linux-solo.
2005-05-01 00:21:27 +00:00
Brian Paul
1c54579e86 apply previous GL_COMPRESSED_TEXTURE_FORMATS_ARB fix to generator file, and regenerate get.c 2005-04-30 18:30:16 +00:00
Aapo Tahkola
7d33053e47 r300 side support for fixed function pipeline. This isnt functional with current Mesa. 2005-04-30 11:06:14 +00:00
Felix Kuehling
47d18cbb64 Fixed bogus ENUM_TO_BOOLEAN in
_mesa_GetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB). Must be ENUM_TO_INT.
mesa/progs/tests/texenv now lists supported compressed texture formats
correctly.
2005-04-30 02:09:23 +00:00
Felix Kuehling
f1d053b19a Added S3TC support to the Savage driver with some help from Mark Cass's
S3TC support for an older driver version. On Savage3D/IX/MX
GL_EXT_texture_compression_s3tc can't be enabled because DXT3 and DXT5
are not supported. However GL_S3_s3tc is enabled on all Savage chips.
Tested on a Savage IX and a ProSavageDDR
2005-04-30 02:03:18 +00:00
Jon Smirl
28d0a9c9dd Fix include path to make build work 2005-04-29 22:25:21 +00:00
Keith Whitwell
5f534aa1e2 Format for 80 columns. Add alternate matrix mul based on MAD rather than DP4. 2005-04-29 17:32:27 +00:00
Keith Whitwell
e9e20fc47d Add DISASSEM define, similar to other program generator files. 2005-04-29 17:31:54 +00:00
Keith Whitwell
a5cb1aa211 Add linux-fbdev config 2005-04-29 17:31:10 +00:00
Keith Whitwell
431417fec7 new config 2005-04-29 17:30:29 +00:00
Keith Whitwell
5c81a4b9cd Put back not-so-redundant #ifdef. 2005-04-29 15:41:24 +00:00
Keith Whitwell
a6ebcdfe7d Remove redundant #ifdef, fix compiler warning 2005-04-29 15:37:27 +00:00
Keith Whitwell
2c19069182 new file 2005-04-29 15:36:38 +00:00
Keith Whitwell
15e75e00c7 Maintain a fragment program for current texturing state. 2005-04-29 15:11:39 +00:00
Brian Paul
d59054e60b fix _tnl_copy_to_current() so that current edge flag and rasterpos aren't trashed by color index updates 2005-04-28 21:14:00 +00:00
Keith Whitwell
5cef1a1fed Stop gcc-4.0 complaining about "type qualifiers ignored on function
return type".
2005-04-28 13:16:23 +00:00
Keith Whitwell
545515cbea Stop gcc-4.0 complaining about "type qualifiers ignored on function
return type".
2005-04-28 12:05:58 +00:00
Brian Paul
97e1e60b1c move set_component_sizes() to fix bug 3135 2005-04-27 21:20:30 +00:00
Brian Paul
69441868f6 no need to enable fog or set fog mode with fragment program 2005-04-26 20:58:27 +00:00
Brian Paul
55d8dd4078 tweak previous fog/fragment program fix 2005-04-26 20:56:21 +00:00
Brian Paul
d09df24082 added interpolate_fog() 2005-04-26 17:35:45 +00:00
Brian Paul
c03b6f40ba enable fog render input if fragment program fog option set 2005-04-26 17:25:53 +00:00
Brian Paul
c039af165d comments and minor clean-up 2005-04-26 16:02:56 +00:00
Aapo Tahkola
c3259fa436 Fix as suggested by Ben Skeggs. 2005-04-25 09:50:45 +00:00
Keith Whitwell
b83aadb0e4 Ensure all VB->AttribPtr[] are populated. Reported by Aapo Tahkola 2005-04-25 09:36:27 +00:00
Jon Smirl
576caad33e Minor changes to make linux-solo build again 2005-04-25 03:03:10 +00:00
Felix Kuehling
cbc8d7596a Software fallback for glColorMask. Can be avoided on Savage4 when all
channels are masked (disable draw update). Bumped driver date to
reflect recent correctness fixes. The driver now passes all glean
tests except exactRGBA on both Savage4 and Savage3D-based cards.
2005-04-24 20:55:57 +00:00
Aapo Tahkola
6ffd0a4cf1 Modifying to build against current Mesa. Disabled r200*.c files since they didnt want to build anymore. 2005-04-24 09:08:31 +00:00
Felix Kuehling
5c906924ed Fixed a segfault introduced by Keith's pipeline changes. 2005-04-23 19:54:30 +00:00
Felix Kuehling
9b4536a654 Texturing fixes for Savage3D/MX/IX:
- force emitting texAddr when the texture image changed (flush caches)
- set transparent texture color key to something improbable
  (couldn't find a way to disable it completely)
- fixed texture environment modes GL_DECAL and GL_REPLACE
- made texture environment mode GL_BLEND a software fallback
- added two custom texture formats for promoting from GL_ALPHA to ARGB8888
  and 4444. Since the hardware can't be made to ignore the RGB color
  components, set them to 1 instead of 0. This gives the correct results
- disabled GL_EXT_texture_env_add on Savage3D/MX/IX
- map both GL_CLAMP and GL_CLAMP_TO_EDGE to hardware mode "wrap". It doesn't
  match either mode exactly by the spec, so we should either fall back on both
  or none. I chose the latter.
- fall back to software when s and t wrapping modes differ (hardware has only
  one bit for both)
2005-04-23 17:18:57 +00:00
Keith Whitwell
df943a4041 Fix the worst problems with dangling edgeflag references in
display lists.  These mainly arise from edgeflag being the only
attribute no longer stored internally as a float and requiring
various special case paths to accomodate it.
2005-04-23 11:55:18 +00:00
Keith Whitwell
0d4af83f25 Updates for pipeline_stage struct changes. 2005-04-22 22:47:09 +00:00
Keith Whitwell
bf87f86493 First pass at updating these drivers with pipeline_stage struct changes. 2005-04-22 22:42:09 +00:00
Felix Kuehling
963586b871 Added a French translation of option descriptions by Stephane Marchesin. 2005-04-22 21:36:37 +00:00
Brian Paul
fc06f9fb25 demo / test progs 2005-04-22 21:17:14 +00:00
Brian Paul
20d44dc9bc types for Mesa implementation of EGL 2005-04-22 21:16:28 +00:00
Brian Paul
11b0a76370 prototype EGL_MESA_screen_surface. 2005-04-22 21:16:12 +00:00
Brian Paul
adbff7e977 initial EGL code 2005-04-22 21:09:39 +00:00
Keith Whitwell
a661654a33 Move the call to _tnl_UpdateFixedFunctionProgram to make
it easier for hardware drivers to test this out.
2005-04-22 13:02:04 +00:00
Keith Whitwell
6f973f3367 Simplify the pipeline_stage structure
- remove input/output fields, input tracking removed.
	- remove state fields, the validate function now called
	  on every statechange.
	- add an explicit 'create' function.

Add in code to build vertex program to implement current t&l state.  Still
disabled, but turn on with a #define in t_vp_build.h.
2005-04-22 12:51:19 +00:00
Keith Whitwell
6a13c7da4c Up the value of MAX_NV_VERTEX_PROGRAM_PARAMS to a power of two. 2005-04-22 12:46:13 +00:00
Michal Krol
addcc6afbd Add more error checking. 2005-04-22 10:43:36 +00:00
Michal Krol
19fb77ee7b Cosmetic changes. 2005-04-22 10:28:53 +00:00
Michal Krol
b10d080b1e Move some utility functions to slang_utility.c. 2005-04-22 10:15:32 +00:00
Michal Krol
3ed1f07686 Provide precompiled binary versions of built-in library .gc sources
to dramatically improve shader compiling performance.
2005-04-22 09:51:46 +00:00
Brian Paul
2cbbd3dc50 undef DEPTH_TYPE at end 2005-04-22 02:56:21 +00:00
Felix Kuehling
a7fcac5e92 Fixed some suspicious pointer casts that caused lots of
compile-time-warnings on x86-64. Not tested on x86-64 yet, but a good
thing in general, so I'm giving up waiting for feedback. See also
https://bugs.freedesktop.org/show_bug.cgi?id=2924.
2005-04-21 21:50:54 +00:00
Felix Kuehling
07d91bbb59 Fixed TexEnv modes GL_BLEND and GL_ADD on Savage4-based cards. Disabled
the use of hardware texture format I8 as it produces garbage at least on
ProSavageDDR.
2005-04-21 21:43:21 +00:00
Aapo Tahkola
b3474de7b5 Adding some comments. 2005-04-21 19:09:54 +00:00
Keith Whitwell
7c26b61f93 Reduce the size of mesa's internal fragment and vertex program
representations by switching to packed structures for registers and
instructions.
2005-04-21 14:46:57 +00:00
Brian Paul
88b69d7998 use _mesa_pow() for LIT (bug 3087) 2005-04-21 14:19:50 +00:00
Keith Whitwell
f069e5e412 Facility to construct a vertex program which executes the current
fixed function t&l pipeline.

Currently runs most of the Mesa demos OK, but still needs debugging &
polishing.
2005-04-21 13:13:49 +00:00
Keith Whitwell
0ff98b03c6 New software implementation of ARB_vertex_program. Similar in speed
to existing version, but with the potential for good improvements.
2005-04-21 13:11:02 +00:00
Aapo Tahkola
70375aff48 Had some odd problems with add and temps so doing it with mad. Adding some MAD_2 cases. 2005-04-21 05:24:02 +00:00
Brian Paul
52bf005425 fix state.light[n].spot.direction.w value (bug 3083) 2005-04-20 23:47:03 +00:00
Brian Paul
8d51bbf2a3 clean up buffer creation code 2005-04-20 17:12:10 +00:00
Aapo Tahkola
fc8f202181 Reorganized shader stuff. 2005-04-19 18:49:44 +00:00
Aapo Tahkola
c4e1fd5a7f Fixes for bugs that were nailed down when compairing against software vertex shading. 2005-04-19 03:12:30 +00:00
Aapo Tahkola
f8ed0aa268 Fixing and enabling elt buffers by default. 2005-04-18 22:41:43 +00:00
Ian Romanick
d03ab104db If the file name passed to parse_GL_API is None or "-", read from standard
input.  This allows use of GL API scripts in pipelines.
2005-04-18 21:30:20 +00:00
Ian Romanick
93d2d54e7a Refactor a bunch of common code from the "leaf" scripts to a new functions,
parse_GL_API, in gl_XML.py.
2005-04-18 19:42:23 +00:00
Ian Romanick
8ea22650bd Fill-in function offsets and correct a couple typos. 2005-04-18 19:17:12 +00:00
Ian Romanick
2510ba618d Convert all Python scripts to use XML namespaces. 2005-04-18 19:16:07 +00:00
Peter Zubaj
b7142567bc Alpha test fix 2005-04-18 19:06:14 +00:00
Ian Romanick
61f08d8094 Move the DTD to its own file. 2005-04-18 18:36:57 +00:00
Brian Paul
f905145b60 comments and clean-up 2005-04-18 17:48:25 +00:00
Ian Romanick
02986cb2cc Add support for pthreads and TLS to libGL for __glXLock / __glXUnlock and
for tracking the current GLX context.

This fixes bug #3024.
2005-04-18 16:59:53 +00:00
Ian Romanick
2e823f29e4 Send GL_PACK_INVERT_MESA state to the server. This fixes bug #2538. 2005-04-18 16:40:36 +00:00
Brian Paul
b52673117b s/NORMAL/FOG/ (J.P. Delport) 2005-04-18 14:21:44 +00:00
Jouk Jansen
49b1d95c1c Updates for OpenVMS : New makefiles
added some type-casts

 Modified Files:
 	Mesa/src/mesa/shader/descrip.mms
 	Mesa/src/mesa/shader/program.c
 	Mesa/src/mesa/shader/slang/slang_compile.c
 	Mesa/src/mesa/shader/slang/slang_preprocess.c
 Added Files:
 	Mesa/src/mesa/shader/slang/descrip.mms
 ----------------------------------------------------------------------
2005-04-18 13:05:24 +00:00
Brian Paul
e9a3d8a772 added SLANG_SOURCES to SOLO_C_SOURCES 2005-04-15 22:20:46 +00:00
Brian Paul
afb3fb4b77 config for profiling with gprof 2005-04-15 22:16:18 +00:00
Brian Paul
635ee2df37 added _mesa_share_state() 2005-04-15 17:25:07 +00:00
Ben Crossman
509710cfd7 more gldirect compile fixes. Getting near the linking stage now. No build file yet. 2005-04-15 17:17:47 +00:00
Brian Paul
efb41b07ff remove carriage returns 2005-04-15 16:05:14 +00:00
Keith Whitwell
78803b2667 Fix alpha value of STATE_LIGHTMODEL_SCENECOLOR. From the spec:
The "w" component of the program parameter variable is filled with
 the alpha component of the front diffuse material color.

Make sure matrix inverses are uptodate also.
2005-04-15 12:57:23 +00:00
Michal Krol
a131d50fb7 add shader/slang/slang_preprocess.c 2005-04-15 10:30:43 +00:00
Michal Krol
e3a846b0e3 implement info log; parse #version directive 2005-04-15 10:23:10 +00:00
Michal Krol
65ce50897e slang preprocessor 2005-04-15 10:21:34 +00:00
Michal Krol
8855664489 slang #version directive syntax 2005-04-15 10:20:30 +00:00
Michal Krol
35725a92be change __asm statement semantics 2005-04-15 10:19:27 +00:00
Ben Crossman
d8aa5ffed5 Reverted the last change back to fix bug 3035 2005-04-15 09:13:21 +00:00
Ian Romanick
067e788acd Convert 'variable_param' from a CDATA attribute to a NMTOKENS attribute.
The main difference is that white-space is used to separate the names
instead of comas.
2005-04-14 23:03:44 +00:00
Ian Romanick
73b4c1b388 Refactor the handling of the '(true | false)' enumerated attributes. 2005-04-14 23:00:34 +00:00
Ian Romanick
a3deff2404 Modify the DTD to use NMTOKEN, enumerants, and explicit default values
wherever possible.  Correct a couple mis-uses of the 'counter' attribute
when 'count' was intended.  Fix some errors in the DTD and in the data with
'doubles_in_order'.
2005-04-14 22:59:46 +00:00
Ian Romanick
6cae4f3bc9 In GLX_USE_TLS builds, make GET_CURRENT_CONTEXT use the TLS verion of the
variable.  Without this, GET_CURRENT_CONTEXT would *always* result in a call
to _glapi_get_context (because _glapi_Context is a const pointer to NULL in
TLS builds).
2005-04-14 21:05:55 +00:00
Ian Romanick
f434e07a6a Add missing includes of indirect.h. 2005-04-14 20:35:33 +00:00
Ben Crossman
369404299c A few getenv() that werent using the mesa wrapper version 2005-04-14 19:54:15 +00:00
Ben Crossman
b2b01a60db Some initial compile fixes. Still some left and warnings that need fixing. No where near runnable yet. 2005-04-14 16:58:25 +00:00
Keith Whitwell
60e2810ae4 Disable CLOD (Lod constant) state emit. The values emitted were
possibly negative, hence clobbering the leading register-id byte.
Fixed the calculation of the values to prevent negative numbers being
emitted, but the code still doesn't implement texture LOD bias
correctly, so leave it disabled overall.
2005-04-14 15:53:30 +00:00
Michal Krol
99b329ca13 hook to _slang_compile() 2005-04-14 10:31:36 +00:00
Michal Krol
ed5f790919 cosmetic changes 2005-04-14 10:30:08 +00:00
Michal Krol
8c01903114 ARB_fragment_shader state 2005-04-14 10:28:14 +00:00
Michal Krol
6372ea0da0 ARB_fragment/vertex_shader state 2005-04-14 10:27:19 +00:00
Michal Krol
2a37053fd5 ARB_shading_language_100 bit;
Fragment shader derivative hint
2005-04-14 10:25:49 +00:00
Michal Krol
1e8fc5ffea add GL_ARB_shading_language_100;
reorder GL_ARB_shader_objects and GL_ARB_fragment/vertex_shader stuff
2005-04-14 10:23:51 +00:00
Michal Krol
5c968cbc5e add FEATURE_ARB_shading_language_100;
remove FEATURE_shading_language;
add ARB_fragment/vertex_shader max values
2005-04-14 10:21:30 +00:00
Michal Krol
98e35025ba do not use isdigit() - can cause link errors 2005-04-14 10:19:19 +00:00
Brian Paul
fd451b6d01 updated procedure for getting CVS-write access 2005-04-13 23:50:47 +00:00
Ian Romanick
25fe93f0a1 Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, all
DRI drivers.  A TLS enabled libGL can load a TLS or a non-TLS DRI driver,
but a TLS DRI driver requires a TLS enabled libGL.

This fixes bug #1822.
2005-04-13 20:59:15 +00:00
Ian Romanick
c604e457d1 Revert revision 1.13. This allows server-side libGLcore (in X.org) to build
with Mesa CVS.  This change was wrong in the first place, and the issue that
necessitated it has been resolved.  For more background on the problem see:

http://marc.theaimsgroup.com/?l=mesa3d-dev&m=111333880529935&w=2
2005-04-13 18:41:33 +00:00
Michal Krol
9a5ba4794c add SLANG_SOURCES 2005-04-13 14:05:28 +00:00
Michal Krol
fa2802d4d0 clean-up stuff 2005-04-13 14:05:06 +00:00
Michal Krol
0e7836b500 simple front-end compiler 2005-04-13 14:04:41 +00:00
Michal Krol
d3ea221d3e add __fixed_input and __fixed_output qualifier support;
fix for_init_statement output;
2005-04-13 13:18:35 +00:00
Michal Krol
2f951683be cosmetic changes;
add __fixed_input and __fixed_output qualifiers for built-in variables;
2005-04-13 13:06:57 +00:00
Michal Krol
5a38200122 cosmetic changes;
fix syntax errors;
2005-04-13 13:03:23 +00:00
Michal Krol
f18d70b804 cosmetic changes;
change first parameter's qualifier from inout to out for __operator =;
remove __asm instructions: int_add, int_multiply, int_divide, int_negate,
int_less, int_equal, bool_equal;
2005-04-13 12:59:58 +00:00
Michal Krol
cfcf86b37d converts a .gc file to a C header containing string form of the file 2005-04-13 12:48:40 +00:00
Felix Kuehling
0ad2ef20a7 Added a Spanish translation by David Rubio Miguélezand a Dutch
translation by Manfred Stienstra.
2005-04-12 21:01:30 +00:00
Felix Kuehling
ad0dbe6b04 Changed escaping of double quotes. 2005-04-12 20:58:34 +00:00
Brian Paul
41bddcfa7b PF_8A8R8G8B pixel format (Dave Reveman) 2005-04-12 01:41:04 +00:00
Felix Kuehling
55ba0dccc9 Manage option translations in separate .po files to make translations
easier for non-programmers familiar with GNU gettext. For now there is
only a German translation but more translations are encouraged.

Translatable strings are extracted from t_options.h containing option
definitions with English descriptions. A corresponding header options.h
with all available translations of option descriptions is generated by
gen_xmlpool.py and included by xmlpool.h.

Many option descriptions were rephrased to make them unambiguous for
translation without context. They are hopefully more helpful to users at
the same time.
2005-04-11 21:41:40 +00:00
Brian Paul
aaa5a66433 set table size to 1023 and use new HASH_FUNC() macro 2005-04-10 17:44:27 +00:00
Adam Jackson
5f92c38f0e Bug #2945: Fix math error that left half the hash buckets empty. 2005-04-09 18:35:57 +00:00
Ian Romanick
db382c5b1d Remove all the radeon_subset files. They were completely unused. Keith
Whitwell says, "[T]he radeon subset code can probably be archived now."
This "fixes" bug #1623.
2005-04-08 23:54:20 +00:00
Ian Romanick
a657c1aee8 Use the same dispatch.c source file for "normal" Mesa builds and DRI
libGL builds.
2005-04-07 23:58:51 +00:00
Brian Paul
d9c389dff6 Add shaderobjects_3dlabs.c back into build but use #ifdef FEATURE_shading_language to enable/disable relevant code. 2005-04-07 14:38:41 +00:00
Ian Romanick
c51ed8c236 Follow the GLX_SGIX_fbconfig spec and return the complete list of
available fbconfigs if attrList is NULL.  This fixes bug #2917.
2005-04-07 00:05:55 +00:00
Brian Paul
c61782958b added wrappers/helpers for creating/destroying rendering contexts 2005-04-06 22:41:46 +00:00
Brian Paul
c3984fc015 changed implementation of GetAllFBConfigs() 2005-04-06 22:40:39 +00:00
Brian Paul
481bdd383a Fix Fake_glXChooseFBConfig so passing NULL attribList causes a list of all
fbconfigs to be returned.
2005-04-06 22:33:15 +00:00
Ian Romanick
bfc8a8dc63 Make linux-dri-x86-64 more like linux-dri-x86. Add ARCH_FLAGS. This is
where things like "-m64" or "-m32" should be specified.  Using this, a
32-bit DRI build can be done on an x86-64 system by doing 'ARCH_CFLAGS=-m32
make linux-dri-x86'.  Minor tweaks to linux-dri to support these changes.
2005-04-06 21:34:34 +00:00
Ian Romanick
29c909f81c Make glxgears_fbconfig compile and respect the DISPLAY setting. Add it
to the Makefile as well.
2005-04-05 20:43:06 +00:00
Keith Whitwell
5234d17514 Don't call PrimitiveNotify with an invalid primitive. Fix ipers
wireframe mode.
2005-04-05 10:30:05 +00:00
Brian Paul
c39a4bc83c s/Togle/Toggle/ 2005-04-04 20:06:40 +00:00
Brian Paul
a92100a3c6 updated warning string to match patch in bug report 2868 2005-04-04 16:06:16 +00:00
Brian Paul
fe1230f1c8 Use FEATURE_shading_language to control whether the shading language
compiler is hooked in.  May be enabled on compiler command line by setting
-DFEATURE_shading_lanuage=1.
2005-04-01 01:41:54 +00:00
Adam Jackson
26772ac988 Disable _mesa_3dlabs_create_{program,shader}_object references. 2005-03-30 17:02:18 +00:00
Brian Paul
425569bbc5 Disable C++ shading language code yet again. Doesn't compile with older
g++ installations.
2005-03-29 02:46:59 +00:00
Brian Paul
93b52d9484 re-enable shading language sources 2005-03-29 02:31:43 +00:00
Brian Paul
1706ba4101 re-enable _mesa_init_shaderobjects_3dlabs() call 2005-03-29 02:31:11 +00:00
Brian Paul
9a54843a94 fix a variety of warnings/errors 2005-03-29 02:28:21 +00:00
Brian Paul
cb80e3905c disable 3dlabs shading language code until build is fixed 2005-03-26 19:45:40 +00:00
Brian Paul
32e845f05e disable _mesa_init_shaderobjects_3dlabs() call until build is fixed 2005-03-26 19:45:08 +00:00
Brian Paul
7d4abc9b3a remove INSTALL.GNU from tarball list 2005-03-26 19:22:06 +00:00
Brian Paul
a62fe7f5e3 obsolete 2005-03-26 19:21:07 +00:00
Michal Krol
00e599e783 implement gl2_3dlabs_shhandle interface; resolve few TODOs 2005-03-25 12:16:53 +00:00
Michal Krol
1d7f71924d cleanup query functions 2005-03-25 12:12:50 +00:00
Michal Krol
05ab19ef43 add _mesa_init_shaderobjects_3dlabs() declaration 2005-03-25 12:07:31 +00:00
Michal Krol
a095aa4f4b fix comments; fix TBuiltInResource typedef 2005-03-25 12:05:30 +00:00
Michal Krol
675f802542 fix comments; disable DLL linkage for WIN32 2005-03-25 12:03:58 +00:00
Felix Kuehling
116986bad5 Fixed segfault due to an off-by-one error in SAVAGE_TEX_MAXLEVELS. 2005-03-24 11:53:19 +00:00
Felix Kuehling
798e753e07 Initialize texture addresses to something valid. 2005-03-23 17:59:09 +00:00
Keith Whitwell
ce1d7ee5ee remove file after merge 2005-03-23 12:01:08 +00:00
Brian Paul
068039eec1 no change 2005-03-23 03:34:24 +00:00
Brian Paul
05bbafa01a use $(*_LIB) in the *_LIB_NAME definitions 2005-03-23 02:12:21 +00:00
Keith Whitwell
8fb17f5b3f rename mesaVis to try and improve clarity 2005-03-22 14:30:30 +00:00
Keith Whitwell
3e62d3a8d8 add FreeTexImageData hook to help single-copy texturing in drivers 2005-03-22 14:27:10 +00:00
Keith Whitwell
050b77a9ac merge unichrome changes from branch 2005-03-22 14:25:55 +00:00
Keith Whitwell
59b4b7e07e Remove test for defined(DRM_USE_MALLOC) around definition of
drmSIGIOHandler().
2005-03-22 13:34:27 +00:00
Keith Whitwell
46d50d9e8e Add more formats to test. 2005-03-22 13:32:35 +00:00
Keith Whitwell
de4fe1e3c5 Add DRM_USE_MALLOC flag 2005-03-22 13:31:35 +00:00
Keith Whitwell
7f8e10f96c Calculate haveAccumBuffer, haveDepthBuffer and haveStencilBuffer in
driFillInModes().
2005-03-22 13:16:20 +00:00
Michel Dänzer
e7c7a0f353 Add support for production version of ATI RN50/ES1000. (ATI Technologies
Inc.)
2005-03-18 23:05:07 +00:00
Aapo Tahkola
6bd390743d Misc fixes. 2005-03-18 14:44:27 +00:00
Michal Krol
2fb2e27e28 update against 03-Feb-2005 release 2005-03-18 14:28:02 +00:00
Michal Krol
5b641a516e enable all 3dlabs front-end compiler sources 2005-03-18 14:21:07 +00:00
Michal Krol
706bb1c714 a little program to change // comments to /* */ ones 2005-03-18 14:07:47 +00:00
Michal Krol
1d5c727bba glslang flex and bison sources:
flex glslang.l
bison -t -v -d glslang.y
mv glslang.tab.c Gen_glslang_tab.cpp (shouldn't be .c?)
mv glslang.tab.h glslang_tab.h
2005-03-18 12:18:00 +00:00
Aapo Tahkola
a890ceee63 Fix to get doom3 started. 2005-03-17 22:28:06 +00:00
Ian Romanick
8a7dcd97bd xmllint fixes. Revert 'note_unflushed' changes that were accidetnally
committed in the last version.
2005-03-17 22:01:39 +00:00
Aapo Tahkola
a78bbd0816 Simple TCL stage and ability to disable vps. 2005-03-17 21:50:01 +00:00
Ian Romanick
80a939cafb Enable the generation of server-side __glGetBooleanv_size and related
functions.  There are two parts to this.  First, a size element with a name
"Get" is shorthand for having four separate size elements with names
"GetIntegerv", "GetDoublev", "GetFloatv", and "GetBooleanv".  Additionally,
a count of "?" is treated specially.  This causes a call to a handcoded
function named "__gl<base name>_variable_size".  This is *only* needed to
support GL_COMPRESSED_TEXTURE_FORMATS.  That enum can return a variable
number of values depending how many compressed texture formats are supported
by the implementation.

Fix a problem with glGetProgram{Local,Env}Parameter[df]vARB,
glAreProgramsResidentNV, and glGetVertexAttribivNV.  These changes only
affect code generated for the server-side.

The changes to enum.c are caused by enums added for the server-side
__glGetBooleanv_size functions.
2005-03-17 21:48:37 +00:00
Ian Romanick
6af6a69312 Minor refactoring and code tweaking. The only notable chage is that
FilterGLAPISpecBase::xref is replaced by
FilterGLAPISpecBase::functions_by_name.  The notable difference between the
two is that ::functions_by_name includes all functions, whether they have an
assigned offset or not.  This feature will be useful (necessary) when more
server-side code is generated.
2005-03-17 20:56:13 +00:00
Ian Romanick
979f35fb78 Minor vertex array support tweaks. These are in preparation for the
(eventual) addition of support for ARB_vertex_buffer_object.  Elminitate the
need for array_state_vector::large_header.  Make some very minor tweaks to
the handling of the indices pointer in emit_DrawElements_old.
2005-03-17 20:36:20 +00:00
Ian Romanick
b81efaaa1a Minor vertex array support tweaks. Most of these are in preparation for the
(eventual) addition of support for ARB_vertex_buffer_object.

Move all the private vertex array data structures out of
indirect_vertex_array.c and into indirect_va_private.h.

Rename array_state_vector::enabled_array_count to
array_state_vector::enabled_client_array_count.

Make sure that both the GL extension string and the server GL version are
available when __glXInitVertexState is called.

Make sure that array_state::normalized is set correctly in the array's
gl*Pointer function.
2005-03-17 20:13:09 +00:00
Ian Romanick
00e760c971 Refactored some of the code for PrintGlxReqSize_[ch]. This ensures that the
same set of functions will be iterated for both the generated C-source file
and the generated header file.
2005-03-17 01:50:32 +00:00
Ian Romanick
3f35fbbf66 Fix the handling of zero-sized output parameters (i.e., those with type
'GLvoid *').  This fixes the GLX protocol for glGetProgramStringARB.  This
fixes bugzilla #2747.

Remove the 'ignore="true"' from glVertexAttrib4bvARB.  This fixes bugzilla
#2746.
2005-03-17 01:48:11 +00:00
Ian Romanick
9eae0b9f19 Hard-code the client-side maximum GL version. It turns out that there are
some flaws in the calculation code when the highest version listed in
known_gl_extensions is supported.  This code would also have some problems
with some of the new features (that don't have an associated extension) on
GL 2.0.
2005-03-17 01:36:24 +00:00
Aapo Tahkola
c1aa3d1e6f Proper VAP output configuration as R300_RS_ROUTE_0_COLOR became optional and broke arbvptorus(takes no input color but produces output color). Also removing some useless code. 2005-03-16 22:32:48 +00:00
Ben Skeggs
dd9da8cdb5 Fixed some strangeness when mixing textured/flat primitives. Skipping texture units should render correctly also. Aapo, I dont think I broke glxgears again on you... 2005-03-16 00:54:09 +00:00
Roland Scheidegger
fbe5296d14 add support for user-configurable brilinear filtering on r200 2005-03-15 22:23:29 +00:00
Aapo Tahkola
7541794373 Fix to get glxgears display anything. 2005-03-15 20:55:29 +00:00
Ben Skeggs
3c4c86aff2 For some reason the Makefile didn't commit.. 2005-03-15 17:09:35 +00:00
Ben Skeggs
34dd4843d7 Initial multitexturing support. Old behaviour can be re-enabled by changing ifdefs in r300_setup_rs_unit and r300SetupPixelShader in r300_state.c\nRequires DRM update. 2005-03-15 17:00:44 +00:00
Ian Romanick
7457a648d2 If setting GL_PACK_INVERT_MESA results in a GL error, log it. 2005-03-14 22:09:31 +00:00
Felix Kuehling
bd5bba8470 When timestamping textures, need to emit the event with SAVAGE_WAIT_3D
set. Otherwise the 3D engine may still be using a texture that is
being overwritten. In order to minimize the cost of waiting, timestamp
textures only when needed: when a texture image changes, when a
different texture is bound to a texture unit or when a texture unit is
disabled. (Used to be after flushing every command buffer.)
2005-03-14 21:52:46 +00:00
Peter Zubaj
e2e4a5c992 Stencil support
Reflex from mesa demos doesn't work
TODO - double side stencil
I hope that I didn't break anything
2005-03-14 20:35:00 +00:00
Michal Krol
02eb36fa8d re-enable slang sources 2005-03-14 12:43:59 +00:00
Michal Krol
0c7d2fff1e make it compile under linux 2005-03-14 12:24:32 +00:00
Michal Krol
5c9d21df3d make it compile under gcc 3.3.2 2005-03-14 12:23:14 +00:00
Michal Krol
8998de569c fix enum comma 2005-03-14 12:19:36 +00:00
Aapo Tahkola
278c6025f9 Replacing alpha test bits with values that give desired results as compaired to software rendering. Alpha test in textures is still completely broken as can be seen in progs/demos/fire and various games. 2005-03-13 12:23:08 +00:00
Felix Kuehling
4f05e61543 Updated savage_dri.h from Xorg CVS. This removes definitions that are
not part of the DDX->DRI interface and should never have been in this
file in the first place.
2005-03-13 00:20:03 +00:00
Felix Kuehling
45f26f9979 Removed savagedma.[ch]. They have been unused for a while and were only
kept around for reference. Now that command DMA is implemented in the
DRM module they are no longer needed.
2005-03-12 23:00:53 +00:00
Aapo Tahkola
203bd3e8ec Unlike radeon and r200 drivers r300AllocCmdBuf allocs dwords not bytes. 2005-03-12 10:14:09 +00:00
Ian Romanick
91c219d906 Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocol
for these extensions (as well as ARB_vertex_program and ARB_matrix_palette)
was just approved by the ARB on 8-Mar-2005.  Now the only extension missing
for 1.5 support is ARB_vertex_buffer_object.

The opcodes for ARB_matrix_palette were also added to gl_API.xml.  Since
this extension isn't supported by Mesa, no code is generated for it.  Some
tabs were also converted to spaces in the comment for
GetCompressedTexImageARB.
2005-03-11 20:55:03 +00:00
Brian Paul
522ea42718 add MAT_DIRTY_FLAGS in _math_matrix_mul_floats(), (bug 2696) 2005-03-11 14:54:51 +00:00
Paul Mackerras
e24a9c10b5 Add suitable definitions for the _REV formats, plus a comment
explaining why they are the same as the non-REV formats now that
textures don't get byte-swapped on their way to the chip.
Fix the ARGB4444 and L8 formats.
Add entries for the A8 and RGB332 formats.
2005-03-11 11:38:23 +00:00
Felix Kuehling
96035d54f3 - Flush before updating the timestamp of a texture heap from a bound texture.
- Flush before using a new texture or before disabling a texture unit,
  because savageFlushCmdBuf can only update the timestamp of the last
  used texture. This fixes corruption in quake2 with single-textured
  lighting.
2005-03-10 22:45:00 +00:00
Felix Kuehling
746df56717 If the texture image changed force emitting the texture address, even
if it didn't change. This seems to flush texture cashes. Fixes
multi-textured lighting in quake2.
2005-03-09 15:28:47 +00:00
Vladimir Dergachev
5737fda093 Don't use R200 texture constants - R300 fields are all different. 2005-03-09 05:31:31 +00:00
Vladimir Dergachev
439f7feab1 Deal with texture formats in a more robust way. 2005-03-09 00:40:55 +00:00
Aapo Tahkola
f0d484fa5a Replacing some RADEON cmd types with r300 counterparts. 2005-03-08 22:29:45 +00:00
Aapo Tahkola
2579c32a5f Improving Vladimirs alpha test fix a bit as it turns out r300Enable didnt correctly disable alpha test. Vertex programs with high vertex count now run a lot faster as software fallback is no longer on. Also disabling 'temp to result'-instructions as they probably violate the spec and dont seem to be something thats needed. 2005-03-08 03:29:46 +00:00
Ian Romanick
0bd5373d94 Actually *use* the count_scale value associated with a parameter. 2005-03-06 08:55:39 +00:00
Felix Kuehling
9d05d3dd30 Don't synchronize after each frame. Allow the GPU to be one frame
ahead of the CPU for more parallelism of CPU and GPU. Unfortunately
there seems to be some broken hardware (like my ProSavageDDR) on which
status register updates are delayed sometimes. This leads to very
jerky animation if the hardware can buffer more than the current
frame. A new option "sync_frames" can be used as a remedy on such
broken hardware.
2005-03-06 03:52:01 +00:00
Felix Kuehling
e6aa21156a - Fixed two bugs related to DMA buffer handling that showed up with the
new DRM version 2.4 and command DMA.
- Flush less.
- Bumped the driver date.
2005-03-06 01:28:30 +00:00
Vladimir Dergachev
a30402b56a Add format 15. It turned out to be X,X,X,X,X8. 2005-03-05 22:20:57 +00:00
Dave Airlie
07561c6b32 Fixing memset on ia64 & other archs
From: Stephane Marchesin
2005-03-05 06:38:59 +00:00
Vladimir Dergachev
a4296239d4 Enable VB mode rendering by default. If anyone thinks this is wrong, *please* feel free to change it back.
My reasons:

    * immediate mode is broken
    * vb mode is faster
    * vb mode is the right way to do it.
2005-03-05 06:31:36 +00:00
Vladimir Dergachev
3f9467c946 Do properly initialize ALPHA_TEST register instead of carefully preserving bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance.. 2005-03-05 06:10:09 +00:00
Dave Airlie
1bb14ad90c fix for solo to set the mode, and make solo gcc2 friendly...
From: Stephane Marchesin
2005-03-05 04:00:09 +00:00
Roland Scheidegger
87030f6618 remove one of the two _tnl_isolate_materials function calls 2005-03-05 00:04:20 +00:00
Adam Jackson
8ff72e9723 Add preliminary EGL headers. 2005-03-04 20:18:55 +00:00
Ian Romanick
b47731f24d Import fixes from X.org tree (Søren Sandmann <sandmann@redhat.com>). 2005-03-04 17:53:24 +00:00
Rune Petersen
bc6bf401f5 Set pipes for R420 cards. Gives a nice speedup. This needs to be tested on r420 cards with less than 16 pipes. 2005-03-04 15:48:40 +00:00
Vladimir Dergachev
984d527626 Add a couple of helper functions for completeness. 2005-03-03 23:18:19 +00:00
Ian Romanick
fdb5a87f91 Fix some errors in the parameter descriptions in serveral vertex / fragment
program related functions.
2005-03-03 21:22:46 +00:00
Ian Romanick
ce77d37264 Check for some common function parameter description errors in the
endElement handler for <function>.  This catches the errors as early as
possible and makes debugging other code easier.
2005-03-03 21:21:59 +00:00
Ian Romanick
6e776f25fd When building in the X-Server, attr.depth doesn't exist. Instead, use
(XMesaDrawable)w)->depth in the error message.
2005-03-03 19:56:11 +00:00
Brian Paul
c1f2f9090b change gl_buffer_object's Size field to GLsizeiptrARB type 2005-03-03 02:05:33 +00:00
Brian Paul
7644bfb536 Added linux-x86-32 config to force building 32-bit objects in a 64-bit environment. 2005-03-03 01:44:42 +00:00
Brian Paul
3e1961839e if building 32-bit objects in 64-bit environment, use -m32 flag 2005-03-03 01:38:13 +00:00
Alan Hourihane
fff3b2f318 use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4V 2005-03-02 18:57:01 +00:00
Brian Paul
b960c14cbb Added a bunch of new comments, minor code clean-ups. 2005-03-02 16:37:24 +00:00
Brian Paul
3db7ae3a38 Using glColor3 commands to update materials could result in an undefined
alpha value.  Fixed.
2005-03-02 16:31:58 +00:00
Brian Paul
7cd2ae9d97 added stub functions for GLX_MESA_allocate_memory 2005-03-01 02:51:07 +00:00
Ian Romanick
03dc437363 Clean-up some warnings caused by the addition of vertex / fragment program
protocol support (reported by Adam Jackson).  Added code to validate the
'type' parameter to the draw element functions.
2005-02-28 19:37:10 +00:00
Brian Paul
80875253ce additional parenthesis in TNL_CONTEXT macro (Nicolai Haehnle) 2005-02-28 17:45:11 +00:00
Aapo Tahkola
d1e40c9bdd fix for 'nasty bug' and some sanity checks to avoid buffer overruns. Bumping VSF_MAX_FRAGMENT_LENGTH as it seems a bit low otherwise. 2005-02-28 00:27:02 +00:00
Brian Paul
6c0c91714c silence warnings 2005-02-27 16:23:41 +00:00
hmarson
87a2f3df64 Added 0x4e51 - Saphire 9600 256MB
0x4e71 - Saphire 9600 256MB - Second Head...
2005-02-27 12:12:25 +00:00
Dave Airlie
ab7312ef63 precedence precedence precedence.. add some brackets 2005-02-27 07:43:18 +00:00
Brian Paul
67742383e8 Rename _mesa_update_buffers() to _mesa_update_draw_buffer_bounds() and do
additional checks.
Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
2005-02-26 17:16:12 +00:00
Dave Airlie
4932ba28ad Add a dri config option to enable the max texture level hack
make ycbcr depend on a CHIPSET define .. needs to be filled in though
2005-02-26 05:24:04 +00:00
Dave Airlie
8ca515097f use girl2.rgb by default 2005-02-26 04:56:25 +00:00
Dave Airlie
c68233cb35 Add glXAllocateMemoryMESA demo app using ycbcr...
add girl2.rgb which is a slightly resized girl.rgb so client texturing works
2005-02-26 04:51:47 +00:00
Dave Airlie
9bfd9582d4 bring over structs from Xorg glx.h to make Mesa glx.h the one true glx.h 2005-02-26 03:55:44 +00:00
Dave Airlie
24dcc6b6bf Add GLX_MESA_allocate_memory from Xorg glx.h 2005-02-26 03:51:17 +00:00
Ian Romanick
f3a6e4fa5b Fairly significant changes to enums.c and the way it is generated. enums.c
now contains 3 static tables.  The first table is a single, large string of
all the enum names.  The second table is an array, sorted by enum name, of
indexes to the string table and the matching enum value.  The extra string
table is used to eliminate relocs (and save space) in the compiled file.
The third table is an array, sorted by enum value, of indexes into the
second table.

The [name, enum] table contains all of the enums, but the table sorted by
enum-value does not.  This table contains one entry per enum value.  For
enum values that have multiple names (e.g., 0x84C0 has GL_TEXTURE0_ARB and
GL_TEXTURE0), only an index to the "best" name will appear in the table.
gl_enums.py gives precedence to "core" GL versions of names, followed by ARB
versions, followed by EXT versions, followed, finally, by vendor versions
(i.e., anything that doesn't fall into one of the previous categories).  By
filtering the unneeded elements from this table, not only can we guarantee
determinism in the generated tables, but we save 364 elements in the table.

The optimizations outlined above reduced the size of the stripped enums.o
(on x86) from ~80KB to ~53KB.

The internal organization of gl_enums.py was also heavily modified.
Previously enums were stored in an unsorted list as [value, name] tuples
(basically).  This list was then sorted, using a user-specified compare
function (i.e., VERY slow in most Python implementations) to generate a
table sorted by enum value.  It was then sorted again, using another
user-specified compare function, to generate a table sorted by name.

Enums are now stored in a dictionary, called enum_table, with the enum value
as the key.  Each dictionary element is a list of [name, priority] pairs.
The priority is determined as described above.  The table sorted by enum
value is generated by sorting the keys of enum_table (i.e., very fast).  The
tables sorted by name are generated by creating a list, called name_table,
of [name, enum value] pairs.  This table can then be sorted by doing
name_table.sort() (i.e., very fast).

The result is a fair amount more Python code, but execution time was reduced
from ~14 seconds to ~2 seconds.
2005-02-26 01:09:35 +00:00
Ian Romanick
4e262cfb07 Accidentally committed wrong version with the previous commit set. 2005-02-25 23:02:33 +00:00
Ian Romanick
40af76bbaa Add GLX protocol support for ARB_fragement_program,
ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program,
NV_fragment_program_option, NV_fragment_program2, NV_vertex_program,
NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option,
NV_vertex_program3, and ATI_text_fragment_shader.
2005-02-25 22:46:30 +00:00
Ian Romanick
1fd3bbc42e Convert the static functions read_pixel_reply, read_reply,
setup_single_request, and setup_vendor_request to the global functions
__glXReadPixelReply, __glXReadReply, __glXSetupSingleRequest, and
__glXSetupVendorRequest.  This will make it easier to add handcoded Single /
VendorPrivate / VendorPrivteWithReply functions.
2005-02-25 01:48:25 +00:00
Aapo Tahkola
ac8020ea9c Another nasty struct size bug found. 2005-02-24 13:59:56 +00:00
Brian Paul
2c6f911e10 More GL_EXT_framebuffer_object: rename some things, added device driver hooks. 2005-02-24 05:47:06 +00:00
Felix Kuehling
7b7d00ca62 Don't forget to update a heap's timestamp when a texture image is
changed. Other drivers don't need to do this because they're swapping
modified textures out of texture memory, which implies a timestamp
update.
2005-02-23 20:51:27 +00:00
Ian Romanick
365a0a7c15 Missed the commit of glxext.c yesterday.
Fixed a flow control problem in glGet*v that could result in the display
not being unlocked.  This also resulted in refactoring a lot more code
out of the glGet*v routines into get_array_data, which was renamed to
get_client_data.
2005-02-23 20:06:52 +00:00
Ian Romanick
2b1ec683d3 Put quotes around $(CC) and $(CXX) so that 'CC=cache gcc' will work. 2005-02-23 19:24:30 +00:00
Brian Paul
ba0fe1832e minor changes to aid debugging, and a new comment 2005-02-23 16:54:18 +00:00
Felix Kuehling
540b260cbd With Savage DRM version 2.3.x or later use event counters for texture
heap aging, similar to the way it's done in the i810 and i855 drivers.
This avoids idling the engine on every texture upload.
2005-02-23 16:37:27 +00:00
Brian Paul
8f5f6b3d59 Sort the enums in the Python code, instead of at runtime. (Zack Rusin) 2005-02-23 16:36:17 +00:00
Ian Romanick
6614766f3e Corrected the value for X_GLrop_SecondaryColor3svEXT. 2005-02-23 00:47:11 +00:00
Ian Romanick
57b5e8538e Missed the Makefile with the previous commit. 2005-02-23 00:24:18 +00:00
Ian Romanick
fdb07636f2 Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits. This
enables libGL to query which extension are exported to applications.

Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c.

Massive re-write of indirect vertex array support.  The most noticable
effect is that glDrawElements now generates DrawArrays protocol.  The
side-effects (and the main reasons for the re-work) are that it is much
easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY,
GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new
DrawArrays protocol (required to support ARB_vertex_buffer_object).

These changes were primarilly tested with progs/demos/isosurf.
2005-02-22 22:36:31 +00:00
Brian Paul
cb83f62e30 now generated with Python script 2005-02-22 15:42:30 +00:00
Brian Paul
78123bb38b generate enums.c file (Zack Rusin) 2005-02-22 15:39:46 +00:00
Aapo Tahkola
3c69df8a70 New elt buffer code should be fairly stable. 2005-02-22 05:16:42 +00:00
Vladimir Dergachev
e00b729716 Add code to autogenerate vertex shaders.
This is needed for multitexturing to work properly.
2005-02-21 06:09:30 +00:00
Dave Airlie
a2990a9d73 Add DESTDIR install target 2005-02-21 00:20:19 +00:00
Dave Airlie
dee1c795c2 add more functionality to miniglx for glitz 2005-02-20 10:46:34 +00:00
Aapo Tahkola
eb6560bf2b Adding support for front buffer mode, removing some code we dont really need and some new debugging stuff. 2005-02-20 03:01:09 +00:00
Aapo Tahkola
35bc4ac680 Minor fix to border and blend color. 2005-02-19 16:30:56 +00:00
Aapo Tahkola
ff3ce3dd96 Disabling some fallbacks as they cause misc programs not to start and adding some comments. 2005-02-19 03:04:08 +00:00
Aapo Tahkola
42896b2a18 Fix for buffer overrun caused by ALLOC_STATE not having args surrounded by parenthesis. Can you see it? HINT: Anything texture related should now work slightly better. And yes it took me several hours to find it. 2005-02-19 02:25:53 +00:00
Nicolai Haehnle
10b892af96 Print an error if idling the engine before the buffer copy fails.
Be a bit more useful about the sync message after flushing command buffers.

Add an "allmsg" debug name that enables all log messages but does not
enable syncing.
2005-02-18 22:07:20 +00:00
Michel Dänzer
9605806d81 fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.) 2005-02-18 20:03:33 +00:00
Nicolai Haehnle
3f22c0966d r300RefillCurrentDmaRegion: Retry buffer acquisition only once, after
waiting for the engine to idle. There's no way for another buffer to
become free anyway once the engine is idle.
2005-02-18 18:57:38 +00:00
Nicolai Haehnle
8281cca82f Always submit command buffers, even when there are no cliprects,
so that we no longer leak DMA buffers (plus, this just might fix some
state-setting related problems, if there were any - but that's unlikely).

Update the DRM to cope with cmdbuf->nbox == 0.
2005-02-18 18:28:52 +00:00
Aapo Tahkola
4d73f1af35 We dont need to call r300EmitAOS if we arent going to draw anything(r300_get_num_verts returns 0). 2005-02-18 16:58:19 +00:00
Nicolai Haehnle
26d812ae00 Reset nr_released_bufs to 0 after the command buffer has been submitted.
Added a more verbose comment about nr_released_bufs in r300_context.h
2005-02-18 16:34:14 +00:00
Brian Paul
f448e632b6 XMesaGetDepthBuffer() returned wrong bytesPerValue (Karl Schultz) 2005-02-18 14:49:27 +00:00
Brian Paul
49f7430b12 s/0/NULL/ (Jeff Muizelaar) 2005-02-18 14:44:00 +00:00
Nicolai Haehnle
d73b929ef2 Fix: RADEON_DEBUG is a bitfield, so use & to check for flags, not == 2005-02-18 11:27:24 +00:00
Nicolai Haehnle
6f37e76272 Fixing *lots* of warning messages, especially concerning unportable
whitespace before preprocessor commands.

Please, can you try to keep the warnings down? Try running make with
make -s sometime to see just how bad an offender the current code is.
2005-02-17 22:07:32 +00:00
Nicolai Haehnle
74477b24a8 RADEON_DEBUG is a bitfield, so use & instead of ==.
Also, put the hash in preprocessor directives at the beginning of the line
to fix error messages.
2005-02-17 21:45:20 +00:00
Aapo Tahkola
78152f85e7 Switching to start_index32_packet. 2005-02-17 18:16:46 +00:00
Aapo Tahkola
002a64cc48 magic_1 handling... 2005-02-17 18:02:28 +00:00
Ben Skeggs
ca4116bfce oops. 2005-02-17 14:34:51 +00:00
Brian Paul
0846e52d46 s/0/NULL/ (Jeff Muizelaar) 2005-02-17 14:12:50 +00:00
Brian Paul
6e2fd96627 remove extern (Jeff Muizelaar) 2005-02-17 14:11:56 +00:00
Ben Skeggs
a9eb712fc9 Make immediate code do a LOAD_VBPNTR again 2005-02-17 12:37:40 +00:00
Dave Airlie
934be3266f fix some 0->NULLs 2005-02-17 11:13:59 +00:00
Vladimir Dergachev
c8af2b5a52 Cleanup formatting a little bit. 2005-02-17 06:39:09 +00:00
Brian Paul
f321f16e83 fix non-Win32 definition of GLUTAPIENTRY, remove some cruft 2005-02-16 19:52:35 +00:00
Aapo Tahkola
41d180c899 Support for idx buffers. Leaving it on by default as it doesnt seem to cause any lock ups nor other issues. Tests with one object using elts should pass. Introducing more than one object will cause indices to mix up as far as i can see. DRM update is needed for this code to work\! 2005-02-16 19:04:32 +00:00
Rune Petersen
8eeef423e9 small cleanup, remove some warnings 2005-02-16 16:52:11 +00:00
Brian Paul
1ff8f50f2f fixed problems with parse_float() (fd.o bug 2520) 2005-02-16 15:08:29 +00:00
Brian Paul
2c28dd892c s/0/NULL/ (Jeff Muizelaar) 2005-02-16 15:02:25 +00:00
reist
5c2f3d5d3a get two textures to work 2005-02-16 10:38:57 +00:00
Ben Skeggs
d588311dbb Don't enable fog. It's broken 2005-02-16 06:24:07 +00:00
Ben Skeggs
f446027656 Share routing code between immd/vb. Fix breakage of vertex programs in vb mode. 2005-02-15 19:07:35 +00:00
Dave Airlie
233d93d47e Add missing texture formats for completeness 2005-02-15 11:20:11 +00:00
Dave Airlie
70f2be9cc6 add some missing texture formats and bits from r200 docs 2005-02-15 10:44:20 +00:00
Jerome Glisse
9e5a0b8895 Added texture format table for big endian (this is a tempory hack). 2005-02-15 10:40:34 +00:00
Dave Airlie
09298228c6 add EnableExtension so r200 enables all its extensions, add mesa memory
extension entry points
2005-02-15 08:40:24 +00:00
Roland Scheidegger
e82cb7852b remove accidentally commited printf for tiling support 2005-02-14 17:37:52 +00:00
Ian Romanick
4ea4589302 Simple test for GL_MESA_pack_invert. 2005-02-14 17:07:29 +00:00
Daniel Borca
a5f2dcb57b updated doc 2005-02-14 15:06:50 +00:00
Daniel Borca
72b2af6035 removed detritus 2005-02-14 15:05:24 +00:00
Daniel Borca
84396a72df separated DOS GLUT from GLX GLUT.
added a few FreeGLUT specific functions.
2005-02-14 15:04:52 +00:00
Aapo Tahkola
0340663eb7 Support for blend color(not tested), "proper line width/point size" clamps and fix for glxinfo problem. 2005-02-14 13:14:16 +00:00
Keith Whitwell
8352666a9d mesa-fix-one-bit-signed-bitfield.patch from Jeff Muizelaar 2005-02-14 09:36:00 +00:00
Dave Airlie
8d12a6d537 fix some signed vs unsigned warnings 2005-02-14 09:27:38 +00:00
Dave Airlie
fbdd7a5e74 fix signed vs unsigned comparison warnings in tnl_dd 2005-02-14 09:25:08 +00:00
Daniel Borca
aeee36a311 killed a few warnings 2005-02-14 08:19:54 +00:00
Daniel Borca
2f99f6558c added a bunch of const in the decoder 2005-02-14 08:08:35 +00:00
Daniel Borca
b6082fd236 static const' instead of const static' 2005-02-14 08:02:50 +00:00
Daniel Borca
0a13cebaa1 ProgramCallbackMesa must match the prototype 2005-02-14 08:01:59 +00:00
Eric Anholt
baa832d311 Change another usage of __AMD64__ to the standard __amd64__, and remove
__AMD64__ from the linux configs so it won't creep back in as easily.  Fixes
hang on FreeBSD on the first lock grab.
2005-02-14 06:57:27 +00:00
Eric Anholt
1718e34352 Don't forget to -L/usr/local/lib to grab expat. 2005-02-14 06:54:50 +00:00
Michel Dänzer
d5e008b84b Typo fix. 2005-02-13 18:37:36 +00:00
Rune Petersen
3271390362 initial r400 support: r400 cards are treated as RV350 for now. 2005-02-12 21:29:51 +00:00
Michel Dänzer
37cbb521d3 MMIO endianness fixes for Radeon drivers. 2005-02-12 20:37:07 +00:00
Brian Paul
2752177ade unlock mutex upon error return (Jeff Muizelaar) 2005-02-12 18:43:38 +00:00
Felix Kuehling
f640ee2f6e Fall back properly when GL_COLOR_LOGIC_OP is enabled and != GL_COPY.
Add missing per-primitive fallback for polygon stipple.
2005-02-12 16:02:30 +00:00
Felix Kuehling
25817dc26b Offset LOD bias by about 0.3 to match software rendering more closely.
Another small tweak to subtile upload (mostly cosmetic).
2005-02-12 14:37:17 +00:00
Felix Kuehling
ed9119b72a Make glean's masked clear test pass. 2005-02-12 14:35:17 +00:00
Felix Kuehling
0872b85b1e Savage3D-based chips seem so use a constant tile stride of 2048 for
vertically incomplete tiles, but only if the color depth is
32bpp. Nobody said this was supposed to be logical!
2005-02-12 14:03:05 +00:00
Ben Skeggs
6125515cec Enabled vertex buffer mode as default. 2005-02-12 11:15:55 +00:00
Keith Whitwell
cc70176446 Turn _via_fastrender_stage back on. 2005-02-11 18:25:55 +00:00
Keith Whitwell
a0c8524924 mesa-main-0-NULL.patch from Jeff Muizelaar 2005-02-11 09:34:05 +00:00
Ben Skeggs
2d10924a14 Port of r200 VB code. VB path should be as fast as the immediate path now, tuxracer should render correctly. Immediate path was left enabled. 2005-02-11 05:59:13 +00:00
Roland Scheidegger
4837ea3020 add texture micro and macro tiling to radeon/r200 driver. This can improve performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work. 2005-02-10 22:36:06 +00:00
Roland Scheidegger
26d3159125 add the new RADEON_CUBIC_OFFSET/FACES state packets/registers to radeon (and r200) sanity code 2005-02-10 21:59:20 +00:00
Roland Scheidegger
b66251f76d (Andreas Stenglein) fix projected textures with swtcl, they need the w coordinate of the vertex (bugzilla #1648) 2005-02-10 18:28:44 +00:00
Brian Paul
d9468c9405 new comments, fix zoffset error test 2005-02-10 16:08:07 +00:00
Brian Paul
f901072afb lots of updates 2005-02-10 15:18:26 +00:00
Aapo Tahkola
1982a66838 Added kindly note about single buffer mode. 2005-02-10 12:40:41 +00:00
Aapo Tahkola
3f9bae90c3 Updating master copy of r300_reg.h and turning immediate mode back on 2005-02-10 11:02:55 +00:00
Keith Whitwell
b97e478fe9 mesa-tnl-0-to-NULL.patch from Jeff Muizelaar 2005-02-10 10:57:22 +00:00
Keith Whitwell
a9a4c5489e Catch no-op vertex buffers consisting only of vertices which will
also appear in a future buffer.
2005-02-10 10:55:30 +00:00
Aapo Tahkola
a85eb9c0a7 Removing some regs that are wrong and adding some comments to r300_reg.h . 2005-02-10 10:45:54 +00:00
Aapo Tahkola
dd951e6dde Support for PolygonMode. Not too far from working even though i almost gave up once already. 2005-02-10 08:56:35 +00:00
Vladimir Dergachev
d190734875 Fix copy'n'paste errors.
Print command buffer sizes during startup (TODO: remove 1 || when the driver is more mature).
2005-02-10 07:39:11 +00:00
Aapo Tahkola
4afa1d7abb Turns out unknown5 was border color. texwrap looks good now. 2005-02-10 05:11:31 +00:00
Aapo Tahkola
58010eb35c Adding support for selecting line width. Stipple patterns still cause lots of trouble. 2005-02-10 04:43:07 +00:00
Ian Romanick
816c0c932d Simple test for ARB_texture_env_crossbar functionality. It is difficult
to come up with good tests for this functionality that don't require
either ATI_texture_env_combine3 or NV_texture_env_combine4.
2005-02-09 22:16:38 +00:00
Brian Paul
4f1f5e336b glGet*(GL_FRAGMENT_PROGRAM_BINDING_NV) was returning the vertex program binding. 2005-02-09 18:46:16 +00:00
Brian Paul
a8d5b176b5 Added a test/clamp in the scale_internal_*() functions to prevent reading
a row of pixels beyond the input buffer's bounds.
FDO/Mesa bug #2510.
2005-02-09 16:18:39 +00:00
Aapo Tahkola
fe7aa08ad9 Enabled user-defined point size, enabled zbiases for rest of the primitives and fixed bad vertex number checks triggered by nurb. 2005-02-09 05:53:34 +00:00
Brian Paul
1f6735a6a5 initial support for GL_EXT_framebuffer_object 2005-02-09 03:51:11 +00:00
Brian Paul
f0bbbf66b8 implement the 'completeness' tests 2005-02-09 03:50:30 +00:00
Ian Romanick
d863424032 Generate GLX protocol for pixel single commands. 2005-02-09 03:11:23 +00:00
Felix Kuehling
799bc13da2 Fixed stride of incomplete tiles. 2005-02-09 00:45:16 +00:00
Keith Whitwell
4754fc653f SUBPIXEL fixes from Dieter 2005-02-08 20:52:02 +00:00
Vladimir Dergachev
85199453cc Remove #ifdef's around PolygonOffset function.
Print number of missing entry for texture format.
Add alpha-luminance format.
2005-02-08 20:27:09 +00:00
Ian Romanick
a91e0218a3 Correct a couple problems / omissions in the DTD. 2005-02-08 19:52:26 +00:00
Aapo Tahkola
5e4a7581df Typo.. 2005-02-08 19:29:05 +00:00
Aapo Tahkola
6a04cff065 Fix the bug and get zbias back into shape. There might still be some problems with initial zbias... 2005-02-08 19:26:59 +00:00
Michel Dänzer
3dec3c7a74 Call _mesa_ResizeBuffersMESA() in r200Viewport(), fixes incorrect rendering
in bzflag 2.0. (Alexander E. Patrakov)
2005-02-08 17:39:08 +00:00
Brian Paul
8e5f0e62dd clamp anisotropy against max value 2005-02-08 14:44:01 +00:00
Aapo Tahkola
46cde1715f BIG FAT NOTE: Theres a nasty bug somewhere thats causing vb color buffer clears and other things not to work. This bug can be triggered by extending struct r300_hw_state by two struct r300_state_atom's from its current size. Everything zbs and unk42B4 related is now covered with HAVE_ZBS and GA ifdefs. Who wants to fix it? Not i. :) 2005-02-08 07:05:25 +00:00
Adam Jackson
d084982240 Bug #2477: Make GLU/GLw/glut build properly even with -fvisibility=hidden. 2005-02-08 05:46:53 +00:00
Aapo Tahkola
4885a9eb20 Better fix to get tuxracer working. 2005-02-08 05:33:44 +00:00
Aapo Tahkola
1764b78ee9 fog + immediate mode = bad things 2005-02-08 04:46:39 +00:00
Aapo Tahkola
315afce941 Implemented checks that prevent r300 from locking up when bad number of verts are given. Also tweaked WARN_ONCE a bit to handle va-args. 2005-02-08 04:31:29 +00:00
Vladimir Dergachev
3f847b73f3 Let Polygon Offset be turned on and off. 2005-02-08 04:20:40 +00:00
Brian Paul
923b6fc4d9 just some comments 2005-02-08 04:08:56 +00:00
Brian Paul
1864c7d79a a bunch of assorted fixes 2005-02-08 03:46:37 +00:00
Brian Paul
386e997f45 plug in GL_EXT_framebuffer_object functions 2005-02-08 03:46:08 +00:00
Brian Paul
3d2e10564e removed GL_EXT_framebuffer_object tokens 2005-02-08 03:45:44 +00:00
Brian Paul
cf69e051ce added GL_EXT_framebuffer_object enums/funcs. Remove when glext.h is updated 2005-02-08 03:45:08 +00:00
Brian Paul
78e6e59477 Add new entrypoints for GL_EXT_framebuffer_object. 2005-02-08 03:44:24 +00:00
Ian Romanick
87440f531c Definitions for EXT_framebuffer_object. Just <include/> it in gl_API.xml
when ready.
2005-02-08 02:11:44 +00:00
Ian Romanick
6cfd4f7e55 Add the ability to include other XML files by using a
<include name="file"/> element as a sub-element of <OpenGLAPI>.
2005-02-08 02:11:14 +00:00
Brian Paul
463642c0be checkpoint latest work 2005-02-08 02:06:00 +00:00
Brian Paul
d1b1b37270 added missing prototype 2005-02-08 02:05:13 +00:00
Brian Paul
0d22b90540 indentation fix 2005-02-08 02:04:49 +00:00
Aapo Tahkola
27f75a863e To cut the long and boring story short, polygon offsets should now work. vb mode colorbuffer clears are still mysticly broken by offsets... Maybe we need to merge zbs and unk42B4 together? 2005-02-08 01:49:03 +00:00
Brian Paul
049290c584 improved warning message 2005-02-07 15:04:56 +00:00
Keith Whitwell
71699df7de argb8888 optimizations from via branch 2005-02-07 13:20:17 +00:00
Keith Whitwell
8d621b3bdd More texture enums (Andreas Stenglein) 2005-02-07 11:00:32 +00:00
Keith Whitwell
1f2b715988 GL_ARB_texture_rectangle enums (Andreas Stenglein) 2005-02-07 10:36:00 +00:00
Brian Paul
3deaa01c2b additional work on GL_EXT_framebuffer_object 2005-02-07 05:08:24 +00:00
Jerome Glisse
1e42244e82 Added PCI id (0x4152). 2005-02-06 12:37:23 +00:00
Felix Kuehling
66b48d6df6 Disable vertex DMA on SuperSavages. 2005-02-05 22:10:14 +00:00
Felix Kuehling
5bdf2bc6c7 - Fixed scissor rectangle not moving with the window (Xorg bug #1731).
- Flush buffered primitives before changing scissors.
- Require Savage DRM version 2.1.0, so that the broken single-cliprect
  code can finally rest in peace.
- Removed some more dead code.
2005-02-05 21:21:02 +00:00
Brian Paul
d9d972a944 added fbobject.c to sources 2005-02-05 20:00:15 +00:00
Brian Paul
ddc82eefca Some initial work on GL_EXT_framebuffer_object. 2005-02-05 19:56:45 +00:00
Jerome Glisse
2886579324 Added PCI id (0x4152). 2005-02-05 19:52:26 +00:00
Brian Paul
bb7d5f8837 Remove the Shared->TexObjectList pointer and Next field from gl_texture_object.
Was only used by two drivers to walk over all texture objects.  Can do that
via the hash table instead.
Cleaned up some comments for struct gl_texture_object.
2005-02-05 18:12:59 +00:00
Brian Paul
8c3ddf4270 add a few comments 2005-02-05 18:11:05 +00:00
Jerome Glisse
f955218bf1 Modified hw state for big endian computers. 2005-02-05 18:01:21 +00:00
Brian Paul
7aafcc86c7 remove dependency on Shared->TexObjectList 2005-02-05 17:43:33 +00:00
Brian Paul
ce657cf752 remove unneeded code 2005-02-05 17:38:13 +00:00
Brian Paul
cf899d400d removed need for Shared->TexObjectList, walk over texture hash table entries instead 2005-02-05 17:37:00 +00:00
Felix Kuehling
557dce9bc2 Fixed a typo in an assertion. (Don't understand how this ever compiled.)
Found by Andreas Stenglein.
2005-02-05 13:17:34 +00:00
Vladimir Dergachev
b64d4a27cb Warn of unknown texture formats. 2005-02-05 03:13:34 +00:00
Ian Romanick
a02b83115a Fix some mixed spaces / tabs issues in generated code. Commit generated
files that have been trivially changed by other recent commits.
2005-02-05 00:59:57 +00:00
Ian Romanick
0a755ade51 Enable client-side GLX support for texture compression extensions. 2005-02-04 19:29:30 +00:00
Felix Kuehling
19064f818a Added an option texture_heaps that allows selecting which texture heaps
will be used. Implemented this option in the Savage driver. On my
ProSavageDDR uploads to AGP memory are about 1.5 times as fast as
uploads to card memory. On non-IGP hardware the difference may be even
bigger. Now mplayer -gl is getting really usable.
2005-02-04 00:25:41 +00:00
Felix Kuehling
cbff5db516 Made subtile upload a template. This speeds up tiled texture uploads by
about a factor 1.3.
2005-02-04 00:17:21 +00:00
Felix Kuehling
64b85b4563 Use all texture heaps in a fair way when textures need to be kicked in
order to make room for new textures. In particular this fixes texture
trashing on the first heap when the second heap is occupied by
currently unused textures (observed with Torcs and the Savage driver).

Heaps are weighted by their sizes by default but drivers can override
these and apply their own weights based on relative texture upload
speeds to the respective heaps.
2005-02-03 21:40:21 +00:00
Aapo Tahkola
9ea600ff3f Removing some trash and disabling fog fallback as it seem its causing more harm than good. Tuxracer should now work at least with vbs. Fix for vb colorbuffer clear bug is underway... 2005-02-03 19:51:57 +00:00
Aapo Tahkola
fe58074dea Changing vb code to handle inputs correctly. 2005-02-03 19:43:27 +00:00
Vladimir Dergachev
c326f9ffae Start beginning of pixel shader generator.. 2005-02-03 17:48:32 +00:00
Vladimir Dergachev
54b03eefda Forgot to increase the length. 2005-02-03 16:05:21 +00:00
Vladimir Dergachev
d26e464b6a Looks like we need at least one instruction for pixel shader. 2005-02-03 16:01:46 +00:00
Vladimir Dergachev
4c56261075 Get vertex programs supplied by the user work properly with immediate mode - vertex buffer mode worked by accident.
Fix alu_offset in SINGLE_TEXTURE_PIPELINE.
2005-02-03 15:44:06 +00:00
Vladimir Dergachev
19b260119a Since high bits can be used for flags, mask them out.
This stops arbvpwarpmesh from segfaulting and it actually works - with immediate mode rendering.
2005-02-03 06:33:44 +00:00
Vladimir Dergachev
3f0926b612 Remove redundant instructions from fixed pipelines, looks like they do not do anything, at least on my hardware. 2005-02-03 04:16:59 +00:00
Vladimir Dergachev
cb085044c9 Mark ZBIAS definitions. 2005-02-03 03:48:22 +00:00
Vladimir Dergachev
f350617c24 This was too optimistic sorry - all that register does is something weird with polygon culling. 2005-02-03 03:47:12 +00:00
Vladimir Dergachev
f46de6f23b Get Polygon offset fill to work.
Make WARN_ONCE message more informative.
2005-02-03 03:43:01 +00:00
Ian Romanick
94a20cbadf Added a bunch of extensions that were previously supported but weren't
in the gl_API.xml database.  Add "official" support for SGI_color_matrix
and SGI_texture_color_table.  These were previously supported only by
way of ARB_imaging.
2005-02-03 00:38:40 +00:00
Felix Kuehling
eba5b610b9 Check for heap == NULL before driSetTextureSwapCounterLocation. 2005-02-02 15:57:25 +00:00
Felix Kuehling
2eb9e67a5a Don't try to kick textures from a NULL tex heap. 2005-02-02 15:52:29 +00:00
Felix Kuehling
8b21166c14 Fixed flushing of client-side vertex buffers. 2005-02-02 14:43:03 +00:00
Felix Kuehling
1a141b9161 Fixed some debug output that was unconditionally enabled. 2005-02-02 14:42:00 +00:00
Brian Paul
6286dda286 clamp viewport against ctx->Const.MaxViewportWidth/Height instead of MAX_WIDTH/HEIGHT 2005-02-02 14:12:59 +00:00
Aapo Tahkola
1a1c49f8a6 Changed parts of r300_setup_routing to use WARN_ONCE. 2005-02-02 13:29:11 +00:00
Ian Romanick
3fec8c24ec Small refactor. Add glXFunctionIterator, which derrives from
glFunctionIterator and is used by GlxProto.  The difference between the two
iterator classes is that glXFunctionIterator skips functions that the GLX
protocol code does not care about.

Replace all the remaining occurances of glParameter::p_count_parameters and
glFunction::count_parameters with the count_parameter_list.

Add GlxProto::size_call to generate the C code to calculate 'compsize'.

These trivially modify the generated code.
2005-02-02 00:54:45 +00:00
Aapo Tahkola
6b158a7d23 Add a missing break and a reminder. 2005-02-01 23:12:36 +00:00
Aapo Tahkola
b5c90ca7d9 Implement appropriate src checks for attribs/params. 2005-02-01 22:45:11 +00:00
Aapo Tahkola
b5128c6e82 Implemented bunch of ops. 2005-02-01 19:56:52 +00:00
Aapo Tahkola
7bccfa1026 Vertex programs work now with some restrictions. I expect arbvptorus to work
correctly when normals are delivered. Please note that some programs only
start in vb mode as there is something wrong in immediate mode vb code.
2005-02-01 16:56:52 +00:00
Vladimir Dergachev
5dd4030e76 Make WARN_ONCE messages more informative. 2005-02-01 15:51:54 +00:00
Vladimir Dergachev
6d419feec7 Reduce noiseness of the driver. 2005-02-01 15:46:23 +00:00
Vladimir Dergachev
88e155e353 Get alpha in textures to work properly. 2005-02-01 15:27:36 +00:00
Vladimir Dergachev
d4697b0997 Properly set ABLEND and CBLEND registers. The older code worked, but by accident. 2005-02-01 06:55:58 +00:00
Vladimir Dergachev
4a3c6095fc Looks like we can define FIRE_VERTICES correctly. 2005-02-01 05:59:00 +00:00
Vladimir Dergachev
0ab7fb56f5 It helps to print actual values instead of random ones. 2005-02-01 05:58:27 +00:00
Ian Romanick
c2803587b6 Small refactor. Move several utility functions from glX_XML.py to
FilterGLAPISpecBase (in gl_XML.py).  When these functions are used to emit
common #define lines, the will automatically be undefined in
FilterGLAPISpecBase::printFooter if header_tag is set (i.e., the file is a
header file).

These changes do not modify the generated code.
2005-02-01 00:28:47 +00:00
Ian Romanick
ba09c19ed6 Add GlxProto::createEnumFunction and add a 'context' parameter to the
glXEnumFunction constructor.  The allows sub-classes of GlxProto to
over-ride the concrete class used for glXEnumFunction.

In addition to tracking p_count_parameters in glParameter, break the comma
separated list of parameter names into a Python list called
count_parameter_list.  It is now possible to query if a name is the name of
one of the count parameters just by comparing
param.count_parameter_list.count(n) to zero.  Eventually the remaining uses
of p_count_parameters will be replaced with uses of count_parameter_list.

Make sure that 'void *' parameters are handled correctly in
glParameter::size_string.

Add PrintGlxReqSize_h and PrintGlxReqSize_c.  These classes emit prototypes
and functions used on the server-side to determine the expected size of an
incoming GL command.
2005-02-01 00:13:04 +00:00
Adam Jackson
886280763c Bug #2428: #ifdef GLX_DIRECT_RENDERING in DRI drivers is pointless. 2005-01-31 23:40:05 +00:00
Daniel Borca
fc4cabbfa8 makefile update (readtex, showbuffer) 2005-01-31 13:23:55 +00:00
Vladimir Dergachev
e61c8a5c63 Add magic sequence to prevent ClearBuffer from locking up.
Change Polygon.OffsetFill from fallback to warn once.
Quake demo now works, modulo texture rendering issues due to absent pixel shader pipeline.
2005-01-31 06:41:55 +00:00
Vladimir Dergachev
9c1773e505 Use SecondaryColorPtr, not ColorPtr[1] (the latter is NULL).
This fixes segfault in tuxracer-demo. It locks up after this though.
2005-01-31 02:52:59 +00:00
Vladimir Dergachev
15f108335a My bad, the old code works fine if updated to newer Mesa tree. 2005-01-30 22:16:28 +00:00
Vladimir Dergachev
0cd936c01f struct ati_fragment_shader was not defined anywhere, define it to get r300_vertexprog.c to compile. 2005-01-30 22:04:40 +00:00
Brian Paul
b55117042f fix max viewport query 2005-01-30 17:18:08 +00:00
Aapo Tahkola
29d021cd31 Fix for compiler warnings. 2005-01-30 11:12:59 +00:00
Dave Airlie
3aa69b39bf add number of passes count to ati_fragment_shader 2005-01-30 06:24:30 +00:00
Felix Kuehling
5ff53cb448 * Fixed uploading of textures of certain sizes.
* When glTexSubImageND is used, track the set of changed tiles in a
  bit vector and upload only dirty tiles later. This should improve
  the performance of dynamic light maps and gl movie player plugins.
* Renamed debug item "lru" to "tex". Indicate which levels are
  uploaded completely or partially.
2005-01-29 23:26:23 +00:00
hmarson
9ff3c49ef2 Added 0x4e54 (Thinkpad r50p) as PCI_CHIP_RV350_NP 2005-01-29 20:41:31 +00:00
Aapo Tahkola
941d6b008f Beginings of program generation. This code havent been tested nor hooked up. 2005-01-29 17:57:07 +00:00
Brian Paul
3bde211549 remove stray span.y++ 2005-01-29 17:28:45 +00:00
Brian Paul
98a9ad9241 added osmesa16 stuff 2005-01-29 13:48:43 +00:00
Brian Paul
371f576731 assorted fixes 2005-01-29 13:48:27 +00:00
Brian Paul
58f4d67703 fix initial viewport size bug 2005-01-29 13:36:15 +00:00
Brian Paul
c84cde7b0b added missing glFinish() 2005-01-29 12:57:36 +00:00
Aapo Tahkola
fbb478c946 Cleaning up. 2005-01-29 07:17:27 +00:00
Ian Romanick
16c3c74018 Refactor the code to emit multiple-inclusion protection to
FilterGLAPISpecBase.  Since the size_h mode of glX_proto_size.py will be
used to generate multiple header files, add an option to specify the define
that is used for multiple-inclusion protection.

The changes to the header files in this commit are just a side-effect of the
changes to the Python scripts.
2005-01-28 19:00:54 +00:00
Michal Krol
8d27148bbd move file 2005-01-28 18:39:26 +00:00
Ian Romanick
54584df8cc Properly annotate variable-length output parameters. Make sure that the
client-side code doesn't try to calculate the size of the output
parameters.  The server will tell the client how big it is.
2005-01-28 18:20:43 +00:00
Ian Romanick
20b8d9c1b9 Fix some get / set errors with COLOR_TABLE_*. SCALE and BIAS can be
parameters to GetColorTableParameter[if]v.  FORMAT, WIDTH, and the SIZE
enums cannot be parameters to ColorTableParameter[if]v.
2005-01-28 17:58:58 +00:00
Ian Romanick
fdb0527ddc Slightly modify the meaning of the 'handcode' attribute in a 'glx' element.
The attribute can now take one of 4 states.  "false" (the default value)
means that no handcoding is required for the function.  "client" means that
the function must be handcoded on the client-side only.  "server" means that
the function must be handcoded on the server-side only.  "true" menas that
the function must be handcoded on both the client-side and the server-side.

Version 1.14 of glX_proto_send.py accidentally contained a line of this
change.
2005-01-28 17:30:25 +00:00
Ian Romanick
1fca563232 Add an option to emit extra debug code in the generated protocol functions.
The debug version of indirect.c has proven very helpful during the
development of new client-side and server-side GLX protocol code.  This is
put here instead of in the DISPATCH and DISPATCH_RETURN macros in dispatch.c
for two reasons.

1. I only want the debug information when indirect-rendering is used.

2. Functions that require a reply from the server, some of which do not have
a return value (e.g., glFlush, glFinish, glGetLightfv, etc.), do not need
the extra glFinish call.
2005-01-28 16:51:01 +00:00
Aapo Tahkola
b365d28627 Fix wrong comment. 2005-01-28 11:59:37 +00:00
Aapo Tahkola
e451a95ecc Forgot one comment... 2005-01-28 10:08:00 +00:00
Aapo Tahkola
f856b3f10f Add basic sceleton for vertex programs + some other fixes 2005-01-28 09:57:06 +00:00
Ian Romanick
6398a97aff Mark a couple more function parameters as counters. 2005-01-27 19:50:59 +00:00
Ian Romanick
82e22f50f1 Add numerous 'get'-type functions to most of the enums supported by the
server-side GLX implementation.

Correct the protocol for EXT_convolution.  Several functions were
incorrectly listed as 'sop' that should have been 'vendorpriv'.

Remove TexParameter[if]v from the list of functions associated with
TEXTURE_RESIDENT.  The state associated with this enum is read-only.

Sort the enums by value for each particular size.  This ensures that the
signature is the same no matter what the ordering is of the enums in the XML
file.  The side effect is that there are some extra changes in
indirect_size.c.
2005-01-27 19:39:16 +00:00
Aapo Tahkola
d773598224 Add vector distance operator for vertex programs. 2005-01-27 04:42:52 +00:00
Ian Romanick
5aa6dc329b The 'mode' setting of a function within an 'enum' element is now used.
Parameters to glX_proto_size.py are now used to determine whether to emit
either get-type function, set-type functions, or both.  When only get-type
functions are emitted, they can optionally alias set-type functions.  This
would be useful if, for example, the two types were in different source
files.

The real work to implement this is in SizeStubFunctionIterator class.  All
of the logic for which functions to iterate and in which order is
implemented there.
2005-01-27 01:08:48 +00:00
Ian Romanick
5b0dd89370 remove a bunch of temporary #defines, now that glext.h was updated 2005-01-26 19:19:06 +00:00
Roland Scheidegger
a205137423 (Stephane Marchesin, me) Add support for color (framebuffer) tiling to the radeon and r200 driver 2005-01-26 18:05:03 +00:00
Roland Scheidegger
7104ce0a0e new version check to allow to test for a range of ddx major versions, instead of just one major version 2005-01-26 18:02:19 +00:00
Brian Paul
914746b400 remove a bunch of temporary #defines, now that glext.h was updated 2005-01-26 14:45:38 +00:00
Roland Scheidegger
0cbc25480f replace magic number with macro constant RADEON_ZBLOCK16 2005-01-26 14:20:14 +00:00
Brian Paul
8f029f175e just comments/clean-up 2005-01-26 14:02:50 +00:00
Brian Paul
7c58a00a50 added mutex to-do comment 2005-01-26 14:01:53 +00:00
Brian Paul
d01292bc54 just fix a comment and update date 2005-01-26 14:01:28 +00:00
Daniel Borca
b07390c8fd RGB/LUMINANCE texelfetchers (float version) returned 255.0F for alpha channel, instead of 1.0F 2005-01-26 09:47:32 +00:00
Ian Romanick
38e6e09cb8 Add a glFunctionIterator class to iterate over the functions stored in a
higher-level API object.  Use this type of object to implement the
printFunctions method.  Modify other functions that iterate over the list of
functions to use this type of object.
2005-01-25 23:53:13 +00:00
Aapo Tahkola
e4d41524a2 Fixes for clamp modes. 2005-01-25 19:09:23 +00:00
Brian Paul
f106493d8b Use the _mesa_HashNextEntry() function to walk over all textures in the
hash table.
Moving toward removing the gl_texture_object's Next pointer (only used by
glide and tdfx drivers).
2005-01-25 15:16:02 +00:00
Ian Romanick
01ec76dbd5 Stupid text editor...convert wayward tabs to spaces. 2005-01-25 01:36:32 +00:00
Ian Romanick
85f0fa3761 Add a "count" attribute to "enums" elements to set the default count
used for "size" sub-elements.  In the future the "count" attribute may
be removed completely from "size" sub-elements, so gl_API.xml was also
updated.

Support was added for a (currently unused) "mode" attribute for "size"
elements.  Basically, functions are marked as either "get" or "set".  This
will be used in generating size functions for the server-side (where the
"get" functions have to know how much data to return).  It could also be
used to help generate code for src/mesa/main/get.c.
2005-01-25 01:20:11 +00:00
Ian Romanick
cb59bd44db Correctly set the name of the generating script. 2005-01-24 22:07:00 +00:00
Ian Romanick
00772ac42f Move all the code for generating "size" related functions to its own
source file.
2005-01-24 21:56:05 +00:00
Ian Romanick
ad15f1bdea Correct some of the dependencies and clean things up a bit. 2005-01-24 21:43:29 +00:00
Ian Romanick
5ff2b94630 Remove glEnum::startElement, but refactor out some of the common code from
there and glXEnum::startElement to glEnum::process_attributes.
2005-01-24 21:29:13 +00:00
Ian Romanick
0246b2a5c0 Since only one of the places that used glXFunction::command_payload_length
actually used both values, it was refactored into command_fixed_length and
command_variable_length.  glXFunction::offset_of_first_parameter was also
added.
2005-01-24 20:59:32 +00:00
Ian Romanick
7f958e9e11 Make sure that functions added to gl_API.xml that do not have any GLX
section are marked as ignored.  Also ignore any functions that don't have
assigned dispatch offsets.

Fold Adam Jackson's changes to indirect_size.c into the generator scripts so
that they don't get lost.  "DO NOT EDIT" really means "DO NOT EDIT". ;)
2005-01-24 20:08:28 +00:00
Aapo Tahkola
f9f2db5132 border_color causes lockups with vertex buffers. Disabling for now. 2005-01-24 19:26:20 +00:00
Vladimir Dergachev
d7d54423a8 Remove lots of old code that dealed with "magic" texture formats. 2005-01-24 17:09:17 +00:00
Brian Paul
5c6b391900 reenable some assertions 2005-01-24 15:41:08 +00:00
Felix Kuehling
428a5e82fc Converted the Savage texture management to use Ian's common texmem code. 2005-01-24 01:15:12 +00:00
Brian Paul
c74ffb8266 Added _mesa_HashNextEntry() function to allow walking over all entries
in a hash table.
Added _mesa_test_hash_functions() for unit testing.
Updated comments, etc.
2005-01-24 00:20:23 +00:00
Dave Airlie
72e3664996 reapply Keiths workaround for zbs emit that got dropped during
state change patches....
2005-01-23 22:09:30 +00:00
Nicolai Haehnle
0b5a5a9efb Remove unused variables from r300_context 2005-01-23 17:35:05 +00:00
Nicolai Haehnle
4ced594aa8 Fix more warnings and compilation issues. 2005-01-23 17:28:04 +00:00
Nicolai Haehnle
cb77dcf0b9 Synchronize r300_reg.h.
Fix unportable whitespace before preprocessor commands.
2005-01-23 17:05:32 +00:00
Dave Airlie
150ed2e43d add sync debugging to the radeon driver 2005-01-23 06:27:08 +00:00
Adam Jackson
999534216d HAVE_ALIAS was never defined anywhere, add some logic to turn it on
automagically.
2005-01-23 03:54:38 +00:00
Adam Jackson
e82d5f2be9 silence makedepend warnings about non-portable whitespace 2005-01-23 02:12:23 +00:00
Felix Kuehling
8736c228cb Fixed initialization of draw destination to front buffer on single
buffered visuals. Also don't change span draw/read buffers in
savageDDDrawBuffer. Now glean's polygon offset test works (and PASSes
with fixed point depth buffer) with single buffered visuals without
winding up in an infinite loop.
2005-01-23 01:46:14 +00:00
Felix Kuehling
3b50f00433 My last attempt to fix polygon offsets with the reversed viewport depth
range used by the savage driver by negating ctx->MRD broke polygon
offsets with software fallbacks. This one adds a REVERSE_DEPTH parameter
to t_dd_tritmp.h (defaults to 0) that allows reversing polygon offsets
for hardware rendering but not for software fallbacks. For software
fallbacks depth values are reversed after polygon offsets have been
applied by the depth span functions.
2005-01-23 01:42:01 +00:00
Keith Whitwell
36a35c5614 Determine ahead of time whether a display list will include vertices
which have to be processed in the 'loopback' path.  If so, send
all vertices that way as the transition from playback->loopback has
several problems.
2005-01-22 14:38:00 +00:00
Vladimir Dergachev
8fca9bdc35 Properly configure routing - based on advice by Keith Whitwell. 2005-01-22 03:33:10 +00:00
Felix Kuehling
f4cafc8d13 Fixed polygon offset with reversed viewport depth range. 2005-01-22 00:52:31 +00:00
Vladimir Dergachev
4ac53aed6c Properly input stencil info contributed by Wladimir. 2005-01-21 21:30:55 +00:00
Brian Paul
1060211918 fix glGetString funniness 2005-01-21 16:35:56 +00:00
Michal Krol
308fbb7b64 add getstring.c; remove arb*.h nv*.h stuff 2005-01-21 15:55:13 +00:00
Michal Krol
8346c5ee1d add slang/traverse_wrap.h 2005-01-21 15:52:17 +00:00
Michal Krol
b39665950e Handy TIntermTraverser class wrapper 2005-01-21 15:51:28 +00:00
Alan Hourihane
e51b0b1d30 silence the 'using AGP/PCI' string unless VIA_DEBUG is used. 2005-01-21 09:50:48 +00:00
Felix Kuehling
fa15f6c840 Small cleanup:
* Remove some unused (mostly empty) functions
* Added context parameter to WAIT_IDLE_EMPTY[_LOCKED] for consistency
* Added debug messages to WAIT_IDLE_EMPTY[_LOCKED]
* Don't flush empty command buffers
2005-01-21 01:39:09 +00:00
Felix Kuehling
677d1d07c4 * Added options for disabling the fast path (render stage) and vertex DMA
* Fixed disabling of the render stage
* Added debug output for per-primitive fallbacks
* Bumped driver date
2005-01-20 15:18:10 +00:00
Brian Paul
14dee36fa7 glext.h version 26 2005-01-20 15:07:42 +00:00
Felix Kuehling
edb9a165c1 Added support for ELTS to the _savage_render_stage. Requires at least
Savage DRM version 2.2.0. Otherwise the render stage is disabled.
2005-01-20 13:59:49 +00:00
Alan Hourihane
ddfa61ee19 Enclose passed macro values in brackets to ensure correct read/write span
values.
2005-01-20 13:24:08 +00:00
Brian Paul
cb3bc2c49a document new glDeleteTextures/Buffers/Programs behaviour 2005-01-20 04:03:37 +00:00
Brian Paul
ea2943efd9 Update glDeletePrograms/Buffers() so that the ID is freed immediately, like
texture objects.
2005-01-20 04:02:02 +00:00
Brian Paul
36da0459e4 Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
Brian Paul
10378919d7 Removed gl_texture_object's DeletePending. Changed a comment. 2005-01-19 21:41:24 +00:00
Brian Paul
31fb7648fc added texobjshare.c 2005-01-19 14:52:13 +00:00
Brian Paul
4f6d9aaa9a test program for texture sharing, deleting, etc 2005-01-19 14:51:41 +00:00
Brian Paul
42fee73aad Change behaviour of glDeleteTextures as discussed on ARB list.
glDeleteTexture makes the texture ID immediately free for re-use
while the actual texture object lingers until its reference count goes
to zero (when no longer bound by any rendering context).
2005-01-19 14:50:52 +00:00
Brian Paul
140f99f81c make sure the new instruction Data pointer is set to NULL 2005-01-19 14:45:23 +00:00
Brian Paul
7948bc02ed fix a typo 2005-01-19 14:44:55 +00:00
Brian Paul
4ef0e046ec minor formatting fix 2005-01-19 14:44:41 +00:00
Keith Whitwell
2aa34ea984 Bring the texcombine fixes to the trunk. 2005-01-19 12:09:33 +00:00
Keith Whitwell
bdb5725bab Always use ARGB8888 hardware texture format when mesa specifies
MESA_FORMAT_ARGB8888.  Previously attempted to use ARGB0888 under some
circumstances, but glean failed and demos/texenv.c was also incorrect.
2005-01-19 12:06:17 +00:00
Keith Whitwell
6931087958 Remove depend on make clean 2005-01-19 11:39:23 +00:00
Keith Whitwell
520e56f232 Depend tweaks 2005-01-19 11:10:27 +00:00
Daniel Borca
c98323bd89 make sure we avoid assertion failure wrt VB->ColorPtr[1]->stride 2005-01-19 07:57:52 +00:00
Daniel Borca
9ebce91a66 glVertex* is the provoking "cmd" (that is, by the time of glVertex*, we must have all other attributes already set).
i am committing this before i forget.  however, i'm still leaving my code disabled, because the old code seems legal.
2005-01-19 07:52:49 +00:00
Daniel Borca
59c2e16e75 There is no point trying to detect SSE at all, when MESA_NO_SSE is defined. I am committing this because the current WIN32 SSE detection code crashes UnrealTournament2003. 2005-01-19 07:43:13 +00:00
Brian Paul
c47d19a1a2 minor reorg of shader files, disable building for now 2005-01-18 22:58:13 +00:00
Alan Hourihane
41db4e1be5 remove some debug 2005-01-18 21:57:48 +00:00
Alan Hourihane
95be63771a Fix tristrips (which fixes coloredTexPerf2 & coloredLitPerf2 glean tests) 2005-01-18 15:06:01 +00:00
Michal Krol
4cfd97e3a8 remove #ifndef linux, it isnt defined on Linux, where should I define it? 2005-01-18 14:21:50 +00:00
Michal Krol
c57a312978 comment out _THROW calls, dont want to compile under Linux 2005-01-18 14:19:46 +00:00
Michal Krol
fa32c92ea5 add shader/slang/slang_mesa.cpp 2005-01-18 14:17:37 +00:00
Michal Krol
a885c7a6e0 change .cc suffix to .cpp 2005-01-18 14:16:51 +00:00
Michal Krol
619f006bba add slang preprocessor C sources; add slang include directories 2005-01-18 14:02:52 +00:00
Michal Krol
955190fbad fix // comments 2005-01-18 13:58:56 +00:00
Michal Krol
092af29ea1 fix MAX_VERTEX_ATTRIBS_ARB query 2005-01-18 12:04:53 +00:00
Keith Whitwell
af72b4dd8e Fix calculation of last_count in _tnl_wrap_buffers() 2005-01-18 08:41:55 +00:00
Brian Paul
7443c2caa6 added rule for compiling C++ sources 2005-01-17 22:33:50 +00:00
Michal Krol
db99b8b29d add slang/ directory tree 2005-01-17 16:25:08 +00:00
Brian Paul
ea28a5b5b3 use FABSF(fogCoord) to fix fog calculation problem (Soju Matsumoto) 2005-01-17 16:16:35 +00:00
Brian Paul
730fabd67a fix some weirdness accidentally checked in in the past 2005-01-17 16:14:46 +00:00
Michal Krol
7d079fd780 2005-oct-19 3dlabs slang compiler, tweaked a little bit 2005-01-17 16:01:49 +00:00
Michal Krol
cc9ab78158 slang to mesa compatibility, tested only under Windows 2005-01-17 15:52:20 +00:00
Michal Krol
434f622ede add 3dlabs_shhandle interface 2005-01-17 15:47:57 +00:00
Michal Krol
0a7ea2b0c3 add [.slang] to INCDIR, fix comma in OBJECTS 2005-01-17 15:35:46 +00:00
Michal Krol
389e292a1b add src/mesa/shader/slang to INCLUDE_DIRS 2005-01-17 15:32:25 +00:00
Daniel Borca
ff39c65dee cleaned up warnings 2005-01-17 08:05:47 +00:00
Daniel Borca
714c36c120 allow more internalFormat/format combinations (i hope i got it right) 2005-01-17 08:04:39 +00:00
Daniel Borca
d98c47300a fix compilation error for fx/Mesa 2005-01-17 08:02:42 +00:00
Daniel Borca
6a432a7c50 since we've already messed up this one, let we do it further and make it look like a fire... 2005-01-17 07:48:53 +00:00
Daniel Borca
a6ddd2494a remove trailing slash from TOP definition 2005-01-17 07:47:41 +00:00
Brian Paul
0a360cfab5 silence warning 2005-01-17 01:21:03 +00:00
Brian Paul
848ff85157 clean up gl2 structs 2005-01-17 01:07:00 +00:00
Brian Paul
fc3028d2c7 silence a bunch of warnings 2005-01-17 01:02:40 +00:00
Brian Paul
6c58ddae17 fix a few warnings 2005-01-17 00:40:29 +00:00
Brian Paul
b4199a1f71 added getstring.c 2005-01-16 19:42:46 +00:00
Brian Paul
5255044c00 added a few OpenGL 2.0 tokens (temporary) 2005-01-16 19:40:15 +00:00
Brian Paul
169a723d2b _mesa_GetInteger/Float/Boolean/Doublev() are now generated with the new
get_gen.py Python script.
Moved GetString(), GetPointer(), GetError() into new getstring.c file.
2005-01-16 19:39:10 +00:00
Brian Paul
c07ec046b7 make tnl_clipspace_attr->insert field const, to silence warning 2005-01-16 17:59:50 +00:00
Aapo Tahkola
14aea4a485 This fixes it but why mipmaps still work?
It doesnt look like filter constants in r300_reg.h would define number of
levels.
2005-01-16 17:07:24 +00:00
Aapo Tahkola
781d512a0b I was wrong... 2005-01-16 16:12:05 +00:00
Aapo Tahkola
82d1421736 Looks like masking masking t->filter isnt needed anymore.
texwrap still shows some problems with clamp mode with nearest filtering.
2005-01-16 13:28:49 +00:00
Felix Kuehling
ad360a81bd Added a fast path for emitting unclipped primitives directly to a
vertex buffer. ELTS are not supported yet (missing functionality in
the DRM). You need at least Savage DRM version 2.1.3, which fixes a
bug that screwed up triangle fans and strips.

Moved the texture normalization stage to savagerender.c.
2005-01-16 01:28:26 +00:00
Vladimir Dergachev
ca710a0a7f On the way to getting stencil working. 2005-01-15 20:44:23 +00:00
Vladimir Dergachev
76de160b64 On the way to getting stencil and texture formats working.
Looks like the matter of texture formats is a lot simpler, with the wrong
display in quake explained by the fact that we are not handling texture combine modes.
2005-01-15 19:33:19 +00:00
Felix Kuehling
b5f49e6f91 Converted to use spantmp2.h. 2005-01-15 14:37:33 +00:00
Felix Kuehling
c478a09a5b Use HW_READ_LOCK and HW_READ_UNLOCK in assembler-optimized span read
functions.
2005-01-15 14:35:35 +00:00
Vladimir Dergachev
dbb3ec35a7 Use symbolic constants to describe pixel shader ALU instructions. 2005-01-15 04:17:27 +00:00
Aapo Tahkola
ffe7496ac3 Added fixes for filter modes and support for anisotropy filters.
Wrap modes would work perfectly but i messed up something when cleaning up
the code :/ Border color code is incomplete because i forgot to check how to
set border size :)
2005-01-14 21:53:00 +00:00
Alan Hourihane
afa05e68b8 Enable line stippling. 2005-01-14 16:56:52 +00:00
Keith Whitwell
4ccee80190 Fix previously un-noticed issue with flat-shaded points. 2005-01-14 15:03:00 +00:00
Alan Hourihane
faf96a157d silence a warning 2005-01-14 13:11:34 +00:00
Alan Hourihane
42cfcce8d4 Get PolygonStipple working.. (or seemingly too). It seems to do the right
things now given the demos I've used and passes glean's paths test.
2005-01-14 13:10:50 +00:00
Alan Hourihane
38595eda39 16bpp doesn't support masked clears, so fallback when they're enabled. 2005-01-14 13:02:53 +00:00
Keith Whitwell
96d375c682 Populate WriteMonoDepthSpan in 24/8 modes. 2005-01-14 13:01:21 +00:00
Daniel Borca
404273ad09 changed coding style. made `glutTimerFunc' less accurate, but far more reliable. 2005-01-14 08:50:08 +00:00
Daniel Borca
0c68589673 changed coding style. added possibility to use default timer instead of PC/HW timer. 2005-01-14 08:44:29 +00:00
Daniel Borca
aa7a27b38e changed coding style. added a NULL pointer check. 2005-01-14 08:40:43 +00:00
Daniel Borca
7da875d55f changed coding style 2005-01-14 08:37:20 +00:00
Daniel Borca
f4bff83c32 doc update 2005-01-14 08:31:50 +00:00
Vladimir Dergachev
52f5ff525b Remove redundant register.
Hook up some functions in r300Enable().
2005-01-14 06:39:14 +00:00
Vladimir Dergachev
517ac1bf25 Reduce amount of stderr output.
Switch to using R300_EASY_TX_FORMAT() macro everywhere.
2005-01-14 05:26:17 +00:00
Vladimir Dergachev
2821b05a0f Incorporate latest data from Wladimir van der Laan. 2005-01-14 04:21:55 +00:00
Vladimir Dergachev
d2001bd88f Sync with master copy. 2005-01-13 23:13:52 +00:00
Dave Airlie
f11d6d4cb4 add -DUSE_EXTERNAL_DXTN_LIB=1 so compressed textures are enabled for solo 2005-01-13 22:38:21 +00:00
Alan Hourihane
288114b9db remove some dead texture code 2005-01-13 17:53:01 +00:00
Felix Kuehling
a7ab2b2e0b Make sure DMA buffers are released in savageDestroyContext. Usually
the DRM would reclaim DMA buffers, but if one process creates and
destroys many contexts it can still run out of DMA buffers.
2005-01-13 16:02:05 +00:00
Keith Whitwell
b1d322a1e7 Fix loop for quads-as-triangles. 2005-01-13 15:58:05 +00:00
Keith Whitwell
c06f8cb9e5 Rename via_fastrender_* to avoid confusion with similar functions in
via_render.c.
2005-01-13 15:49:39 +00:00
Keith Whitwell
a0371b0b3c Simplify viaChooseVertexState slightly. 2005-01-13 14:57:34 +00:00
Keith Whitwell
d9af44f358 Remove misleading comment. 2005-01-13 14:54:44 +00:00
Keith Whitwell
edd21a6f72 Typo 2005-01-13 14:52:24 +00:00
Keith Whitwell
db19ae89f2 Emit constant colors for texunit 1 blending.
Change comments and some code to match naming used in the docs.
2005-01-13 14:38:17 +00:00
Michal Krol
436f4bbd62 add s_atifragshader.c, s_atifragshader.h 2005-01-13 14:15:36 +00:00
Michal Krol
7f3e2dac7a 3dlabs glslang frontend 2005-01-13 14:14:55 +00:00
Michal Krol
302a414b34 3dlabs glslang frontend, not complete 2005-01-13 14:14:11 +00:00
Michal Krol
01d38cdf0c cosmetic changes 2005-01-13 14:13:19 +00:00
Michal Krol
6324f73b93 implement ARB_shader_objects, not complete 2005-01-13 14:12:50 +00:00
Michal Krol
8b7cc45f3d add atifragshader.c, shaderobjects.c, shaderobjects_3dlabs.c, atifragshader.h,
shaderobjects.h, shaderobjects_3dlabs.h
2005-01-13 14:12:01 +00:00
Michal Krol
b05e75bf69 add shaderobjects_3dlabs.c 2005-01-13 14:10:37 +00:00
Michal Krol
3d52858c78 add ARB_shader_objects interfaces, shared and context state 2005-01-13 14:09:58 +00:00
Michal Krol
0e85388ba8 enable ARB_fragment/vertex_shader 2005-01-13 14:09:18 +00:00
Michal Krol
9b3752c8ab init ARB_shader_objects subsystem 2005-01-13 14:08:47 +00:00
Michal Krol
8f8534f691 add shader/shaderobjects_3dlabs.c 2005-01-13 14:08:00 +00:00
Keith Whitwell
df14522540 cut out dead texture state code 2005-01-13 13:00:23 +00:00
Alan Hourihane
5bd6a5f2df revert some makecurrent code 2005-01-13 12:03:00 +00:00
Alan Hourihane
db93e6165e Fix glean scissor test 2005-01-13 10:20:16 +00:00
Vladimir Dergachev
d4330fc322 Prevent "disabling 3D acceleration" message from printing - we do not define raster functions anyway. 2005-01-13 09:08:58 +00:00
Vladimir Dergachev
d456ef48e5 Incorporate TX_FORMAT information contributed by Wladimir van der Laan.
Attempt to use it in r300_state.c
We are still missing something and the formats do not quite work.
Perhaps something in texture management code ?
2005-01-13 09:05:31 +00:00
Alan Hourihane
3ff4eca05c As we fallback for polygon stipple on the CLE266 for now, ensure we
don't turn on the polygon stipple hardware bit.
2005-01-13 00:15:28 +00:00
Alan Hourihane
cce4d5cb70 Use the faster span read/write template for 16bpp 2005-01-12 23:16:28 +00:00
Keith Whitwell
88440d2d75 Don't special-case 16bpp for colormask register - not needed. 2005-01-12 21:55:47 +00:00
Keith Whitwell
8e5281fbe1 Simplify usage of drmHash functions and fix bug in
__driGarbageCollectDrawables which would get confused while walking
the hash values.
2005-01-12 21:04:03 +00:00
Keith Whitwell
0aca086f7a free buffer in t_vertex_c.c on context delete 2005-01-12 19:38:41 +00:00
Keith Whitwell
8e46534b3b Remove bogus write to freed memory (valgrind). 2005-01-12 19:27:49 +00:00
Alan Hourihane
118b82145a Check for deletion of currently bound context
Other minor cleanups
2005-01-12 19:24:39 +00:00
Keith Whitwell
f9b89910d1 new test to exercise context and window create/delete 2005-01-12 19:11:47 +00:00
Alan Hourihane
7ea2084513 Fixes lockups initializing AGP DMA. 2005-01-12 18:32:51 +00:00
Keith Whitwell
4676a6ab7b Expand out the N(x) macro so that tags can find functions like
drmHashFirst(), etc.
2005-01-12 18:14:42 +00:00
Alan Hourihane
2937d403db build fixes and enable agp dma 2005-01-12 17:33:09 +00:00
Keith Whitwell
708e25142b Add flag to clear texture caches after texture upload. 2005-01-12 17:20:29 +00:00
Keith Whitwell
5ba7d85fea Don't emit HC_SubA_HSPXYOS on CLE266. 2005-01-12 17:20:08 +00:00
Keith Whitwell
09ac1d1125 Allow two GL primitives to be combined to one HW primitive
if possible.
2005-01-12 13:33:27 +00:00
Alan Hourihane
26dcb88fb9 Fix multitexturing.
The multiarb test works now when disabling texunit0/1.
2005-01-12 12:45:42 +00:00
Daniel Borca
a9531eb2c5 some "safer" type-punning (gcc optimizes float moves with integer moves, anyway). 2005-01-12 09:25:37 +00:00
Brian Paul
d7b837ad4a temporary prototypes for OpenGL 2.0 2005-01-12 04:06:55 +00:00
Brian Paul
2a34e66d6a OpenGL 2.0 StencilFunc/Op/MaskSeparate functions 2005-01-12 04:01:54 +00:00
Brian Paul
a9e34c68ac Some initial work for OpenGL 2.0: glStencilFunc/Op/MaskSeparate() functions. 2005-01-12 04:01:08 +00:00
Ian Romanick
591b72b6a9 Added a couple missing proxy types. 2005-01-11 23:50:01 +00:00
Aapo Tahkola
ff04e50e2e Mipmapping and other texture filters now work.
Beaware that R300_TX_MIN_FILTER_MASK might be incorrect because i havent
been able to confirm that all filters operate correctly. Because of this its
also pretty pointless trying to get other features that use filter field to
work.

Lod bias should also work but have been unable to test it because lodbias
test doesnt work.
2005-01-11 23:34:55 +00:00
Ian Romanick
d24e49f301 Put quotes around the CC and CXX variables passed to mklib. This make
them work with multi-work compiler names (e.g., "ccache gcc").
2005-01-11 22:43:45 +00:00
Alan Hourihane
5b28844dba fix a typo 2005-01-11 18:43:21 +00:00
Keith Whitwell
3bd6e3d532 Disable bogus pbuffer code (though this could be revived with a little
attention).
Correctly advertise FBConfigs with GL_BGRA rather than GL_BGR.
2005-01-11 17:12:48 +00:00
Alan Hourihane
5b5e6cc120 Fix the calculation of the alpha reference value which negates the
need for the big nasty fallback - so I've commented out that code.
2005-01-11 17:09:47 +00:00
Keith Whitwell
aac4d8857a Temporarily disable pageflipping assert. 2005-01-11 17:06:09 +00:00
Alan Hourihane
8e039bf40a uncomment 2005-01-11 16:44:18 +00:00
Alan Hourihane
f29aaf80a4 Fix ColorMask 2005-01-11 16:42:56 +00:00
Brian Paul
cdb6541634 prototype _mesa_init_ati_fragment_shader() 2005-01-11 15:56:47 +00:00
Michal Krol
43343913b9 aliasing was broken 2005-01-11 15:47:16 +00:00
Keith Whitwell
b13eaf2698 Add a big nasty fallback for AlphaTest -- seems to always be wrong
on CLE266 because Z values are written even for fragments which
fail the test.
2005-01-11 15:40:06 +00:00
Alan Hourihane
51365b2d0d fallback on polygon.stippleflag (thanks Keith) 2005-01-11 15:24:24 +00:00
Brian Paul
0275d921ac VMS updates from Jouk Jansen 2005-01-11 15:23:08 +00:00
Daniel Borca
94dd520210 applied Keith's patch for "safe" type-punning.
made IS_NEGATIVE produce a boolean (useful when xoring with other booleans).
2005-01-11 10:56:39 +00:00
Alan Hourihane
5358682aa7 Fix usage of texture units, when TEX1 is enabled, but not TEX0. 2005-01-11 09:52:10 +00:00
Vladimir Dergachev
0cb0a36d8c Get NeHe lesson08 to work. Note: it appears the filtering does not work properly. Need to find place where it is broken and put an fprintf() complaining about it. 2005-01-11 06:22:55 +00:00
Vladimir Dergachev
d5432ac584 Switch back to using immediate mode code - use of AGP space is interfering with texture management.
Ideally, r300_render is ready to be rewritten to use standard Mesa include files, but I don't think I'll get around to it.
2005-01-11 05:59:07 +00:00
Vladimir Dergachev
864137984a Move the few definitions from r300_lib.h still in use to r300_emit.h.
Rework *vb* function to not use AOS_ARRAY structure, but rather work directly with r300->state.aos.
Remove references to r300_lib.h and r300_lib.c
Remove r300_lib.[c,h].
2005-01-11 04:11:05 +00:00
Vladimir Dergachev
086ca3dffb Switch r300_state.c to use r300_fixed_pipelines.h instead of r300_lib.h.
This fixes potentially buggy memcpy()'s between potentially different structures.
2005-01-11 03:55:04 +00:00
Vladimir Dergachev
dd4837502c Copy sample pixel and vertex shaders to r300_fixed_pipelines.h 2005-01-11 03:50:04 +00:00
Brian Paul
14e98b7d7c remove a debug line 2005-01-10 23:16:49 +00:00
Brian Paul
ff53a4ee13 tweak output formattting, fixed uninitialized var error 2005-01-10 23:15:59 +00:00
Felix Kuehling
86f1439f82 Fixes to cope with the lack of AGP textures. This is all that's needed
to support PCI Savages on the Mesa side. Bumped driver date.
2005-01-10 22:49:00 +00:00
Alan Hourihane
9db66a3f9f Fallback on PolygonStipple for CLE266 hardware.
Only upload stencil configuration when a stencil buffer exists.
2005-01-10 19:44:59 +00:00
Brian Paul
eaf2b170ff Windows/ReactOS patch (Gregor Anich) 2005-01-10 16:23:21 +00:00
Keith Whitwell
574f3c7daf More changes to cope with color stride == 0 2005-01-10 14:36:25 +00:00
Keith Whitwell
a887a44b2d Fix segfault in pipes by dealing with stride == 0 case in generic_interp_extras 2005-01-10 12:30:08 +00:00
Vladimir Dergachev
8c231d2e28 Bring vertex buffer code up to date.. 2005-01-10 05:24:28 +00:00
Vladimir Dergachev
6867117b58 For some reason we need r300Flush when using textures. Perhaps the problem is
with BITBLT_MULTI call ?
2005-01-10 03:42:50 +00:00
Vladimir Dergachev
5f61c6f21f Clean up the code and make it unnecessary to issue extra calls to Setup*Shaders
in the r300_run_immediate_render function.
Bumps up glxgears fps count by about 100 points.
2005-01-10 03:22:54 +00:00
Vladimir Dergachev
8ad31013b2 Port EmitPixelShader from cmdbuf.c to SetupPixelShader in state.c. 2005-01-09 23:37:03 +00:00
Vladimir Dergachev
e9acd0ca5f Implement a more elaborate hashing scheme for texture formats. Still not perfect.
Transform EmitVertexShader in cmdbuf.c to SetupVertexShader in state.c.
The latter is only temporary and is to be rewritten to auto-generate shaders based on current GL context.
2005-01-09 22:38:53 +00:00
Brian Paul
527af7571e minor readtex fixes 2005-01-09 18:05:02 +00:00
Brian Paul
612bf1fa2e improved animation rate 2005-01-09 18:00:49 +00:00
Brian Paul
7a663b315e rotate at fixed rate, changed fire effect (Marcelo Magallon) 2005-01-09 17:52:48 +00:00
Brian Paul
a00c591511 rotate at fixed rate (Marcelo Magallon) 2005-01-09 17:50:27 +00:00
Brian Paul
a4a31c5d76 use #ifdef to test for extension 2005-01-09 17:39:36 +00:00
Brian Paul
2d84ed83c4 include readtex.h 2005-01-09 17:39:06 +00:00
Brian Paul
92eddb0fd4 better animate rate (Marcelo Magallon) 2005-01-09 17:37:50 +00:00
Brian Paul
516f9bc6e3 some new/improved rules 2005-01-09 17:26:08 +00:00
Brian Paul
575d24a5ff include readtex.h instead of readtex.c 2005-01-09 17:15:41 +00:00
Brian Paul
0fe7f406be include readtex.h instead of readtex.c (Marcello Magallon) 2005-01-09 17:06:22 +00:00
Brian Paul
b58091a336 Add #ifdefs for extension testing (Marcello Magallon) 2005-01-09 17:00:57 +00:00
Brian Paul
429efa9f00 animation rate patch (Marcello Magallon) 2005-01-09 16:52:53 +00:00
Brian Paul
1b058a06c2 rotate at a reasonable rate 2005-01-09 16:48:52 +00:00
Brian Paul
c1065ee977 compute reasonable animate rate (Marcelo Magallon) 2005-01-08 23:52:01 +00:00
Brian Paul
0261042beb fix-up rules for sphere demo, which uses readtex utility 2005-01-08 23:51:50 +00:00
Felix Kuehling
b45ce5c607 * Flush and wait in per-primitive fallback functions. Fixes flickering
stars in glplanet.
* Refactored vertex format choosing code. Improved the Savage4 version
  to choose a format suitable for DMA (size = 32bytes) whenever
  possible.
2005-01-08 23:39:19 +00:00
Felix Kuehling
e4499ed276 Added missing break; to fix infinite recursion between choose_emit_func
and emit_viewport4_bgra4_st2_st2.
2005-01-08 15:51:11 +00:00
Felix Kuehling
675b92515a Added state debugging option (SAVAGE_DEBUG=state).
Fixed: Use savageEmitChangedRegs instead of savageEmitContiguousRegs for
emitting Savage4.
2005-01-08 15:03:25 +00:00
Adam Jackson
1074eae704 Enable libGL to be built with DRI_NEW_INTERFACE_ONLY (but don't do it yet). 2005-01-08 03:54:38 +00:00
Adam Jackson
ccaa15a081 Parallel build fix. Multiword variables on the target side of a : get
expanded into individual rules for each word, so parallel builds will
start multiple instances to create the server/ symlinks and fail when they
already exist.
2005-01-08 03:16:04 +00:00
Keith Whitwell
f1481aa2d7 Add t_vb_cull.c (Bernard Blackham) 2005-01-07 18:35:28 +00:00
Keith Whitwell
f0e4f5e556 And fix the obvious bugs in higher-numbered templates. 2005-01-07 16:43:39 +00:00
Keith Whitwell
ae73b3d5ed Templatize the fastpaths. 2005-01-07 16:25:40 +00:00
Keith Whitwell
fa1362241b Add some more hardcoded fastpaths. 2005-01-07 15:54:48 +00:00
Keith Whitwell
5fff0c135d Cope with the possibility that incoming vectors may have
count < VB->Count.

Remove code to deal with the (should-be) impossible situation of null
input vectors.
2005-01-07 15:27:41 +00:00
Keith Whitwell
5911d87315 Use the 'to' vector to determine the loop count. 2005-01-07 15:26:02 +00:00
Keith Whitwell
e0be62e2c5 Remove -C flags for install which aren't universally supported. 2005-01-07 15:24:59 +00:00
Felix Kuehling
85243b8120 Fixed: ptex drawing functions were overridden with standard drawing
functions if ANY_RASTER_FLAGS|ANY_FALLBACK_FLAGS were set.
2005-01-07 10:55:13 +00:00
Keith Whitwell
b3d772bd9a Add a clean target to remove generated files. 2005-01-07 10:36:14 +00:00
Keith Whitwell
5cd24d4dc2 Add a noop install target 2005-01-07 10:35:51 +00:00
Keith Whitwell
8764441b58 Improve the semantics of the 'install' target to make sure the right
file is really being installed.  Useful if you have multiple versions
of a single driver directory hanging around and want to switch between
them for testing.
2005-01-07 10:35:23 +00:00
Keith Whitwell
000dd4afe2 Add an install target 2005-01-07 10:34:13 +00:00
Keith Whitwell
1837dda4d8 Make clean in the x86 directory.
Propogate 'install' target down to dri driver directory.
2005-01-07 10:34:00 +00:00
Ian Romanick
a11659adaf Use GNU AS label aliasing, if available. This must be enabled by adding
'-DHAVE_ALIAS' to DEFINES in the config file used for building.  On the
linux-dri-x86 build, this cuts 4KB from libGL.so.  HAVE_ALIAS is not
currently enabled in any of the configs.
2005-01-07 03:41:48 +00:00
Ian Romanick
0f34f3efb8 Script to generate rough GLX protocol documentation (as might be seen in
an extension spec).  It's not perfect, and it doesn't support certain
functions that other scripts here can (e.g., pixel functions).  However,
it is a good start and has already proven useful to me.
2005-01-07 03:23:59 +00:00
Ian Romanick
a285acbbef Track the GLX protocol names for GL types. 2005-01-07 03:22:56 +00:00
Ian Romanick
70d2f152f8 Refactor the code that converts a transpose-matrix enum to a
regular-matrix enum.
2005-01-07 02:53:04 +00:00
Ian Romanick
5f1f229f8d Pixel oriented render functions are now generated by the
glX_proto_send.py script.  This eliminates ~600 lines of non-generated
code.  With proper compiler optimization settings, it also decreases the
size of libGL.so by about 3KB.
2005-01-07 02:39:09 +00:00
Ian Romanick
3385d7cec3 The generic_*_byte functions did not rount the command size to a
multiple of 4 correctly in some cases.
2005-01-07 02:29:42 +00:00
Brian Paul
ba5ceda7e0 added GetAllFBConfigs() 2005-01-07 01:17:42 +00:00
Ian Romanick
7e3379b1a0 Revert some accidental cross-merge changes. Remove i915GetString. Migrate
a couple extensions that appeared in both device-specific card_extensions
strings to the shared one.
2005-01-07 00:48:24 +00:00
Brian Paul
71fc6a3fc9 New GetAllFBConfigs() function. Some FBConfigs weren't reported before. 2005-01-06 23:59:37 +00:00
Brian Paul
1f98ee9022 In choose_visual() we need to know if we're being called from
glXChooseVisual() or glXChooseFBConfig() so that we handle the
GLX_DOUBLEBUFFER and GLX_STEREO tokens correctly.
Added some new error checking in those functions too.
2005-01-06 21:56:16 +00:00
Aapo Tahkola
8bb717d2d5 Add radeon 9550 pci id. 2005-01-06 19:26:25 +00:00
Keith Whitwell
a61ee65910 Redraw on keypress, as apparently intended. 2005-01-06 17:12:56 +00:00
Alan Hourihane
a2db56b34b Add Intel i915GM support, and these extensions.
* GL_ARB_texture_cube_map
* GL_EXT_blend_equation_separate
* GL_ATI_blend_equation_separate
* GL_ARB_point_parameters
* GL_NV_blend_square
* GL_EXT_cull_vertex
* GL_ARB_depth_texture
* GL_SGIX_depth_texture
* GL_ARB_shadow
* GL_EXT_shadow_funcs
* GL_3DFX_texture_compression_FXT1
(Keith Whitwell, Tungsten Graphics)
2005-01-06 14:35:44 +00:00
Daniel Borca
9f149bf206 semantic in parameter names 2005-01-06 14:34:48 +00:00
Daniel Borca
d401faf877 semantic in parameter names. changed emitter function. 2005-01-06 14:09:18 +00:00
Thomas Hellström
4c1d373ce1 Small Unichrome fixes:
1. Unlock hardware before aborting and dumping DMA buffers. Otherwise display system may deadlock.
2. Fix DMA init IOCTL call that got mixed up in one of the previous commits.
3. Fix AGP command alignment
2005-01-06 13:51:37 +00:00
Daniel Borca
dd1ef7c0d7 semantic in parameter names 2005-01-06 07:46:37 +00:00
Daniel Borca
5135d37813 solved classic "char*" vs "char[]" conflict. we were mimicking a pointer variable at desired location and then we took its address. using array is more intuitive, as they give us the starting address instantly. 2005-01-06 07:45:17 +00:00
Daniel Borca
ed1fc20199 protected against elfish directives 2005-01-06 07:40:33 +00:00
Daniel Borca
9b7367154b semantic in parameter names 2005-01-06 07:38:28 +00:00
Daniel Borca
994d5cc5f4 removed detritus 2005-01-06 07:37:32 +00:00
Daniel Borca
7047cb08eb added "default" branch in `convertPalette' 2005-01-06 07:36:56 +00:00
Daniel Borca
50122c9d2d fix dstRGB factor 2005-01-06 07:35:46 +00:00
Vladimir Dergachev
e09c843c13 Turns out the kfountain.kss (as well as lesson19) had a bug - the size was set wrong. Fixed. 2005-01-06 04:39:51 +00:00
Vladimir Dergachev
91538b4432 Add texture format to get lesson19 working again. 2005-01-06 04:02:52 +00:00
Vladimir Dergachev
dbc125eede Switch to a more complicated scheme of choosing texture formats, as it looks
like the old one was prone to collisions (different value of format field was
required for same values of t->format going in).
Now use a hash for these purposes - this got kfiresaver.kss and lesson06 workingfrom the same code.
2005-01-06 03:56:18 +00:00
Ben Skeggs
7b51aa54be Added GL_POLYGON primitive. Single primitive between glBegin()/glEnd() now works. 2005-01-06 00:10:11 +00:00
Felix Kuehling
3e4d4aca77 * Fixed handling of scissors
* Only set scissor regs directly if drmMinor < 1
* Don't set texaddr to 0 when a texture unit is disabled. That would trigger
  the tightened texture state check in the DRM if the texaddr and texdesc
  registers were not emitted atomically.
2005-01-05 23:56:16 +00:00
Alan Hourihane
1e21673ea1 support 720x480 and 960x540 modes 2005-01-05 22:40:34 +00:00
Alan Hourihane
ee2761f2f3 Only try to free the front buffer when it's a pbuffer. 2005-01-05 21:49:52 +00:00
Keith Whitwell
699fc6baf9 Make the format of the fastpaths cleaner at the expense of a little
performance.

Add fastpaths for some more common vertex formats.
2005-01-05 20:56:05 +00:00
Alan Hourihane
609e54820c fix build problem 2005-01-05 20:13:04 +00:00
Keith Whitwell
99fc261c47 Improve some quad paths, gives gears a little boost. 2005-01-05 18:14:38 +00:00
Keith Whitwell
dd9666bc1d Give attributes with zero-stride a count of 1 to make it easier
to avoid transforming the same attribute multiple times.

Don't light a single normal multiple times in light_fast_rgba*
2005-01-05 18:06:05 +00:00
Keith Whitwell
30f6486276 make alloc-dma functions inline, rearrange some debug 2005-01-05 13:51:38 +00:00
Keith Whitwell
830e046972 Avoid a segfault in multiarb.c 2005-01-05 13:51:03 +00:00
Alan Hourihane
e3fe80a60f Bring VIA driver up-to-date with regard to drm_*_t changes and remove
the xf86drmVIA.[ch] files.

Bring in the IRQ handler and Ring buffer code, but ring buffer is disabled
as it is with the Xserver. It certainly locks up the CLE266.
2005-01-05 13:45:09 +00:00
Keith Whitwell
9a8a9fb01f Add a couple of hardwired fastpaths to t_vertex.c. 2005-01-05 12:58:14 +00:00
Keith Whitwell
d5b1605449 If there is only one normal, don't transform it multiple times. 2005-01-05 11:10:05 +00:00
Vladimir Dergachev
380ba2daec Reduce the amount of debug output, while still printing important messages.
Make guessing texture formats easier.
2005-01-05 04:56:23 +00:00
Vladimir Dergachev
e99f390ff6 Play a little bit with texture formats.
Get NeHe demos 06, 07 and 19 working.
2005-01-05 00:18:46 +00:00
Vladimir Dergachev
065f725672 Sync with master copy. 2005-01-04 22:52:53 +00:00
Vladimir Dergachev
6b185aaedf Port code from r200 that implements color blending. Seems to work.
This can be tested with lesson19 from NeHe.
This has also shown that the alpha code does not work - we pick up a red tint
for transparent pixels somewhere.
2005-01-04 20:25:11 +00:00
Vladimir Dergachev
55ee1daaf9 Unify rendering of textured and non-textured primitives. 2005-01-04 19:15:37 +00:00
Vladimir Dergachev
638faa92fc Major code restructuring:
* move proven code into the r300_state.c
  * update ClearBuffer to cope with more dynamic state
  * cleanup !
2005-01-04 18:59:47 +00:00
Brian Paul
85edffd5ff added GLX_NV_float_buffer 2005-01-04 14:48:14 +00:00
Brian Paul
932dee87e3 use HIDDEN macro to export fewer symbols (bug 2210) 2005-01-04 14:33:47 +00:00
Brian Paul
bdbdab837e directfb changes (Claudio Ciccani) 2005-01-04 14:19:25 +00:00
Keith Whitwell
6650264802 Add GL_EXT_fog_coord 2005-01-04 12:57:02 +00:00
Keith Whitwell
31c25f2edc Add GL_EXT_secondary_color 2005-01-04 12:56:17 +00:00
Keith Whitwell
e024cae14b Turn specular lighting state on/off appropriately. 2005-01-04 12:53:41 +00:00
Keith Whitwell
b6ab7a1bf1 Change to use the t_vertex.c mechanisms for building vertices,
including Felix's ptex code.

Re-enable some assembly for performance.
2005-01-04 12:18:05 +00:00
Brian Paul
f72e4424d9 Use the GLX 1.3 pbuffer/fbconfig functions in preference to the SGIX ones.
Added more functions to pbutil.[ch] to better isolate API differences.
2005-01-04 00:58:29 +00:00
Felix Kuehling
e3748eb19b Added support for floating point depth buffers on Savage4-based
hardware. By also reversing the depth range this can compensate the loss
of accuracy of far objects caused by the projective transformation.
Software fallbacks work but are slightly slower since floats in a custom
(non IEEE) format have to be encoded and decoded. I havn't done anything
about polygon offsets yet. There doesn't seem to be an easy way do get
it right except making the offset unit as big as the lowest resolution
of depth values. For now float depth is disabled by default but can be
enabled through driconf (though I have seen only positive effects so
far).
2005-01-03 22:24:44 +00:00
Felix Kuehling
87889aeab4 Added a boolean option for a floating-point depth buffer. 2005-01-03 22:15:41 +00:00
Ian Romanick
3276c192b7 The opcode and command length fields of RenderLarge commands were
mistakenly emitted in the wrong order.
2005-01-03 21:03:03 +00:00
Brian Paul
dd1a817c50 latest updates 2005-01-03 15:55:51 +00:00
Vladimir Dergachev
a5039af357 Add structs describing vertex and pixel shader state to r300_state.
Take apart program_pipeline() and move it into appropriate pieces within the driver.
Test the framework on run_flat_render()
2005-01-03 15:45:10 +00:00
Brian Paul
8e73b14228 bump version to 6.3, etc. 2005-01-03 15:36:27 +00:00
Brian Paul
81ca616e7e DirectFB driver (Claudio Ciccani) 2005-01-03 15:35:00 +00:00
Brian Paul
6563c16e38 updates from Jouk 2005-01-03 15:01:26 +00:00
Vladimir Dergachev
25faa2d56e Turns out I left flat primitives in vertex buffer mode. Switch them back to immediate which works correctly.. 2005-01-03 06:53:38 +00:00
Vladimir Dergachev
63473a8e76 Enable code to compute other constants that were used by R200 code.
Add fprintf to print these constants.
Correct t->size computation, so it works now.
2005-01-03 06:48:50 +00:00
Vladimir Dergachev
2fc9351ee7 Port texture allocation code from R200.
Hook it up, so lesson06 displays red colored textures.
2005-01-03 05:44:20 +00:00
Vladimir Dergachev
63fd67e561 Add texture units registers 2005-01-02 21:53:53 +00:00
Vladimir Dergachev
f50a1964d1 Cleanup !
I can not trigger any lockups now..
2005-01-02 06:16:44 +00:00
Vladimir Dergachev
d6be8dd651 I think I fixed the lockups issue. 2005-01-02 05:57:15 +00:00
Vladimir Dergachev
9a04b25c60 Get textures to work with NeHe lesson06.
The code is still disabled since we are displaying random image data instead of actual texture and because I had to put a sleep(1) in lesson06 drawing loop to prevent lockups.
2005-01-02 04:46:25 +00:00
Adam Jackson
3c80f5c56b linux-dri-x86 build fix from Andreas Stenglein. 2005-01-02 03:36:53 +00:00
Felix Kuehling
7a231da442 Improved the performance of software fallbacks by not waiting for idle
in every single span function. Instead flush and wait in the
SpanRenderStart hook and in wrappers around _swrast_Copy/Draw/ReadPixels.
Misc. cleanups in savagespan.c while I'm there.
2005-01-02 01:22:10 +00:00
Felix Kuehling
1067ce0cea Removed all direct hardware access (MMIO, BCI) from the Savage DRI
driver. It uses the new DRM version 2.0.x now, which has just been
committed to DRM CVS.
2005-01-01 20:40:14 +00:00
Felix Kuehling
467d64a177 Use DRM headers from $(DRM_SOURCE_PATH)/shared-core instead of .../shared. 2005-01-01 20:33:45 +00:00
Vladimir Dergachev
404d925b58 Add a convenience function to issue CP delays. 2005-01-01 18:41:43 +00:00
1462 changed files with 260982 additions and 121521 deletions

239
Makefile
View File

@@ -28,12 +28,17 @@ realclean:
-rm -f `find . -name \*.o`
-rm -f `find . -name \*.a`
-rm -f `find . -name \*.so`
-rm -f `find . -name depend`
install:
@echo "Installing"
$(TOP)/bin/installmesa
$(TOP)/bin/installmesa $(DESTDIR)
# DirectFBGL module installation
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
# If there's no current configuration file
$(TOP)/configs/current:
@@ -57,6 +62,7 @@ darwin \
darwin-static \
freebsd \
freebsd-dri \
freebsd-dri-amd64 \
freebsd-dri-x86 \
hpux10 \
hpux10-gcc \
@@ -78,10 +84,14 @@ linux \
linux-alpha \
linux-alpha-static \
linux-debug \
linux-directfb \
linux-dri \
linux-dri-x86 \
linux-dri-x86-64 \
linux-dri-ppc \
linux-dri-xcb \
linux-indirect \
linux-fbdev \
linux-glide \
linux-icc \
linux-icc-static \
@@ -100,7 +110,9 @@ linux-ultrasparc \
linux-tcc \
linux-x86 \
linux-x86-debug \
linux-x86-32 \
linux-x86-64 \
linux-x86-64-debug \
linux-x86-64-static \
linux-x86-glide \
linux-x86-static \
@@ -122,28 +134,28 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-6.2
LIB_NAME = MesaLib-6.2
DEMO_NAME = MesaDemos-6.2
DIRECTORY = Mesa-6.5
LIB_NAME = MesaLib-6.5
DEMO_NAME = MesaDemos-6.5
GLUT_NAME = MesaGLUT-6.5
LIB_FILES = \
MAIN_FILES = \
$(DIRECTORY)/Makefile* \
$(DIRECTORY)/descrip.mms \
$(DIRECTORY)/mms-config. \
$(DIRECTORY)/Mesa.dsw \
$(DIRECTORY)/bin/mklib \
$(DIRECTORY)/bin/installmesa \
$(DIRECTORY)/configs/[a-z]* \
$(DIRECTORY)/docs/*.html \
$(DIRECTORY)/docs/COPYING \
$(DIRECTORY)/docs/INSTALL.GNU \
$(DIRECTORY)/docs/README.* \
$(DIRECTORY)/docs/RELNOTES* \
$(DIRECTORY)/docs/VERSIONS \
$(DIRECTORY)/docs/*.spec \
$(DIRECTORY)/include/GL/internal/glcore.h \
$(DIRECTORY)/include/GL/dmesa.h \
$(DIRECTORY)/include/GL/amesa.h \
$(DIRECTORY)/include/GL/dmesa.h \
$(DIRECTORY)/include/GL/directfbgl.h \
$(DIRECTORY)/include/GL/fxmesa.h \
$(DIRECTORY)/include/GL/ggimesa.h \
$(DIRECTORY)/include/GL/gl.h \
@@ -154,6 +166,7 @@ LIB_FILES = \
$(DIRECTORY)/include/GL/glx.h \
$(DIRECTORY)/include/GL/glxext.h \
$(DIRECTORY)/include/GL/glx_mangle.h \
$(DIRECTORY)/include/GL/glfbdev.h \
$(DIRECTORY)/include/GL/mesa_wgl.h \
$(DIRECTORY)/include/GL/mglmesa.h \
$(DIRECTORY)/include/GL/osmesa.h \
@@ -164,6 +177,7 @@ LIB_FILES = \
$(DIRECTORY)/include/GL/xmesa.h \
$(DIRECTORY)/include/GL/xmesa_x.h \
$(DIRECTORY)/include/GL/xmesa_xf86.h \
$(DIRECTORY)/include/GLView.h \
$(DIRECTORY)/src/Makefile \
$(DIRECTORY)/src/descrip.mms \
$(DIRECTORY)/src/mesa/Makefile* \
@@ -171,28 +185,25 @@ LIB_FILES = \
$(DIRECTORY)/src/mesa/descrip.mms \
$(DIRECTORY)/src/mesa/depend \
$(DIRECTORY)/src/mesa/main/*.[chS] \
$(DIRECTORY)/src/mesa/main/main.dsp \
$(DIRECTORY)/src/mesa/main/descrip.mms \
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
$(DIRECTORY)/src/mesa/glapi/glapi.dsp \
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
$(DIRECTORY)/src/mesa/array_cache/array_cache.dsp \
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
$(DIRECTORY)/src/mesa/math/*.[ch] \
$(DIRECTORY)/src/mesa/math/math.dsp \
$(DIRECTORY)/src/mesa/math/descrip.mms \
$(DIRECTORY)/src/mesa/shader/*.[ch] \
$(DIRECTORY)/src/mesa/shader/shader.dsp \
$(DIRECTORY)/src/mesa/shader/descrip.mms \
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/swrast.dsp \
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
$(DIRECTORY)/src/mesa/swrast_setup/swrast_setup.dsp \
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
$(DIRECTORY)/src/mesa/tnl/tnl.dsp \
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
@@ -201,11 +212,11 @@ LIB_FILES = \
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/glide/*.def \
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
@@ -216,26 +227,61 @@ LIB_FILES = \
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.dsp \
$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.dsp \
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
$(DIRECTORY)/src/mesa/x86/Makefile \
$(DIRECTORY)/src/mesa/x86/*.[ch] \
$(DIRECTORY)/src/mesa/x86/*.S \
$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch] \
$(DIRECTORY)/src/mesa/x86-64/*.[chS] \
$(DIRECTORY)/src/mesa/x86-64/Makefile \
$(DIRECTORY)/progs/Makefile \
$(DIRECTORY)/progs/util/README \
$(DIRECTORY)/progs/util/*.[ch] \
$(DIRECTORY)/progs/util/sampleMakefile \
$(DIRECTORY)/vms/analyze_map.com \
$(DIRECTORY)/vms/xlib.opt \
$(DIRECTORY)/vms/xlib_share.opt \
$(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \
$(DIRECTORY)/windows/VC6/mesa/glu/*.txt \
$(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \
$(DIRECTORY)/windows/VC6/mesa/mesa.dsw \
$(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \
$(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \
$(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \
$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \
$(DIRECTORY)/windows/VC7/mesa/mesa.sln \
$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \
$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj
DRI_FILES = \
$(DIRECTORY)/include/GL/internal/dri_interface.h \
$(DIRECTORY)/include/GL/internal/sarea.h \
$(DIRECTORY)/src/glx/Makefile \
$(DIRECTORY)/src/glx/x11/Makefile \
$(DIRECTORY)/src/glx/x11/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
SGI_GLU_FILES = \
$(DIRECTORY)/src/glu/Makefile \
$(DIRECTORY)/src/glu/descrip.mms \
$(DIRECTORY)/src/glu/sgi/Makefile \
$(DIRECTORY)/src/glu/sgi/Makefile.win \
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
$(DIRECTORY)/src/glu/sgi/cc*.txt \
$(DIRECTORY)/src/glu/sgi/glu.def \
$(DIRECTORY)/src/glu/sgi/glu.dsp \
$(DIRECTORY)/src/glu/sgi/dummy.cc \
$(DIRECTORY)/src/glu/sgi/descrip.mms \
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
@@ -249,45 +295,24 @@ LIB_FILES = \
$(DIRECTORY)/src/glu/sgi/libtess/README \
$(DIRECTORY)/src/glu/sgi/libtess/alg-outline \
$(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch] \
$(DIRECTORY)/src/glu/mesa/README[12] \
$(DIRECTORY)/src/glu/mesa/Makefile* \
$(DIRECTORY)/src/glu/mesa/descrip.mms \
$(DIRECTORY)/src/glu/mesa/mms_depend \
$(DIRECTORY)/src/glu/mesa/*.def \
$(DIRECTORY)/src/glu/mesa/depend \
$(DIRECTORY)/src/glu/mesa/*.[ch] \
$(DIRECTORY)/src/glw/*.[ch] \
$(DIRECTORY)/src/glw/Makefile* \
$(DIRECTORY)/src/glw/README \
$(DIRECTORY)/src/glw/depend \
$(DIRECTORY)/progs/Makefile \
$(DIRECTORY)/progs/util/README \
$(DIRECTORY)/progs/util/*.[ch] \
$(DIRECTORY)/progs/util/sampleMakefile \
$(DIRECTORY)/vms/analyze_map.com \
$(DIRECTORY)/vms/xlib.opt \
$(DIRECTORY)/vms/xlib_share.opt
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
MESA_GLU_FILES = \
$(DIRECTORY)/src/glu/mesa/README[12] \
$(DIRECTORY)/src/glu/mesa/Makefile* \
$(DIRECTORY)/src/glu/mesa/descrip.mms \
$(DIRECTORY)/src/glu/mesa/mms_depend \
$(DIRECTORY)/src/glu/mesa/*.def \
$(DIRECTORY)/src/glu/mesa/depend \
$(DIRECTORY)/src/glu/mesa/*.[ch]
DEMO_FILES = \
$(DIRECTORY)/include/GL/glut.h \
$(DIRECTORY)/include/GL/glutf90.h \
$(DIRECTORY)/src/glut/glx/Makefile* \
$(DIRECTORY)/src/glut/glx/depend \
$(DIRECTORY)/src/glut/glx/*def \
$(DIRECTORY)/src/glut/glx/descrip.mms \
$(DIRECTORY)/src/glut/glx/mms_depend \
$(DIRECTORY)/src/glut/glx/glut.dsp \
$(DIRECTORY)/src/glut/glx/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.cpp \
$(DIRECTORY)/src/glut/beos/Makefile \
$(DIRECTORY)/src/glut/dos/*.[ch] \
$(DIRECTORY)/src/glut/dos/Makefile.DJ \
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
$(DIRECTORY)/src/glut/ggi/*.[ch] \
$(DIRECTORY)/src/glut/ggi/Makefile \
GLW_FILES = \
$(DIRECTORY)/src/glw/*.[ch] \
$(DIRECTORY)/src/glw/Makefile* \
$(DIRECTORY)/src/glw/README \
$(DIRECTORY)/src/glw/depend
DEMO_FILES = \
$(DIRECTORY)/progs/beos/*.cpp \
$(DIRECTORY)/progs/beos/Makefile \
$(DIRECTORY)/progs/images/*.rgb \
@@ -298,8 +323,8 @@ DEMO_FILES = \
$(DIRECTORY)/progs/demos/*.cxx \
$(DIRECTORY)/progs/demos/*.dat \
$(DIRECTORY)/progs/demos/README \
$(DIRECTORY)/progs/demos/Windows/*.dsp \
$(DIRECTORY)/progs/demos/Windows/*.dsw \
$(DIRECTORY)/progs/osdemos/Makefile \
$(DIRECTORY)/progs/osdemos/*.c \
$(DIRECTORY)/progs/xdemos/Makefile* \
$(DIRECTORY)/progs/xdemos/descrip.mms \
$(DIRECTORY)/progs/xdemos/*.[chf] \
@@ -312,68 +337,109 @@ DEMO_FILES = \
$(DIRECTORY)/progs/windml/Makefile.ugl \
$(DIRECTORY)/progs/windml/*.c \
$(DIRECTORY)/progs/windml/*.bmp \
$(DIRECTORY)/progs/ggi/*.c
$(DIRECTORY)/progs/ggi/*.c \
$(DIRECTORY)/windows/VC6/progs/demos/*.dsp \
$(DIRECTORY)/windows/VC6/progs/progs.dsw \
$(DIRECTORY)/windows/VC7/progs/demos/*.vcproj \
$(DIRECTORY)/windows/VC7/progs/progs.sln
GLUT_FILES = \
$(DIRECTORY)/include/GL/glut.h \
$(DIRECTORY)/include/GL/glutf90.h \
$(DIRECTORY)/src/glut/glx/Makefile* \
$(DIRECTORY)/src/glut/glx/depend \
$(DIRECTORY)/src/glut/glx/*def \
$(DIRECTORY)/src/glut/glx/descrip.mms \
$(DIRECTORY)/src/glut/glx/mms_depend \
$(DIRECTORY)/src/glut/glx/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.cpp \
$(DIRECTORY)/src/glut/beos/Makefile \
$(DIRECTORY)/src/glut/dos/*.[ch] \
$(DIRECTORY)/src/glut/dos/Makefile.DJ \
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
$(DIRECTORY)/src/glut/ggi/*.[ch] \
$(DIRECTORY)/src/glut/ggi/Makefile \
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
DEPEND_FILES = \
$(TOP)/src/mesa/depend \
$(TOP)/src/glw/depend \
$(TOP)/src/glut/glx/depend \
$(TOP)/src/glu/sgi/depend
DRI_FILES = \
$(DIRECTORY)/src/glx/Makefile \
$(DIRECTORY)/src/glx/mini/*.[ch] \
$(DIRECTORY)/src/glx/mini/example.miniglx.conf \
$(DIRECTORY)/src/glx/mini/NOTES \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h \
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/*/depend \
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
# Everything for new a Mesa release:
tarballs: lib_gz demo_gz lib_bz2 demo_bz2 lib_zip demo_zip md5
tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
rm_depend:
@for dep in $(DEPEND_FILES) ; do \
rm -f $$dep ; \
touch $$dep ; \
done
lib_gz:
rm -f configs/current ; \
cd .. ; \
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
gzip $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.gz $(DIRECTORY)
demo_gz:
cd .. ; \
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
gzip $(DEMO_NAME).tar ; \
mv $(DEMO_NAME).tar.gz $(DIRECTORY)
glut_gz:
cd .. ; \
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
gzip $(GLUT_NAME).tar ; \
mv $(GLUT_NAME).tar.gz $(DIRECTORY)
lib_bz2:
rm -f configs/current ; \
cd .. ; \
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
bzip2 $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
demo_bz2:
cd .. ; \
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
bzip2 $(DEMO_NAME).tar ; \
mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
glut_bz2:
cd .. ; \
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
bzip2 $(GLUT_NAME).tar ; \
mv $(GLUT_NAME).tar.bz2 $(DIRECTORY)
lib_zip:
rm -f configs/current ; \
-rm $(LIB_NAME).zip ; \
rm -f $(LIB_NAME).zip ; \
cd .. ; \
zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
mv $(LIB_NAME).zip $(DIRECTORY)
demo_zip:
-rm $(DEMO_NAME).zip ; \
rm -f $(DEMO_NAME).zip ; \
cd .. ; \
zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \
mv $(DEMO_NAME).zip $(DIRECTORY)
glut_zip:
rm -f $(GLUT_NAME).zip ; \
cd .. ; \
zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \
mv $(GLUT_NAME).zip $(DIRECTORY)
md5:
@-md5sum $(LIB_NAME).tar.gz
@-md5sum $(LIB_NAME).tar.bz2
@@ -381,3 +447,6 @@ md5:
@-md5sum $(DEMO_NAME).tar.gz
@-md5sum $(DEMO_NAME).tar.bz2
@-md5sum $(DEMO_NAME).zip
@-md5sum $(GLUT_NAME).tar.gz
@-md5sum $(GLUT_NAME).tar.bz2
@-md5sum $(GLUT_NAME).zip

View File

@@ -20,9 +20,9 @@
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# DOS/DJGPP makefile v1.6 for Mesa
# DOS/DJGPP makefile for Mesa
#
# Copyright (C) 2002 - Daniel Borca
# Author: Daniel Borca
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
@@ -31,11 +31,6 @@
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
# or `mesa'.
# default = mesa
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
@@ -59,12 +54,8 @@
.PHONY : all libgl libglu libglut clean realclean
CPU ?= pentium
GLU ?= mesa
CFLAGS = -Wall -W -pedantic
CFLAGS += -O2 -ffast-math -mtune=$(CPU)
CFLAGS += -O2 -ffast-math
export CFLAGS
@@ -79,7 +70,7 @@ all: libgl libglu libglut
libgl: lib
$(MAKE) -f Makefile.DJ -C src/mesa
libglu: lib
$(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
$(MAKE) -f Makefile.DJ -C src/glu/sgi
libglut: lib
$(MAKE) -f Makefile.DJ -C src/glut/dos

View File

@@ -31,8 +31,6 @@
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
@@ -57,8 +55,6 @@
.PHONY : all libgl clean realclean
CPU ?= pentium
ifeq ($(ICD),1)
# when -std=c99 mingw will not define WIN32
CFLAGS = -Wall -W -Werror
@@ -66,7 +62,7 @@ else
# I love c89
CFLAGS = -Wall -W -pedantic
endif
CFLAGS += -O2 -ffast-math -mtune=$(CPU)
CFLAGS += -O2 -ffast-math
export CFLAGS

179
Mesa.dsw
View File

@@ -1,179 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "array_cache"=".\SRC\MESA\array_cache\array_cache.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "gdi"=".\src\mesa\drivers\windows\gdi\gdi.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name array_cache
End Project Dependency
Begin Project Dependency
Project_Dep_Name main
End Project Dependency
Begin Project Dependency
Project_Dep_Name math
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast_setup
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast
End Project Dependency
Begin Project Dependency
Project_Dep_Name tnl
End Project Dependency
Begin Project Dependency
Project_Dep_Name glapi
End Project Dependency
Begin Project Dependency
Project_Dep_Name shader
End Project Dependency
}}}
###############################################################################
Project: "glapi"=".\SRC\MESA\glapi\glapi.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "glu"=".\src\glu\sgi\glu.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "main"=".\SRC\MESA\main\main.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "math"=".\SRC\MESA\math\math.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "osmesa"=".\SRC\MESA\DRIVERS\osmesa\osmesa.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "shader"=".\SRC\MESA\shader\shader.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "swrast"=".\SRC\MESA\swrast\swrast.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "swrast_setup"=".\SRC\MESA\swrast_setup\swrast_setup.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "tnl"=".\SRC\MESA\tnl\tnl.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -12,7 +12,7 @@ TOP=.
INCLUDE_DIR="/usr/local/include"
LIB_DIR="/usr/local/lib"
if [ "x$#" = "x0" ] ; then
echo
echo "***** Mesa installation - You may need root privileges to do this *****"
echo
@@ -20,7 +20,7 @@ echo "Default directory for header files is:" ${INCLUDE_DIR}
echo "Enter new directory or press <Enter> to accept this default."
read INPUT
if [ x${INPUT} != "x" ] ; then
if [ "x${INPUT}" != "x" ] ; then
INCLUDE_DIR=${INPUT}
fi
@@ -29,11 +29,10 @@ echo "Default directory for library files is:" ${LIB_DIR}
echo "Enter new directory or press <Enter> to accept this default."
read INPUT
if [ x${INPUT} != "x" ] ; then
if [ "x${INPUT}" != "x" ] ; then
LIB_DIR=${INPUT}
fi
echo
echo "About to install Mesa header files (GL/*.h) in: " ${INCLUDE_DIR}/GL
echo "and Mesa library files (libGL.*, etc) in: " ${LIB_DIR}
@@ -41,17 +40,35 @@ echo "Press <Enter> to continue, or <ctrl>-C to abort."
read INPUT
else
INCLUDE_DIR=$1/include
LIB_DIR=$1/lib
fi
# flags:
# -f = force
# -d = preserve symlinks
# -d = preserve symlinks (does not work on BSD)
if [ `uname` = "FreeBSD" ] ; then
CP_FLAGS="-f"
elif [ `uname` = "Darwin" ] ; then
CP_FLAGS="-f"
elif [ `uname` = "AIX" ] ; then
CP_FLAGS="-fh"
else
CP_FLAGS="-fd"
fi
set -v
mkdir ${INCLUDE_DIR}
mkdir ${INCLUDE_DIR}/GL
mkdir ${INCLUDE_DIR}/GLES
mkdir ${LIB_DIR}
cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL
cp -fd ${TOP}/lib*/lib* ${LIB_DIR}
cp -f ${TOP}/src/glw/*.h ${INCLUDE_DIR}/GL
# NOT YET: cp -f ${TOP}/include/GLES/*.h ${INCLUDE_DIR}/GLES
cp ${CP_FLAGS} ${TOP}/lib*/lib* ${LIB_DIR}
echo "Done."

289
bin/mklib
View File

@@ -1,38 +1,28 @@
#!/bin/sh
# Make a shared library.
# Basically do a switch/case depending on the OS and make a shared (or static)
# library conforming to that OS.
# This script should be useful for projects other than Mesa.
# Improvements/fixes are welcome.
# Usage:
# mklib [options] objects ...
# Options:
# -o LIBRARY specifies the name of resulting library
# ("-o GL" for example, might result in "libGL.so" being made)
# -major N specifies major version number (default is 1)
# -minor N specifies minor version number (default is 0)
# -patch N specifies patch version number (default is 0)
# -lLIBRARY specifies a dependency on LIBRARY
# -LDIR search in DIR for library dependencies
# -cplusplus link with C++ runtime
# -static make a static library (default is dynamic/shared)
# -install DIR move resulting library file(s) to DIR
# -arch ARCH override using `uname` to determine architecture
# -archopt OPT specify an extra achitecture-specific option OPT
# -noprefix don't prefix library name with "lib" or any suffix
# -exports FILE only export the symbols listed in FILE
# Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
#
# The library name should just be "GL" or "GLU", etc. The 'lib' prefix
# will be added here if needed, as well as the ".so" or ".a" suffix,
# etc (unless the -noprefix option is used).
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# objects should be: foo.o bar.o etc.o
#
# Environment variables recognized:
# CC C compiler command
# CXX C++ compiler command
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
@@ -43,6 +33,7 @@ MAJOR=1
MINOR=0
PATCH=""
DEPS=""
LINK=""
CPLUSPLUS=0
STATIC=0
INSTALLDIR="."
@@ -58,26 +49,93 @@ EXPORTS=""
while true
do
case $1 in
'-o') shift 1; LIBNAME=$1;;
'-major') shift 1; MAJOR=$1;;
'-minor') shift 1; MINOR=$1;;
'-patch') shift 1; PATCH=$1;;
-l*) DEPS="$DEPS $1";;
-L*) DEPS="$DEPS $1";;
'-cplusplus') CPLUSPLUS=1;;
'-static') STATIC=1;;
'-install') shift 1; INSTALLDIR=$1;;
'-arch') shift 1; ARCH=$1;;
'-archopt') shift 1; ARCHOPT=$1;;
'-noprefix') NOPREFIX=1;;
'-exports') shift 1; EXPORTS=$1;;
-*) echo "mklib: Unknown option: " $1 ; exit 1;;
*) break
'-h' | '--help')
echo 'Usage: mklib [options] objects'
echo 'Create a shared library from object files.'
echo ' -o LIBRARY specifies the name of the resulting library, without'
echo ' the leading "lib" or any suffix.'
echo ' (eg: "-o GL" might result in "libGL.so" being made)'
echo ' -major N specifies major version number (default is 1)'
echo ' -minor N specifies minor version number (default is 0)'
echo ' -patch N specifies patch version number (default is 0)'
echo ' -lLIBRARY specifies a dependency on LIBRARY'
echo ' -LDIR search in DIR for library dependencies'
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
echo ' Not observed on all systems at this time.'
echo ' -cplusplus link with C++ runtime'
echo ' -static make a static library (default is dynamic/shared)'
echo ' -install DIR put resulting library file(s) in DIR'
echo ' -arch ARCH override using `uname` to determine host system'
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
echo ' -exports FILE only export the symbols listed in FILE'
echo ' -h, --help display this information and exit'
exit 1
;;
'-o')
shift 1;
LIBNAME=$1
;;
'-major')
shift 1;
MAJOR=$1
;;
'-minor')
shift 1;
MINOR=$1
;;
'-patch')
shift 1;
PATCH=$1
;;
'-linker')
shift 1;
LINK=$1
;;
-l*)
DEPS="$DEPS $1"
;;
-L*)
DEPS="$DEPS $1"
;;
'-cplusplus')
CPLUSPLUS=1
;;
'-static')
STATIC=1
;;
'-install')
shift 1;
INSTALLDIR=$1
;;
'-arch')
shift 1;
ARCH=$1
;;
'-archopt')
shift 1;
ARCHOPT=$1
;;
'-noprefix')
NOPREFIX=1
;;
'-exports')
shift 1;
EXPORTS=$1
;;
-*)
echo "mklib: Unknown option: " $1 ;
exit 1
;;
*)
# This should be the first object file, stop parsing
break
esac
shift 1
done
OBJECTS=$@
if [ ${ARCH} = "auto" ] ; then
ARCH=`uname`
fi
@@ -120,12 +178,13 @@ case $ARCH in
'Linux' | 'OpenBSD')
# we assume gcc
# Set default compilers if env vars not set
if [ "x$CXX" = "x" ] ; then
CXX=g++
fi
if [ "x$CC" = "x" ] ; then
CC=gcc
if [ "x$LINK" = "x" ] ; then
# -linker was not specified so set default link command now
if [ $CPLUSPLUS = 1 ] ; then
LINK=g++
else
LINK=gcc
fi
fi
if [ $NOPREFIX = 1 ] ; then
@@ -133,13 +192,16 @@ case $ARCH in
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
#OPTS="-shared -Wl,-soname,${LIBNAME}" # soname???
OPTS="-shared"
if [ $CPLUSPLUS = 1 ] ; then
LINK=$CXX
else
LINK=$CC
fi
rm -f ${LIBNAME}
# Check if objects are 32-bit and we're running in 64-bit
# environment. If so, pass -m32 flag to linker.
set ${OBJECTS}
ABI32=`file $1 | grep 32-bit`
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
OPTS="-m32 ${OPTS}"
fi
rm -f ${LIBNAME}
# make lib
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
# finish up
@@ -147,10 +209,8 @@ case $ARCH in
elif [ $STATIC = 1 ] ; then
LIBNAME="lib${LIBNAME}" # prefix with "lib"
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
LINK="ar"
OPTS="-ru"
# make lib
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
rm -f ${LIBNAME}.a
ar -ru ${LIBNAME}.a ${OBJECTS}
ranlib ${LIBNAME}.a
# finish up
FINAL_LIBS=${LIBNAME}.a
@@ -173,6 +233,15 @@ case $ARCH in
OPTS="${OPTS} -Xlinker --version-script=exptmp"
# exptmp is removed below
fi
# Check if objects are 32-bit and we're running in 64-bit
# environment. If so, pass -m32 flag to linker.
set ${OBJECTS}
ABI32=`file $1 | grep 32-bit`
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
OPTS="-m32 ${OPTS}"
fi
if [ x${PATCH} = "x" ] ; then
VERSION="${MAJOR}.${MINOR}"
else
@@ -181,12 +250,6 @@ case $ARCH in
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION}
if [ $CPLUSPLUS = 1 ] ; then
LINK=$CXX
else
LINK=$CC
fi
# rm any old libs
rm -f ${LIBNAME}.so.${VERSION}
rm -f ${LIBNAME}.so.${MAJOR}
@@ -215,41 +278,25 @@ case $ARCH in
echo "mklib: Making SunOS shared library: " ${LIBNAME}
# XXX OPTS for gcc should be -shared, but that doesn't work.
# Using -G does work though.
if [ $CPLUSPLUS = 1 ] ; then
# determine linker and options for C++ code
if [ "x${CXX}" = "xg++" ] ; then
# use g++
LINK="g++"
OPTS="-G"
elif [ "x${CXX}" = "xCC" ] ; then
# use Sun CC
LINK="CC"
OPTS="-G"
elif [ "x${CXX}" = "xc++" ] ; then
# use Sun c++
LINK="c++"
OPTS="-G"
elif [ `which c++` ] ; then
# use Sun c++
LINK="c++"
OPTS="-G"
elif [ `type g++` ] ; then
# use g++
LINK="g++"
OPTS="-G"
OPTS="-G"
if [ "x$LINK" = "x" ] ; then
# -linker was not specified, choose default linker now
if [ $CPLUSPLUS = 1 ] ; then
# determine linker and options for C++ code
if [ `which c++` ] ; then
# use Sun c++
LINK="c++"
elif [ `type g++` ] ; then
# use g++
LINK="g++"
else
echo "mklib: warning: can't find C++ comiler, trying CC."
LINK="CC"
fi
else
echo "mklib: warning: can't find C++ comiler, trying CC."
LINK="CC"
OPTS="-G"
# use native Sun linker for C code
LINK="ld"
fi
elif [ "x${CC}" = "xgcc" ] ; then
# use gcc for linking
LINK="gcc"
OPTS="-G"
else
# use native Sun linker
LINK="ld"
OPTS="-G"
fi
echo "mklib: linker is" ${LINK} ${OPTS}
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
@@ -260,11 +307,23 @@ case $ARCH in
;;
'FreeBSD')
# we assume gcc
if [ "x$LINK" = "x" ] ; then
# -linker was not specified so set default link command now
if [ $CPLUSPLUS = 1 ] ; then
LINK=g++
else
LINK=gcc
fi
fi
if [ $NOPREFIX = 1 ] ; then
# No "lib" or ".so" part
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
OPTS="-shared"
rm -f ${LIBNAME}
ld -Bshareable -o ${LIBNAME} ${OBJECTS}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS=${LIBNAME}
elif [ $STATIC = 1 ] ; then
STLIB="lib${LIBNAME}.a"
@@ -274,12 +333,13 @@ case $ARCH in
ranlib ${STLIB}
FINAL_LIBS=${STLIB}
else
SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
SHLIB="lib${LIBNAME}.so.${MAJOR}"
OPTS="-shared -Wl,-soname,${SHLIB}"
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
rm -f ${SHLIB}
ld -Bshareable -o ${SHLIB} ${OBJECTS}
# XXX make lib${LIBNAME}.so.${MAJOR} symlink?
FINAL_LIBS=${SHLIB}
${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS}
ln -sf ${SHLIB} "lib${LIBNAME}.so"
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
fi
;;
@@ -308,6 +368,8 @@ case $ARCH in
FINAL_LIBS=${LIBNAME}
else
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
# XXX we should run 'file' on the first object file to determine
# if it's o32, n32 or 64 format, as we do for Linux above.
if [ $ARCHOPT = "64" ] ; then
# 64-bit ABI
OPTS="-64 -shared -all"
@@ -364,6 +426,7 @@ case $ARCH in
if [ $STATIC = 1 ] ; then
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making AIX static library: " ${LIBNAME}
rm -f ${LIBNAME}
ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
else
@@ -416,10 +479,12 @@ case $ARCH in
VERSION="${MAJOR}.${MINOR}"
LIBNAME="lib${LIBNAME}.so"
echo "mklib: Making OSF/1 shared library: " ${LIBNAME}
if [ $CPLUSPLUS = 1 ] ; then
LINK=$CXX
else
LINK=$CC
if [ "x$LINK" = "x" ] ; then
if [ $CPLUSPLUS = 1 ] ; then
LINK=cxx
else
LINK=cc
fi
fi
rm -f ${LIBNAME}.${VERSION}
${LINK} -o ${LIBNAME}.${VERSION} -shared -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
@@ -437,9 +502,12 @@ case $ARCH in
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
else
LIBNAME="${LIBNAME}.dylib"
# may need these:
# CFLAGS += -fno-common
# LDFLAGS += -bundle -flat_namespace -undefined suppress
LIBNAME="lib${LIBNAME}.dylib"
echo "mklib: Making Darwin shared library: " ${LIBNAME}
FLAGS="-dynamiclib -multiply_defined suppress"
FLAGS="-dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0"
if [ $CPLUSPLUS = 1 ] ; then
LINK="g++"
else
@@ -468,6 +536,7 @@ case $ARCH in
echo "mklib: Making BeOS shared library: " ${LIBNAME}
gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}"
mimeset -f "${LIBNAME}"
# XXX remove the Mesa3D stuff here since mklib isn't mesa-specific.
setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
fi
FINAL_LIBS=${LIBNAME}
@@ -489,6 +558,8 @@ case $ARCH in
'icc')
# Intel C compiler
# This should get merged into the Linux code, above, since this isn't
# really a different architecture.
LIBNAME="lib${LIBNAME}" # prefix with "lib"
if [ $STATIC = 1 ] ; then
@@ -606,7 +677,7 @@ case $ARCH in
ar rv ${LIBNAME} ${OBJECTS}
FINAL_LIBS="${LIBNAME}"
else
LIBNAME="lib${LIBNAME}.so" # prefix with "lib"
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
echo "mklib: Making shared library for example arch: " ${LIBNAME}
ld -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS="${LIBNAME}"

View File

@@ -14,6 +14,6 @@ CXXFLAGS = -O2 -DAIXV3
MKLIB_OPTIONS = -arch aix-gcc
GL_LIB_DEPS = -lX11 -lXext -lm
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
APP_LIB_DEPS = -L$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi

View File

@@ -26,7 +26,8 @@ ifeq ($(CPU), x86)
-DUSE_3DNOW_ASM \
-DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)
CC = gcc
CXX = g++

View File

@@ -5,11 +5,13 @@ include $(TOP)/configs/default
CONFIG_NAME = darwin
# Compiler and flags
CC = cc
CXX = cc
CC = c++
CXX = c++
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
MKLIB_OPTIONS = -cplusplus
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
GLU_LIB_NAME = libGLU.dylib
@@ -18,8 +20,12 @@ GLW_LIB_NAME = libGLw.dylib
OSMESA_LIB_NAME = libOSMesa.dylib
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = $(TOP)/lib/GL.dylib
GLU_LIB_DEPS = $(TOP)/lib/GL.dylib
GLUT_LIB_DEPS =
OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
GLU_LIB_DEPS = -L$(LIB_DIR) -lGL
GLUT_LIB_DEPS = -L$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
# omit glw lib for now:
SRC_DIRS = mesa glu glut/glx

View File

@@ -7,10 +7,10 @@ CONFIG_NAME = default
# Version info
MESA_MAJOR=6
MESA_MINOR=3
MESA_MINOR=5
MESA_TINY=0
# external projects
# external projects. This should be useless now that we use libdrm.
DRM_SOURCE_PATH=$(TOP)/../drm
# Compiler and flags
@@ -26,6 +26,10 @@ MKDEP = makedepend
MKDEP_OPTIONS = -fdepend
MAKE = make
# Python and flags (generally only needed by the developers)
PYTHON2 = python
PYTHON_FLAGS = -t -O -O
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
@@ -35,11 +39,11 @@ OSMESA_LIB = OSMesa
# Library names (actual file names)
GL_LIB_NAME = libGL.so
GLU_LIB_NAME = libGLU.so
GLUT_LIB_NAME = libglut.so
GLW_LIB_NAME = libGLw.so
OSMESA_LIB_NAME = libOSMesa.so
GL_LIB_NAME = lib$(GL_LIB).so
GLU_LIB_NAME = lib$(GLU_LIB).so
GLUT_LIB_NAME = lib$(GLUT_LIB).so
GLW_LIB_NAME = lib$(GLW_LIB).so
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
# Optional assembly language optimization files for libGL
@@ -56,13 +60,15 @@ INSTALL_PREFIX = /usr/local
SRC_DIRS = mesa glu glut/glx glw
GLU_DIRS = sgi
DRIVER_DIRS = x11 osmesa
# Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = demos redbook samples xdemos
# Library/program dependencies
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
EXTRA_LIB_PATH ?=
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -5,13 +5,22 @@ include $(TOP)/configs/default
CONFIG_NAME = FreeBSD
# Compiler and flags
CC = gcc
CXX = g++
CC = cc
CXX = c++
MAKE = gmake
CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
CXXFLAGS = -O2 -fPIC -pedantic
OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM -DHZ=100
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
GLUT_CFLAGS = -fexceptions
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
EXTRA_LIB_PATH = -L/usr/X11R6/lib
APP_LIB_DEPS = -L$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm

View File

@@ -11,23 +11,27 @@ CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O
X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
DEFINES = -DDRI_NEW_INTERFACE_ONLY
CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math -I/usr/local/include $(X11_INCLUDES)
EXPAT_INCLUDES = -I/usr/local/include
X11_INCLUDES = -I/usr/X11R6/include
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS
CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC \
-ffast-math $(ASM_FLAGS) $(X11_INCLUDES)
CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC
ASM_SOURCES =
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -pthread
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread $(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11
# Directories
SRC_DIRS = mesa glu glut/glx glw glx/x11
SRC_DIRS = glx/x11 mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
@@ -36,6 +40,6 @@ DRM_SOURCE_PATH=$(TOP)/../drm
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx \
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon tdfx \
unichrome savage sis

10
configs/freebsd-dri-amd64 Normal file
View File

@@ -0,0 +1,10 @@
# -*-makefile-*-
# Configuration for freebsd-dri-amd64: FreeBSD DRI hardware drivers
include $(TOP)/configs/freebsd-dri
CONFIG_NAME = freebsd-dri-x86-64
ASM_FLAGS = -DUSE_X86_64_ASM
ASM_SOURCES = $(X86-64_SOURCES)
ASM_API = $(X86-64_API)

View File

@@ -10,3 +10,4 @@ PIC_FLAGS =
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

View File

@@ -8,13 +8,25 @@ CONFIG_NAME = linux
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
OPT_FLAGS = -O3 -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. Add -m32
# to build properly on 64-bit platforms.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -DPTHREADS -DUSE_XSHM
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
$(DEFINES) $(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(X11_INCLUDES)
GLUT_CFLAGS = -fexceptions
# Library/program dependencies
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
EXTRA_LIB_PATH = -L/usr/X11R6/lib

View File

@@ -1,20 +1,8 @@
# Configuration for debugging on Linux
include $(TOP)/configs/default
include $(TOP)/configs/linux
CONFIG_NAME = linux-debug
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG
CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
OPT_FLAGS = -g -ansi -pedantic
DEFINES += -DDEBUG -DDEBUG_MATH

30
configs/linux-directfb Normal file
View File

@@ -0,0 +1,30 @@
# Configuration for DirectFB
include $(TOP)/configs/default
CONFIG_NAME = linux-directfb
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \
-D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
ifeq ($(HAVE_X86), yes)
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)
endif
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = directfb
PROGRAM_DIRS = # disabled
# Library/program dependencies
GL_LIB_DEPS = -lm -lpthread

View File

@@ -9,45 +9,59 @@ CONFIG_NAME = linux-dri
CC = gcc
CXX = g++
MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -O -g
PIC_FLAGS = -fPIC
OPT_FLAGS = -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DDRI_NEW_INTERFACE_ONLY -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS
X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(ASM_FLAGS) -std=c99 $(PIC_FLAGS) -ffast-math \
$(DEFINES)
CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
$(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) \
$(DEFINES)
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
EXTRA_LIB_PATH=-L/usr/X11R6/lib
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
$(LIBDRM_LIB)
# This is now 0 by default since it seems to confuse the hell out of people
# and generate a lot of extra noise on bugzilla. If you need to build with
# EGL, do 'make linux-dri USING_EGL=1'
USING_EGL=0
# Directories
SRC_DIRS = mesa glu glut/glx glw glx/x11
ifeq ($(USING_EGL), 1)
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS = egl
else
SRC_DIRS = glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS =
endif
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb and gamma are missing because they have not been converted to use the new
# gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon s3v \
savage sis tdfx trident unichrome
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb

View File

@@ -13,5 +13,5 @@ ASM_SOURCES = $(PPC_SOURCES)
# Build only the drivers for cards that exist on PowerPC. At some point MGA
# will be added, but not yet.
DRI_DIRS = dri_client mach64 r128 r200 radeon tdfx
DRI_DIRS = mach64 r128 r200 r300 radeon tdfx

View File

@@ -8,5 +8,10 @@ CONFIG_NAME = linux-dri-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
# Add -m32 to CFLAGS:
ARCH_FLAGS = -m32
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

View File

@@ -1,40 +1,24 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/default
include $(TOP)/configs/linux-dri
CONFIG_NAME = linux-dri-x86-64
# Compiler and flags
CC = gcc
CXX = g++
ARCH_FLAGS = -m64
DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -D_GNU_SOURCE -D__AMD64__
CFLAGS = -m64 -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math $(DEFINES)
CXXFLAGS = -m64 -Wall -g -ansi -pedantic -fPIC $(DEFINES)
X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
#ASM_SOURCES = $(X86_SOURCES)
ASM_FLAGS = -DUSE_X86_64_ASM
ASM_SOURCES = $(X86-64_SOURCES)
ASM_API = $(X86-64_API)
LIB_DIR = $(TOP)/lib64
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
# Directories
SRC_DIRS = mesa glu glut/glx glw glx/x11
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb, gamma, and sis are missing because they have
# not be converted to use the new interface. Do i810 & i830 really
# need to be included here?
# ffb, gamma, and sis are missing because they have not be converted to use
# the new interface. i810 are missing because there is no x86-64
# system where they could *ever* be used.
#
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome savage
DRI_DIRS = i915 mach64 mga r128 r200 radeon tdfx unichrome savage r300

67
configs/linux-dri-xcb Normal file
View File

@@ -0,0 +1,67 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/default
CONFIG_NAME = linux-dri-xcb
# Compiler and flags
CC = gcc
CXX = g++
#MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
OPT_FLAGS = -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DUSE_XCB
X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb`
CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
$(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=`pkg-config --libs-only-L x11`
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
$(LIBDRM_LIB) `pkg-config --libs xcb`
# This is now 0 by default since it seems to confuse the hell out of people
# and generate a lot of extra noise on bugzilla. If you need to build with
# EGL, do 'make linux-dri USING_EGL=1'
USING_EGL=0
# Directories
ifeq ($(USING_EGL), 1)
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS = egl
else
SRC_DIRS = glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS =
endif
DRIVER_DIRS = dri
WINDOW_SYSTEM=dri
# gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb

10
configs/linux-fbdev Normal file
View File

@@ -0,0 +1,10 @@
# Configuration for Linux fbdev interface
include $(TOP)/configs/linux
CONFIG_NAME = linux-fbdev
DRIVER_DIRS = fbdev
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -DUSE_GLFBDEV_DRIVER
PROGRAM_DIRS = fbdev

View File

@@ -16,6 +16,7 @@ GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

View File

@@ -24,6 +24,7 @@ GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lX
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
MKLIB_OPTIONS = -arch icc
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

49
configs/linux-indirect Normal file
View File

@@ -0,0 +1,49 @@
# -*-makefile-*-
# Configuration for linux-indirect: Builds a libGL capable of indirect
# rendering, but *NOT* capable of direct rendering.
include $(TOP)/configs/default
CONFIG_NAME = linux-dri
# Compiler and flags
CC = gcc
CXX = g++
#MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -O -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DHAVE_ALIAS
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
# Directories
SRC_DIRS = glx/x11 glu glut/glx glw
DRIVER_DIRS =
PROGRAM_DIRS =
WINDOW_SYSTEM=dri

View File

@@ -1,18 +1,9 @@
# Configuration for Linux on PPC
include $(TOP)/configs/default
include $(TOP)/configs/linux
CONFIG_NAME = linux-ppc
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
OPT_FLAGS = -O3 -mcpu=603 -fsigned-char -funroll-loops
# FIXME: Use of PowerPC assembly should be enabled here.

View File

@@ -1,15 +1,9 @@
# Configuration for Linux on PPC, static libs
include $(TOP)/configs/default
include $(TOP)/configs/linux-ppc
CONFIG_NAME = linux-ppc-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
@@ -18,9 +12,3 @@ GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm

29
configs/linux-profile Normal file
View File

@@ -0,0 +1,29 @@
# Configuration for profiling on Linux with gprof
include $(TOP)/configs/default
CONFIG_NAME = linux-profile
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -pg -O -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG
CXXFLAGS = -pg -O -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG
GLUT_CFLAGS = -fexceptions
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
# Need to make static libs for profiling:
MKLIB_OPTIONS = -static
GL_LIB_NAME = lib$(GL_LIB).a
GLU_LIB_NAME = lib$(GLU_LIB).a
GLUT_LIB_NAME = lib$(GLUT_LIB).a
GLW_LIB_NAME = lib$(GLW_LIB).a
OSMESA_LIB_NAME = lib$(OSMesa).a
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread

View File

@@ -8,26 +8,36 @@ CONFIG_NAME = linux-solo
CC = gcc
CXX = g++
DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
WARN_FLAGS = -Wall -Wundef
OPT_FLAGS = -O3 -g
PIC_FLAGS = -fPIC
CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES = $(X86_SOURCES)
ASM_SOURCES =
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(LIB_DIR)
GL_LIB_DEPS = -lm -lpthread -ldl
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = mesa glx/mini glu glut/mini
SRC_DIRS = glx/mini mesa glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
#DRI_DIRS = fb ffb gamma sis savage
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome
#DRI_DIRS = ffb gamma sis savage
DRI_DIRS = i810 i915 mach64 mga r128 r200 radeon tdfx unichrome fb

View File

@@ -1,29 +1,7 @@
# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
include $(TOP)/configs/default
include $(TOP)/configs/linux-solo
CONFIG_NAME = linux-solo-ia64
# Compiler and flags
CC = gcc
CXX = g++
DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = -lm -lpthread -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = mesa glx/mini glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome

View File

@@ -1,32 +1,13 @@
# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
# -*-makefile-*-
# Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86
include $(TOP)/configs/default
include $(TOP)/configs/linux-solo
CONFIG_NAME = linux-solo-x86
# Compiler and flags
CC = gcc
CXX = g++
DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS
CFLAGS = $(DEFINES) -Wmissing-prototypes -O3 -g -std=c99 -Wundef -fPIC -ffast-math
CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC
# Unnecessary on x86, generally.
PIC_FLAGS =
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = -lm -lpthread -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = mesa glx/mini glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
#DRI_DIRS = fb ffb gamma sis savage
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome
ASM_API = $(X86_API)

View File

@@ -7,10 +7,24 @@ CONFIG_NAME = linux-sparc
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
WARN_FLAGS = -Wall
OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
GLUT_CFLAGS = -fexceptions
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
EXTRA_LIB_PATH=-L/usr/X11R6/lib
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11

View File

@@ -1,17 +1,9 @@
# Configuration for generic Linux, making static libs
include $(TOP)/configs/default
include $(TOP)/configs/linux
CONFIG_NAME = linux-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
@@ -27,4 +19,3 @@ OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -1,22 +0,0 @@
# Configuration for debugging on Linux
include $(TOP)/configs/default
CONFIG_NAME = linux-tcc
# Compiler and flags
CC = gcc
CXX = g++
TCC_DIR=/home/progs/tcc-0.9.20
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DUSE_TCC -I$(TCC_DIR)
CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L$(TCC_DIR) -ltcc -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -1,24 +1,9 @@
# Configuration for Linux with x86 optimizations
include $(TOP)/configs/default
include $(TOP)/configs/linux
CONFIG_NAME = linux-x86
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

7
configs/linux-x86-32 Normal file
View File

@@ -0,0 +1,7 @@
# To build Linux x86 32-bit in an x86-64 environment
include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-32
ARCH_FLAGS += -m32

View File

@@ -1,28 +1,14 @@
# Configuration for Linux for 64-bit X86 (Opteron)
include $(TOP)/configs/default
include $(TOP)/configs/linux
CONFIG_NAME = linux-x86-64
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
GLUT_CFLAGS = -fexceptions
#ASM_SOURCES = $(X86_SOURCES)
ARCH_FLAGS = -m64
ASM_SOURCES = $(X86-64_SOURCES)
ASM_API = $(X86-64_API)
ASM_FLAGS = -DUSE_X86_64_ASM
LIB_DIR = $(TOP)/lib64
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
EXTRA_LIB_PATH = -L/usr/X11R6/lib64

View File

@@ -0,0 +1,7 @@
# Configuration for Linux for 64-bit X86 (Opteron)
include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-debug
DEFINES += -DDEBUG -DDEBUG_MATH

View File

@@ -1,22 +1,11 @@
# Configuration for Linux for 64-bit X86 (Opteron), static libs
include $(TOP)/configs/default
include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
@@ -24,17 +13,9 @@ GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
#ASM_SOURCES = $(X86_SOURCES)
LIB_DIR = $(TOP)/lib64
# Library/program dependencies (static libs don't have dependencies)
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -5,6 +5,5 @@ include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-debug
CFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
OPT_FLAGS = -g
DEFINES += -DDEBUG -DDEBUG_MATH

View File

@@ -15,7 +15,8 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199
GLUT_CFLAGS = -fexceptions
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread

View File

@@ -1,22 +1,11 @@
# Configuration for Linux with x86 optimizations, static libs
include $(TOP)/configs/default
include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
@@ -24,14 +13,9 @@ GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
# Library/program dependencies (static libs don't have dependencies)
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -9,7 +9,7 @@ CC = cc
CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
MKLIB_OPTIONS = -static
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm -lglut -lGLU -lGL
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a

View File

@@ -4,18 +4,33 @@ include $(TOP)/configs/default
CONFIG_NAME = sunos5-gcc
ASM_SOURCES = $(SPARC_SOURCES) $(SPARC_API)
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM -DUSE_SPARC_ASM
CXXFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_SPARC_ASM
WARN_FLAGS = -Wall
OPT_FLAGS = -O3 -g -fomit-frame-pointer -pipe
PIC_FLAGS = -fPIC
ARCH_FLAGS ?=
DEFINES = -D_REENTRANT -DUSE_XSHM
ASM_SOURCES = $(SPARC_SOURCES)
ASM_API = $(SPARC_API)
ASM_FLAGS = -DUSE_SPARC_ASM
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math -I/usr/openwin/include
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
-I/usr/openwin/include
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/openwin/lib
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -13,7 +13,9 @@ all :
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
set default [.src]
$(MMS)$(MMSQUALIFIERS)
set default [-.progs.demos]
set default [-.progs.util]
$(MMS)$(MMSQUALIFIERS)
set default [-.demos]
$(MMS)$(MMSQUALIFIERS)
set default [-.xdemos]
$(MMS)$(MMSQUALIFIERS)

View File

@@ -1,182 +0,0 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

View File

@@ -1,4 +1,4 @@
Mesa 6.3 DOS/DJGPP Port v1.7
Mesa 6.5 DOS/DJGPP Port v1.8
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -7,8 +7,7 @@ Description:
~~~~~~~~~~~~
Well, guess what... this is the DOS port of Mesa 6.3, for DJGPP fans... Whoa!
The driver has its origins in ddsample.c, written by Brian Paul and found by me
in Mesa 3.4.2.
The driver uses OSMesa to draw off screen, and then blits the buffer.
@@ -32,9 +31,6 @@ Available options:
Environment variables:
CPU optimize for the given processor.
default = pentium
GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
or `mesa'.
default = mesa
GLIDE path to Glide3 SDK; used with FX.
default = $(TOP)/glide3
FX=1 build for 3dfx Glide3. Note that this disables
@@ -56,11 +52,9 @@ Available options:
Tested on:
CPU: AMD Athlon XP 1800+
Mainboard: GA-7VTXE w/ 512 MB DDRAM
Video card: Voodoo5 6000 AGP w/ 128 MB SDRAM
DJGPP: djdev 2.04 + gcc v3.4.3 + make v3.80
OS: DOS and Win98SE
Video card: Radeon 9500
DJGPP: djdev 2.04 + gcc v4.1.0 + make v3.80
OS: DOS, Win98SE, WinXP (using Videoport driver)
@@ -98,7 +92,7 @@ FAQ:
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
A) Is that a question? If you have a 3dfx Voodoo (any model), you're
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
If you haven't, sorry; everything is done in software. Suggestions?
If you haven't, sorry; everything is done in software.
Q) I tried to set refresh rate w/ DMesa, but without success.
A) Refresh rate control works only for VESA 3.0 and the 3dfx driver (in
@@ -107,20 +101,17 @@ FAQ:
Q) I made a simple application and it does nothing. It exits right away. Not
even a blank screen.
A) Pure software drivers (VESA/VGA/NUL) support only double-buffered modes.
A) Software drivers (VESA/VGA/NUL) must to be constructed as single-buffered
visuals. However, DMesaSwapBuffers must be called to get any output.
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
lazy programmer and I found that the easiest way to keep buffer handling
at peak performance ;-).
Q) I'm getting a "bad font!" fatal error.
A) By default, DOS GLUT compiles with GLUT_IMPORT_LIB, to cope with variable
access inside dynamic modules (same mechanism used for Win32 _DLL). Since
-DGLUT_IMPORT_LIB affects Mesa's `glut.h', your apps must be compiled the
same way GLUT was compiled (either with or without defining it). If you
want to use another `glut.h' when building your own demos, or just don't
feel happy about this, make sure you remove the line with GLUT_IMPORT_LIB
from `Mesa/src/glut/dos/Makefile.DJ' before (re)making GLUT. Beware, this
means you will never EVER be able to safely use `glut.dxe'!
A) Always use GLUT_STROKE_* and GLUT_BITMAP_* constants when dealing with
GLUT fonts. If you're using `glut.dxe', then make sure GLUT_STROKE_* and
GLUT_BITMAP_* are mapped to integer constants, not to the actual font
address (same mechanism used for Win32 _DLL).
Q) What is NUL driver good for, if I don't get any output at all?
A) For debugging. The NUL driver is very much like OSMesa. Everything is
@@ -265,7 +256,14 @@ v1.6 (aug-2004)
v1.7 (???-2005)
+ enabled OpenGL 2.0 support
+ added support for sw texture compression
* minor rework
+ added FreeGLUT specific functions
* no more GLX sources in DOS GLUT
* made GLUT timer callbacks less accurate but safer
v1.8 (apr-2006)
* killed lots of code, the driver is now a front-end to OSMesa
* fixed problem with WinNT (http://www.volny.cz/martin.sulak/)
- removed 3dfx Glide3 support (temporarily?)

View File

@@ -14,68 +14,77 @@ Quick & dirty start:
Contact:
--------
Daniel Borca <dborca@users.sourceforge.net>
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
*******************************************************************************
The Mingw port for Mesa 3-D Graphics Library was created August 30, 1998 by Paul Garceau.
August 30, 1998 -- Paul Garceau
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)
Updated January 13, 2000; June 3, 2005 -- Paul Garceau <pgarceau@users.sourceforge.net>
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
to the general public. I can, in no way support or make any guarantee that the
build will work for your system.
The associated packages and batch files I have included as part of the GCC-2.95.2/Mingw32 extension are provided "As-is" with out any guarantee of support or functionality from this author.
Acknowledgements:
Feel free to modify or change things as you see fit, just remember that
I can't support any modifications you might want to make to the files which I
have included OR the lgpl protected Mesa 3-D Graphics Library.
Daniel Borca, whose work and commitment to maintaining the Mingw port of the Mesa 3-D Graphics Library has been, and will continue to be greatly appreciated by an overworked and underpaid developer such as myself.
Without the creative inspiration and personal commitment provided by Mumit Khan, Jan-Jaap Vanderhagen and Colin Peters, Mingw would never have existed. Acknowledgements also need to be given to all of the developers who have worked on Mingw, Mesa and Msys over the years.
Last, but certainly far from the least, Brian Paul, who has dedicated at least the last seven or eight years of his life to making Mesa 3-D Graphics Library what it is today and managing the development for all of those years.
*********************************************************************************
I recommend using GCC-2.95.2/Mingw32 which is available at Mumit Khans' ftp site:
Greetings,
(ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/)
Feel free to modify or change things related to the Mingw build as you see fit, just remember that, the author of the current build may not be able to support any modifications you might want to make to the files which have been included for the build.
Mesa core components are licensed under XFree-86 (for more on licensing of Mesa 3-D Graphics Library, check out the Mesa homepage (http://www.mesa3d.org).
The Mingw generated libraries themselves are licensed under the GNU-LGPL license. Source code for Mingw can be found at http://www.mingw.org. For licensing terms on Mingw, please visit http://www.mingw.org.
It is recommended that you use the latest "stable" release of Mingw. "Candidates" are beta testing distributions for Mingw. Mingw is available at http://www.mingw.org.
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
I recommend using the GCC-2.95.2/Mingw32.
Installation:
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2
This readme assumes that you already have extracted the necessary files to a working directory/folder that Mingw can use to build the Mesa3D libraries and that you know where that directory/folder is located on your Windows system. If you have any questions about how to set things up properly which is specific to Mesa3D, the folks on the Mesa3D mailing lists (http://www.mesa3d.org) would probably be happy to assist you. Also you can probably ask anyone on the Mingw mailing lists for any questions specific to Mingw (http://www.mingw.org)
Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
and Colin Peters for making it possible for the Mingw32 toolchain to exist. Also, thanks go out to Stephane Rehel for the work that was completed on the Cygwin build.
Targets and Environment variables used for Mingw build:
Installing GCC-2.95.2/Mingw32 Build:
Before going into the actual build of the libraries, here is a list of available targets for the make process:
a) Open the file archive (either tar.gz or .zip extensions)
"all" or "libgl" -- this target will build libopengl.a, a static library. It will not build the demos, etc.
b) Decide the directory you want to move the archived files to.
clean -- this target will clean up most of the Mesa 3-D Graphics Library/object code from your hard drive.
realclean -- this target will clean up all of the Mesa 3D Graphics Library and the Mesa object code that it can find.
Environment Variables:
The environment variables are used to determine what sort of graphics driver support needs to be included in the finished Mesa 3-D Graphics Library.
GLIDE path to Glide3 SDK; used with FX.
default = $(TOP)/glide3
FX=1 build for 3dfx Glide3. Note that this disables
compilation of most WMesa code and requires fxMesa.
As a consequence, you'll need the Win32 Glide3
library to build any application.
default = no
ICD=1 build the installable client driver interface
(windows opengl driver interface)
default = no
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
default = no
d) Extract the files from the archive.
e) Edit the mingw32.bat file to accomodate your choice of directory structure.
%mesaroot%: This is your root directory (Mesa-3.3)
%mesasrc%: This is the Mesa-3.3 src directory (Mesa-3.3\src)
%mesalib%: This is where the build will put libGL.a and libGLU.a
Running the Build:
Open your Command Prompt or MS-DOS prompt.
Go to your Mesa-3.3 'root' directory
At the command line type: mingw32
Launch Mingw.
From the Windows Command Prompt:
Set Environment Variables (as needed).
"cd" to your Mesa3D 'root' directory.
Enter "mingw32-make -f makefile.mgw <target>
That's all there is to it.
Enjoy!
Peace,
Paul G. (pgarceau@teleport.com)
Paul G. <pgarceau@users.sourceforge.net>
Daniel Borca <dborca@users.sourceforge.net>

View File

@@ -26,3 +26,13 @@ On Alpha platforms at default a sharable images for the libraries are created.
To get a static library make it by typing MMS/MACRO=(NOSHARE=1).
On VAX platforms only static libraries can be build.
23-sep-2005
changed default compilation to use /float=ieee/ieee=denorm. The reason for
this is that it makes Mesa on OpenVMS better compatible with other platforms
and other packages for VMS that I maintain.
For more information see
http://nchrem.tnw.tudelft.nl/openvms
https://bugs.freedesktop.org/show_bug.cgi?id=4270
You may want to compile Mesa to use VAX-floating point arithmetic, instead
of IEEE floating point by removing the /float=IEEE/denorm flag from the
compiler options in the descrip.mms files.

View File

@@ -1,108 +1,155 @@
File: docs/README.WIN32
Last updated: Oct 01, 2004 - Karl Schultz - kschultz@users.sourceforge.net
Last updated: Mar 31, 2006 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
The libs and demos build separately, so if you do not care about the
demos, you do not have to unzip that zip file. But if you do, it does
need to be unzipped into the same directory as the lib zip file because
the demos depend on the libs.
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
directory. The libs and demos build separately, so if you do not care
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
more than one ZIP file, they all need to be unzipped into the same
directory. Don't worry, you will not overwrite anything.
The build system has been changed to use Microsoft Visual Studio project
workspaces and projects. Makefiles are no longer shipped or supported, but
can be generated from the projects using Visual Studio.
The Windows build system uses Microsoft Visual Studio. Project files
for a specific version of Visual Studio are in their own directory in
the top-level "windows" directory. For example, Visual Studio 6 files
are in windows/VC6. If a directory does not exist for your version of
Visual Studio, you can try importing the project files from an earlier
version of Visual Studio. At this time, project files exist for
Version 6 and Version 7. The code has been built with a beta version
of Version 8 and it runs on 64-bit Windows. If you want to try this,
start by importing the VC7 files and create the 64-bit targets in the
configuration manager.
The workspace and project files were created with Visual Studio 6, so that
they can be used with VS6 and so that they can also be imported into VS 7.
It is likely that the new and free Visual Studio Express can be used
to build Mesa, but it hasn't been tried yet. Start with the VC7
project files.
Details and Notes
The project files to build the core Mesa library, Windows Mesa
drivers, OSMesa, and GLU are in the mesa directory. The project files
to build GLUT and some demo programs are in the progs directory.
- To build the Mesa libraries, open the Mesa.dsw workspace file
in the top directory. You will need to build at least one
driver. Currently, only the gdi and osmesa drivers are available.
Select one or the other as the active project and build it.
If you want glu, select the glu project as active and build that as well.
Makefiles are no longer shipped or supported, but can be generated
from the projects using Visual Studio.
Windows Drivers
------- -------
At this time, only the GDI driver is known to work. Most of the demos
in progs/demos should work with this driver.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was
recently cleaned up and rewitten and so may have bugs or may be
missing some functionality. The older versions of the CVS source may
be useful in figuring out any problems, or report them to me.
To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at
windows/VC6/mesa/mesa.dsw
or
windows/VC7/mesa/mesa.sln
The osmesa DLL can also be built with the osmesa project.
The build system creates a lib top-level directory and copies
resulting LIB and DLL files to this lib directory. The files are:
- Glut is no longer in the Mesa.dsw workspace. It is now built in
the demo workspace (see below).
- The build process will create a lib directory in the top directory
and will put the following files there as you build them:
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
- Some users have reported problems building glu with VS7 after importing
and converting the VS6 project files. The problem is caused by a custom
build step that was put in place to work around a problem with VS6 not
recognizing .cc files as C++ source files. It appears that VS7 can be
configured to recognize .cc files as C++ files and so it compiles these
glu files with the default settings, and does not use settings that are
required to compile the files correctly. The easiest way to solve the
problem is to remove the .cc files from the glu project. This does not
delete the files, but removes them from the project so that VS does not
try to compile them at all. This allows the custom build step to compile
the files with the proper settings.
If the MesaDemos ZIP file was extracted, the DLL files are also copied
to the demos directory. This facilitates running the demos as described
below.
- After building, you can copy the above DLL files to a place in your PATH
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
system directory, place them in the same directory as the executable(s).
Be careful about accidentially overwriting files of the same name in
the SYSTEM32 directory.
- Build the demos by opening the appropriate *.dsw file in the
progs directory tree. For example, to build the demos, use
progs/demos/Windows/demos.dsw. The Windows directory contains
the workspace and all the projects for each demo program. Each
project places the executable in the same directory as its source
code, which is required for some demos.
GLUT and Demos
---- --- -----
- The demo projects also copy the Mesa library DLL files from the lib
directory into the same directory as the demo executables, so that
the demos use the Mesa libs you just built.
A Visual Studio workspace can be found at
- The DLL files are built so that the external entry points use the
stdcall calling convention.
windows/VC6/progs/progs.dsw
or
windows/VC7/progs/progs.sln
- Static LIB files are not built. The LIB files that are built with
are the linker import files associated with the DLL files.
It can be used to build GLUT and a few demos. The GLUT lib and DLL
are copied to the top-level lib directory, along with the Mesa libs.
- The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
The demo build system expects to find the LIB files in the top level
lib directory, so you must build the Mesa libs first. The demo
executables are placed in the demos directory, because some of them
rely on data files found there. Also, the Mesa lib DLL's were copied
there by the Mesa lib build process. Therefore, you should be able to
simply run the demo executables from the demo directory.
- The Windows driver (in src/Windows) builds and runs at least at
a minimal level. I modified this driver to work with the new
Mesa 4.0 code and driver architecture, but I did not do a great
deal of optimization and testing. There are many opportunities
for optimization, many of which can be done by coding more specific
paths for the rasterizers. See src/osmesa/osmesa.c for some good
examples.
If you want to run the demos from the Visual Studio, you may have to
change the startup directory and explicitly state where the executables are.
- There is DirectDraw support in the Windows driver, updated by
Daniel Slater. You'll need to uncomment the #define DDRAW line
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
On some systems, you will acheive significantly higher framerates
with DirectDraw.
You may also build all the demo programs by using a makefile. Go to
the progs/demos directory and make sure you have executed VCVARS32.BAT
or whatever setup script is appropriate for your compiler. Then,
- Some of the more specialized code like FX drivers, stereo, and
parallel support isn't compiled or tested. I left much of this
code alone, but it may need some work to get it 'turned on' again.
nmake -f Makefile.win
- No assembly code is compiled or assembled. Again, this may need
some work to turn it back on or use it again.
should build all the demos.
- To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to change
all the gl* symbols to mgl*. Because this is easy to do with a global
replace operation in a text editor, no additional mangled version of mesa.def
is maintained or shipped.
Build System Notes
----- ------ -----
VC6
---
Visual Studio 6 does not recognize files with the .cc extension as C++
language files, without a lot of unnatural tweaking. So, the VC6
build process uses custom build steps to compile these files in the
GLU library.
Two additional configurations are provided, Debug x86 and Release x86
that activate the shader code compilation by defining SLANG_86. It is
unknown if and how this works.
VC7
---
The above-mentioned .cc problem does not exist in this version.
General
-------
After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
The DLL files are built so that the external entry points use the
stdcall calling convention.
Static LIB files are not built. The LIB files that are built with are
the linker import files associated with the DLL files.
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to
change all the gl* symbols to mgl*. Because this is easy to do with a
global replace operation in a text editor, no additional mangled
version of mesa.def is maintained or shipped.
If you have a Windows-related build problem or question, it is
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you
as much as I can. I also monitor the Mesa mailing lists and will
answer questions in this area there as well.
rather than directly to the other Mesa developers. I will help you as
much as I can. I also monitor the Mesa mailing lists and will answer
questions in this area there as well.
Karl Schultz

28
docs/README.directfb Normal file
View File

@@ -0,0 +1,28 @@
Mesa DirectFB Information
Requirements
============
To build Mesa with DirectFB (DirectFBGL) support you need:
- DirectFB at least 0.9.21 (http://directfb.org)
- pkg-config at least 0.9 (http://pkgconfig.sf.net)
Installation
============
Run
make linux-directfb
to build Mesa and DirectFBGL module,
make install
to install OpenGL libraries and
make linux-directfb-install
to install DirectFBGL module in the proper location.

View File

@@ -1,7 +1,7 @@
Mesa 6.3 release notes
month day, 2004
July 20, 2005
PLEASE READ!!!!
@@ -25,17 +25,76 @@ GL_ARB_draw_buffers - allows a fragment program to write to a number of
GL_OES_read_format - allows one to query the fastest glReadPixels format
and datatype.
GL_ARB_pixel_buffer_object - buffer objects for pixel read/write functions.
GL_EXT_framebuffer_object - allows render-to-texture and provides a
window-system indepedent Pbuffer facility.
The Mesa CVS tree contains a couple tests of this extension.
DirectFB driver, contributed by Claudio Ciccani. See docs/README.directfb
for details.
To Do before release
--------------------
Fix dinoshade bug
Vertex/Fragment Program PRINT Instruction
-----------------------------------------
The GL_NV_vertex_program and GL_NV_fragment_program languages have been
extended with a PRINT instruction.
glDeleteTextures(), glDeletePrograms() and glDeleteBuffers() Changed
--------------------------------------------------------------------
To match the behaviour of other OpenGL implementations, glDeleteTextures,
glDeletePrograms and glDeleteBuffers have been modified so that:
* The named texture/program/buffer ID is immediately freed for re-use.
* The actual texture object, program or buffers isn't really deleted until
it is no longer bound in any rendering context (the reference count
is zero).
Previously, the texture/program/buffer ID wasn't freed until the object
was really deleted.
Note that textures, programs and buffers can be shared by several rendering
contexts so they can't be deleted until they're unbound in _all_ contexts.
GL_EXT_framebuffer_object changes
---------------------------------
Implementing this extension involved changing a lot of code (for the better).
The gl_framebuffer object now a collection of gl_renderbuffer objects.
Renderbuffers may store colors, stencil indices, or depth values. The
gl_framebuffer and gl_renderbuffer types are object-oriented in design.
All the old RGB, color index, stencil and depth-related span functions for
reading/writing pixels from/to buffers has changed. Now, all pixels are
read/written through a set of common renderbuffer functions (methods).
Most device drivers have been updated for these changes, but some haven't.
To Do (someday) items
---------------------
Switch to freeglut
Increase MAX_DRAWBUFFERS
driver hooks for BeginQuery/EndQuery
Miscellaneous
-------------
The main/get.c file is now generated with a Python script (get_gen.py).
Driver Status
---------------------- ---------------------
@@ -53,4 +112,4 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3,v 3.6 2004/12/09 23:21:36 brianp Exp $
$Id: RELNOTES-6.3,v 3.13 2005/07/21 15:57:29 brianp Exp $

49
docs/RELNOTES-6.3.1 Normal file
View File

@@ -0,0 +1,49 @@
Mesa 6.3.1 release notes
July XX, 2005
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
DRI drivers
-----------
This release includes the DRI drivers and GLX code for hardware rendering.
Bug fixes
---------
Bugs fixed in 6.3.1 are listed in the VERSIONS file.
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.1,v 3.1 2005/07/21 18:45:54 brianp Exp $

37
docs/RELNOTES-6.3.2 Normal file
View File

@@ -0,0 +1,37 @@
Mesa 6.3.2 Release Notes
August 19, 2005
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
6.3.2 is primarily a bug-fix release. See the VERSIONS file for details.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.2,v 3.2 2005/08/19 16:57:50 brianp Exp $

50
docs/RELNOTES-6.4 Normal file
View File

@@ -0,0 +1,50 @@
Mesa 6.4 Release Notes
October 24, 2005
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
6.4 is a bug-fix release. See the VERSIONS file for details.
GLUT tarball
------------
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4,v 3.1 2005/10/24 23:33:27 brianp Exp $

47
docs/RELNOTES-6.4.1 Normal file
View File

@@ -0,0 +1,47 @@
Mesa 6.4.1 Release Notes
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
6.4.1 is a bug-fix release. See the VERSIONS file for details.
GLUT tarball
------------
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4.1,v 3.1 2006/02/03 17:21:54 brianp Exp $

47
docs/RELNOTES-6.4.2 Normal file
View File

@@ -0,0 +1,47 @@
Mesa 6.4.2 Release Notes
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
6.4.2 is a minor bug-fix release. See the VERSIONS file for details.
GLUT tarball
------------
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4.2,v 3.1 2006/02/03 17:21:54 brianp Exp $

97
docs/RELNOTES-6.5 Normal file
View File

@@ -0,0 +1,97 @@
Mesa 6.5 Release Notes
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.5) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
New Features
------------
OpenGL Shading language support
This includes the GL_ARB_shader_objects, GL_ARB_shading_language_100,
GL_ARB_vertex_shader and GL_ARB_fragment_shader extensions. Most of
the work was done by Michal Krol.
There's probably a fair number of bugs since this is a pretty large,
complicated body of code.
The OpenGL 2.0 interface to these features will be implemented in a
future version of Mesa,
GL_EXT_timer_query
Used to measure the time of OpenGL operations at high precision.
Only supported in the software/Xlib driver at this time.
GL_EXT_packed_depth_stencil
Defines a new GL_DEPTH_STENCIL_EXT pixel format.
GL_EXT_framebuffer_blit
A simplified glCopyPixels-like feature for copying pixel rectangles.
GL_ARB_half_float_pixel
Adds a new half-precision floating point format for image transfers,
such as for glDrawPixels, glReadPixels, glTexImage, etc.
Removed Extensions
------------------
The following extensions have been removed:
GL_HP_occlusion_test - this is superceded by GL_ARB_occlusion_query.
Known Issues
------------
Rendering to depth textures will not work. Rendering to GL_DEPTH_STENCIL
textures should work.
Driver Interface Changes
------------------------
Stencil: The Driver.StencilOp/Func/Mask() functions have been replaced by
the two-sided versions: Driver.Stencil*Separate().
Render-to-texture: The functions for rendering to textures have changed.
To Do (someday) items
---------------------
Switch to freeglut
Increase MAX_DRAWBUFFERS
Fix linux-glide target/driver.
Fix lambda calculation for frag progs.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.5,v 3.4 2006/03/29 04:53:02 brianp Exp $

View File

@@ -1308,20 +1308,165 @@ Mesa Version History
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer that 256 entries
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
6.3 Month day, 2004
6.3 July 20, 2005
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- full support for GL_EXT_pixel_buffer_object (convolution filters,
polygon stipple, colormaps, etc)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
- Updated GL/glext.h to version 29
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
fixes from 6.2.1, plus:
-
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
6.3.1
This was an intermediate release for X.org which wasn't otherwise released.
6.3.2 August 19, 2005
New:
- The distribution now includes the DRI drivers and GLX code
Changes:
- Made the DRI "new" driver interface standard, remove old code
Bug fixes:
- GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
- negative relative addressing in vertex programs was broken
- update/fix SPARC assembly code for vertex transformation
- fixed memory leak when freeing GLX drawables/renderbuffers
- fixed display list memory leak
- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
- wglGetProcAddress() didn't handle wgl-functions
- fixed glxext.h cross-compile issue (Colin Harrison)
- assorted DRI driver fixes
6.4 October 24, 2005
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
- fragment programs that wrote result.depth.z didn't work
6.4.1 November 30, 2005
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h
6.4.2 February 2, 2006
New:
- added OSMesaColorClamp() function/feature
- added wglGetExtensionStringARB() function
Bug fixes:
- fixed some problems when building on Windows
- GLw header files weren't installed by installmesa script (bug 5396)
- GL/glfbdev.h file was missing from tarballs
- fixed TNL initialization bug which could lead to crash (bug 5791)
6.5 March 31, 2006
New:
- OpenGL Shading Language support through GL_ARB_shader_objects,
GL_ARB_shading_language_100, GL_ARB_vertex_shader and
GL_ARB_fragment_shader (done by Michal Krol)
- GL_EXT_packed_depth_stencil extension
- GL_EXT_timer_query extension
- GL_EXT_framebuffer_blit extension
- GL_ARB_half_float_pixel
- reflect demo improved to support multiple windows
- singlebuffer demo (shows no/little-flicker single-buffered rendering)
- r200: enable GL_ARB_texture_env_crossbar, separate the texture
sampling unit bits from the texture env combine enable bits
- r200: add support for GL_ATI_fragment_shader
- added fast XOR-mode line drawing optimization
- radeon: add support for all 3 tmus, GL_ARB_texture_cube_map
and GL_EXT_fog_coord
- MESA_GLX_ALPHA_BITS env var for xlib driver
- many DRI driver updates (including screen rotation support
for the Intel DRI driver)
Changes:
- removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead)
- removed GL_SGIX/SGIS_pixel_texture extensions
Bug fixes:
- fixed glxcontextmodes.c datatype problem (bug 5835)
- fixed aix-gcc build/install bugs (bug 5874)
- fixed some bugs in texture env program generation
- glXCopyContext() didn't handle texture object bindings properly
- glXCopyContext() didn't copy all lighting state
- fixed FreeBSD config (Pedro Giffuni)
- fixed some minor framebuffer object bugs
- replaced dprintf() with _glu_printf() in GLU (bug 6244)
- fixed a number of thread safety bugs/regressions
- fixed a number of GLU tesselator bugs (John Shell, bug 6339)
- paletted texturing was broken w/ floating point palettes (K. Schultz)
- lots of assorted framebuffer object bug fixes

View File

@@ -1,15 +1,27 @@
<HTML>
<title>Banner</title>
<body text="#ffffff" bgcolor="#aa4444">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Banner</title>
</head>
<body bgcolor="#000000" text="#ffffff">
<center>
<p>
<font size="5">The Mesa 3D Graphics Library</font>
</p>
<table style="width: 95%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">
<p><img src="gears.png"> </p>
</td>
<td style="text-align: center;"><font face="sans-serif" size="5">The
Mesa 3D Graphics Library</font></td>
<td style="vertical-align: top; text-align: right;">
<p><img src="gears.png"> </p>
</td>
</tr>
</tbody>
</table>
<p><font face="sans-serif" size="5"><br>
</font></p>
</center>
</body>
</html>
</html>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Bug Reporting</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Bug Database</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Conformance</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Conformance</H1>

View File

@@ -2,7 +2,24 @@
<title>Contents</title>
<body text="#ffffff" bgcolor="#119955" link="#ffffff" vlink="#dddddd" alink="#ffffff">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<!--Override a few values from the style sheet: -->
<style>
<!--
body {
background-color: #cccccc;
color: black;
}
a:link {
color: #000;
}
a:visited {
color: #000;
}
-->
</style>
<b>Documentation</b>
<ul>
@@ -20,7 +37,6 @@
<b>Download / Install</b>
<ul>
<li><a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">Stable Release (6.2.1)</a>
<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
@@ -53,7 +69,6 @@
<li><a href="utilities.html" target="MainFrame">Utilities</a>
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
<li><a href="drivers.html" target="MainFrame">Writing Device Drivers</a>
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
<li><a href="subset.html" target="MainFrame">Subset Information</a>
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a>
@@ -64,7 +79,8 @@
<b>Links</b>
<ul>
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
<li><a href="http://dri.sourceforge.net" target="_parent">DRI website</a>
<li><a href="http://dri.freedesktop.org" target="_parent">DRI website</a>
<li><a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>
<li><a href="games.html" target="MainFrame">Games and Entertainment</a>
<li><a href="libraries.html" target="MainFrame">Libraries and Toolkits</a>
<li><a href="modelers.html" target="MainFrame">Modeling and Rendering</a>
@@ -73,9 +89,13 @@
<li><a href="demos.html" target="MainFrame">Demos / other</a>
</ul>
<b>Hosted by:</b>
<br>
<blockquote>
<A HREF="http://sourceforge.net"
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
</blockquote>
</body>
</html>
</html>

View File

@@ -2,7 +2,9 @@
<TITLE>Custom Development</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Custom Development</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>CVS Access</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<h1>CVS Access</h1>
@@ -38,14 +40,14 @@ Here are the basic instructions for Unix systems:
Version 1.9.28 is known to work.
<li>Login as an anonymous user:
<pre>
cvs -d:pserver:anonymous@pdx.freedesktop.org:/cvs/mesa login
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa login
</pre>
Just press Enter/Return when prompted for a password.
<br>
<br>
<li>Check out the code:
<pre>
cvs -d:pserver:anonymous@pdx.freedesktop.org:/cvs/mesa co Mesa
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa co Mesa
</pre>
</ol>
@@ -54,7 +56,7 @@ Here are the basic instructions for Unix systems:
<ol>
<li><code>cd Mesa</code>
<li><code>cvs -z3 -d:pserver:anonymous@pdx.freedesktop.org:/cvs/mesa update</code>
<li><code>cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa update</code>
</ol>
@@ -65,9 +67,11 @@ Here are the basic instructions for Unix systems:
Mesa developers working with the Mesa CVS repository need to first
have an account on <a href="http://www.freedesktop.org" target="_parent">
freedesktop.org</a>.
You can request an account from either
<a href="mailto:dstone@trinity.unimelb.edu.au">Daniel Stone</a> or
<a href="mailto:eta@lclark.edu">Eric Anholt</a>.
To get an account, please ask Brian or the other Mesa developers for
permission.
Then, if there are no objections, follow this
<a href="http://www.freedesktop.org/wiki/AccountRequests" target="_parent">
procedure</a>.
</p>
<p>
@@ -82,7 +86,7 @@ with:
</pre>
followed by:
<pre>
cvs -d:ext:yourusername@pdx.freedesktop.org:/cvs/mesa co Mesa
cvs -d:ext:yourusername@cvs.freedesktop.org:/cvs/mesa co Mesa
</pre>
<p>

View File

@@ -2,7 +2,9 @@
<TITLE>CVS Branches</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>CVS Branch Information</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Debugging Tips</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Debugging Tips</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Demos</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Demos</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Development Notes</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Development Notes</H1>
@@ -81,7 +83,7 @@ Brace example:
Here's the GNU indent command which will best approximate my preferred style:
</p>
<pre>
indent -br -i3 -npcs infile.c -o outfile.c
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
</pre>
@@ -143,7 +145,7 @@ DEMO_NAME are correct.
</p>
<p>
Update the docs/news.html file and docs/contents.html files.
Update the docs/news.html file and docs/download.html files.
</p>
<p>

View File

@@ -2,103 +2,133 @@
<TITLE>Getting Mesa</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<H1>Downloading / Unpacking</H1>
<BODY>
<H1>Downloading</H1>
<p>
Mesa can be downloaded from the
<a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">
SourceForge download area</A>.
Last development release: <b>6.5</b>
</p>
<p>
Since version 2.3, Mesa is distributed in two pieces: main library code
and demos. If you're upgrading from a previous version of Mesa or you're not
interested in the demos you can just download the core Mesa archive file.
Last stable release: <b>6.4.2</b>
</p>
<p>
Mesa is available in at least three archive formats:
Primary download site:
<a href="http://sourceforge.net/project/showfiles.php?group_id=3"
target="_parent">SourceForge</a>
</p>
<p>
Mesa is distributed in several parts:
</p>
<ul>
<li><b>MesaLib-x.y.z</b> - the main Mesa library source code, drivers
and documentation.
</li>
<li><b>MesaDemos-x.y.z</b> - OpenGL demonstration and test programs.
Most of the programs require GLUT (either the
<a href="http://www.opengl.org/resources/libraries/glut.html"
target="_parent">original GLUT by Mark Kilgard</a> or
<a href="http://freeglut.sourceforge.net" target="_parent">freeglut</a> or
<a href="http://freeglut.sourceforge.net" target="_parent">OpenGLUT</a>).
</li>
<li><b>MesaGLUT-x.y.z</b> - Mark Kilgard's GLUT, easily compiled and used
with Mesa. Plus, other implementation of GLUT for DOS, OS/2, BeOS, etc.
</li>
</ul>
<p>
If you're not interested in running the demos, you'll only need the first
package.
</p>
<p>
The packages are available in .tar.gz, .tar.bz2 and .zip formats.
Other organizations might offer additional package formats.
</p>
<H1>Unpacking</H1>
<p>
All the packages should be in the same directory prior to unpacking.
</p>
<ul>
<li>To unpack .tar.gz files:
<pre>
1. GNU zip/tar
Download MesaLib-X.Y.tar.gz and optionally MesaDemos-X.Y.tar.gz
Unpack with:
gzcat MesaLib-X.Y.tar.gz | tar xf -
gzcat MesaDemos-X.Y.tar.gz | tar xf -
or
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
or
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
If you don't have gzcat try zcat instead.
2. Unix compressed/tar
Download MesaLib-X.Y.tar.Z and optionally MesaDemos-X.Y.tar.Z
Unpack with:
zcat MesaLib-X.Y.tar.Z | tar xf -
zcat MesaDemos-X.Y.tar.Z | tar xf -
3. ZIP format
Download MesaLib-X.Y.zip and optionally MesaDemos-X.Y.zip
Unpack with:
unzip MesaLib-X.Y.zip
unzip MesaDemos-X.Y.zip
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
tar zxf MesaGLUT-X.Y.tar.gz
</pre>
or
<pre>
gzcat MesaLib-X.Y.tar.gz | tar xf -
gzcat MesaDemos-X.Y.tar.gz | tar xf -
gzcat MesaGLUT-X.Y.tar.gz | tar xf -
</pre>
or
<pre>
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaDemos-X.Y.tar
gunzip MesaGLUT-X.Y.tar.gz ; tar xf MesaGLUT-X.Y.tar
</pre>
<li>To unpack .tar.bz2 files:
<pre>
bunzip2 -c MesaLib-X.Y.tar.gz | tar xf -
bunzip2 -c MesaDemos-X.Y.tar.gz | tar xf -
bunzip2 -c MesaGLUT-X.Y.tar.gz | tar xf -
</pre>
<li>To unpack .zip files:
<pre>
unzip MesaLib-X.Y.zip
unzip MesaDemos-X.Y.zip
unzip MesaGLUT-X.Y.zip
</pre>
</ul>
<h1>Contents</h1>
<p>
After unpacking you'll have these directories (and more):
After unpacking you'll have these directories:
</p>
<pre>
Makefile.X11 - top-level Makefile for X11-based systems
Make-config - system configurations used by the Makefile.X11
Makefile - top-level Makefile for most systems
configs/ - makefile parameter files for various systems
include/ - GL header (include) files
bin/ - shell scripts for making shared libraries, etc
lib/ - final client libraries, created during compilation
docs/ - documentation
src/ - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
src/glu - libGLU source code
src/glw - Xt/Motif/OpenGL widget code
</pre>
If you downloaded and unpacked the MesaDemos.X.Y package:
and if you downloaded and unpacked the MesaDemos.X.Y archive:
src/glut - GLUT source code
progs/ - OpenGL programs
<pre>
progs/demos - original Mesa demos
progs/xdemos - GLX OpenGL/Mesa demos
progs/redbook - examples from the OpenGL Programming Guide
progs/samples - examples from SGI
progs/images/ - image files
</pre>
If you downloaded and unpacked the MesaGLUT.X.Y package:
<pre>
src/glut - GLUT library source code
</pre>
<p>
Proceed to <a href="install.html">compilation and installation
Proceed to the <a href="install.html">compilation and installation
instructions</a>.
</p>
<H1>GLUT</H1>
<p>
Mesa 2.5 and later includes Mark Kilgard's GLUT library (GL Utility Toolkit).
GLUT is built automatically on systems which support it.
</p>
<p>
The GLUT tests, demos, examples, etc are not included, just the main library.
To obtain the latest complete release of GLUT please visit the
<a href="http://www.opengl.org/resources/libraries/glut.html"
target ="_parent">GLUT page</a> on www.opengl.org.
</p>
</BODY>
</HTML>

View File

@@ -2,7 +2,9 @@
<TITLE>Environment Variables</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Environment Variables</H1>
@@ -14,25 +16,29 @@ Mesa supports the following environment variables:
<li>MESA_NO_MMX - if set, disables Intel MMX optimizations
<li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
<li>MESA_NO_SSE - if set, disables Intel SSE optimizations
<li>MESA_DEBUG - if set, error messages are printed to stderr
<li>MESA_DEBUG - if set, error messages are printed to stderr.
If the value of MESA_DEBUG is "FP" floating point arithmetic errors will
generate exceptions.
<li>MESA_NO_DITHER - if set, disables dithering, overriding glEnable(GL_DITHER)
</ul>
<p>
The following environment variables are only applicable to the Xlib/X11
software driver:
The following are only applicable to the Xlib software driver.
See <A HREF="README.X11">README.X11</A> for details.
</p>
<ul>
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
<li>MESA_GAMMA - gamma correction coefficients (X only)
<li>MESA_XSYNC - enable synchronous X behavior (for X debugging only)
<li>MESA_GLX_FORCE_CI - if set, force GLX to treak 8bpp visuals as CI visuals
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode
<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode
<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer,
either "pixmap" or "ximage"
<li>MESA_GAMMA - gamma correction coefficients for red, green, blue channels
<li>MESA_XSYNC - enable synchronous X behavior (for debugging only)
<li>MESA_GLX_FORCE_CI - if set, force GLX to treat 8bpp visuals as CI visuals
<li>MESA_GLX_FX - set to either "fullscreen" for full-screen rendering,
"window" to render into a window, or "disable" to disable the Glide driver.
<li>MESA_GLX_FORCE_ALPHA - if set, forces RGB windows to have an alpha channel.
<li>MESA_GLX_DEPTH_BITS - specifies default number of bits for depth buffer.
<li>MESA_GLX_ALPHA_BITS - specifies default number of bits for alpha channel.
</ul>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Extensions</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Mesa Extensions</H1>

View File

@@ -2,12 +2,14 @@
<head><title>Mesa FAQ</title></head>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<center>
<h1>Mesa Frequently Asked Questions</h1>
Last updated: 17 November 2004
Last updated: 21 October 2004
</center>
<br>
@@ -37,14 +39,14 @@ See the </a><a href="http://www.opengl.org/">OpenGL website</a> for more
information.
</p>
<p>
Mesa 5.x supports the OpenGL 1.4 specification.
Mesa 6.x supports the OpenGL 1.5 specification.
</p>
<h2>1.2 Does Mesa support/use graphics hardware?</h2>
<p>
Yes. Specifically, Mesa serves as the OpenGL core for the open-source
XFree86/DRI OpenGL drivers. See the <a href="http://dri.sf.net/">DRI
Yes. Specifically, Mesa serves as the OpenGL core for the open-source DRI
drivers for XFree86/X.org. See the <a href="http://dri.sf.net/">DRI
website</a> for more information.
</p>
<p>
@@ -60,7 +62,8 @@ operating systems today.
Still, Mesa serves at least these purposes:
</p>
<ul>
<li>Mesa is used as the core of the open-source XFree86/DRI hardware drivers.
<li>Mesa is used as the core of the open-source XFree86/X.org DRI
hardware drivers.
</li>
<li>Mesa is quite portable and allows OpenGL to be used on systems
that have no other OpenGL solution.
@@ -84,8 +87,8 @@ Still, Mesa serves at least these purposes:
<h2>1.4 What's the difference between"Stand-Alone" Mesa and the DRI drivers?</h2>
<p>
<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
On systems running the X Window System, it does all its rendering through
the Xlib API.
On systems running the X Window System it does all its rendering through
the Xlib API:
<ul>
<li>The GLX API is supported, but it's really just an emulation of the
real thing.
@@ -114,21 +117,10 @@ within the DRI (Direct Rendering Infrastructure):
<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
<p>
You don't! A copy of the Mesa source code lives inside the XFree86/DRI source
tree and gets compiled into the individual DRI driver modules.
If you try to install Mesa over an XFree86/DRI installation, you'll lose
hardware rendering (because stand-alone Mesa's libGL.so is different than
the XFree86 libGL.so).
</p>
<p>
The DRI developers will incorporate the latest release of Mesa into the
DRI drivers when the time is right.
</p>
<p>
To upgrade, either look for a new release of <a href="http://www.xfree86.org"
target="_parent">XFree86</a> or visit the
<a href="http://dri.sf.net" target="_parent">DRI website</a> to see
if there's newer drivers.
This wasn't easy in the past.
Now, the DRI drivers are included in the Mesa tree and can be compiled
separately from the X server.
Just follow the Mesa <a href="install.html">compilation instructions</a>.
</p>
@@ -199,7 +191,7 @@ Mesa no longer supports GNU autoconf/automake. Why?
</ul>
<p>
Now, Mesa again uses a conventional Makefile system (as it did originally).
Now Mesa again uses a conventional Makefile system (as it did originally).
Basically, each Makefile in the tree includes one of the configuration
files from the config/ directory.
The config files specify all the variables for a variety of popular systems.
@@ -217,9 +209,9 @@ Mesa's not the solution.
<h2><a name="part2">2.4 Where is the GLUT library?</a></h2>
<p>
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaDemos
package and unpack it before compiling Mesa.
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaGLUT-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaGLUT
package and compile it with the rest of Mesa.
</a></p>
@@ -248,7 +240,7 @@ Mesa version number.
version number.
</li></ul>
<p>
After installing XFree86 and the DRI drivers, some of these files
After installing XFree86/X.org and the DRI drivers, some of these files
may be symlinks into the /usr/X11R6/ tree.
</p>
<p>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa fbdev/DRI Environment</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<center><H1>Mesa fbdev/DRI Drivers</H1></center>
@@ -68,13 +70,13 @@ They're found in a module of the DRI CVS tree.
To obtain the code do the following:
</p>
<pre>
cvs -d:pserver:anonymous@pdx.freedesktop.org:/cvs/dri login
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri login
</pre>
<p>
Press Enter/Return when prompted for a password. Then,
</p>
<pre>
cvs -d:pserver:anonymous@pdx.freedesktop.org:/cvs/dri co drm
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm
</pre>
<p>

View File

@@ -2,7 +2,9 @@
<TITLE>Games</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Games</H1>

BIN
docs/gears.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa glFBDev Driver</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<center><H1>Mesa glFBDev Driver</H1></center>

View File

@@ -2,7 +2,9 @@
<TITLE>SGI GLU</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>SGI SI GLU</H1>
@@ -22,7 +24,7 @@ We're no longer developing the original Mesa GLU library.
</p>
<p>
The new SI GLU library code is included in the Mesa package.
The SI GLU library code is included in the Mesa distribution.
You don't have to download it separately.
</p>

View File

@@ -2,59 +2,71 @@
<TITLE>Help Wanted</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Help Wanted</H1>
<p>
We can always use more help with the Mesa project. Here are some
specific areas. If you think you can help out, post to the mesa3d-dev
mailing list.
We can always use more help with the Mesa project.
Here are some specific ideas and areas where help would be appreciated:
</p>
<ul>
<li>Windows 98/NT build/driver maintenance and testing (Karl Schultz has been
doing a great job of this lately)
<li>DOS/DJGPP build/driver maintenance and testing
<li>GGI driver/build maintenance and testing
<li>GNU autoconfig/libtool maintenance (esp. on non-Linux systems)
<li>x86, SSE, 3DNow! and SPARC assembly language programming
<li>Implement WGL font functions in the WGL interface code
<li>Implement off-screen bitmap rendering support in the WGL interface code
<li>Help with writing/testing the new NV_fragment_program extension code
<li>Implement the ARB_vertex/fragment extensions
<li>Download/compile/test Mesa and report any bugs found
</ul>
<ol>
<li><p>
Generate the src/mesa/main/enums.c file with a Python script which
uses the gl_API.xml file.
</p>
<li><p>
Try to auto-generate the display list "save" functions seen in dlist.c
using a Python script and the gl_API.xml file.
The gl_API.xml file will probably need a new tag to indicate whether or
not each function gets compiled into display lists.
</p>
<li><p>
Maintenance of assembly language files on Linux, Windows and SPARC systems.
</p>
<li><p>
Help to incorporate the 3Dlabs' shading language compiler for OpenGL 2.0.
</p>
<li><p>
Implement assembly language (SSE/MMX) code generation for
vertex/fragment programs.
</p>
<li><p>
Windows 98/NT driver building, maintenance and testing
(Karl Schultz has been doing a great job of this lately).
</p>
<li><p>
Maintenance and testing of various drivers, such as DOS/DJGPP, GGI, etc.
</p>
<li><p>
Write new tests for Glean.
</p>
</ol>
<p>
If you want to help with Mesa, first join the Mesa developer's
mailing list. Then post a message explaining what you might like
to help with. The Mesa web page has a list of a few work items
which you may consider.
mailing list.
Then post a message to propose what you want to do, just to make sure
there's no issues.
</p>
</p>
Anyone is welcome to contribute code to the Mesa project, provided you
agree to the copyright terms of the relevant code. See the COPYRIGHT
file.
Anyone is welcome to contribute code to the Mesa project.
By doing so, it's assumed that you agree to the code's licensing terms.
</p>
<p>
Unfortunately, all the easy work in Mesa was done years ago. Nowadays, the
work is rather complicated and not suited to beginners.
</p>
Finally:
<p>
<p>
If you're contribution code to the Mesa library itself:
<p>
<ol>
<li>Try to write clean code (uniform indentation, comments, meaningful
identifiers, etc). It must be readable and maintainable!
<li>Test your code. On several occations I've incorporated code from
users which later turned out to have bugs. Now, I'm pretty hesitant
to use code which doesn't look good.
<li>Try to write high-quality code that follows the existing style.
<li>Use uniform indentation, write comments, use meaningful identifiers, etc.
<li>Test your code thoroughly. Include test programs if appropriate.
</ol>

View File

@@ -1,23 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<title>Mesa Home Page</title></head>
<head>
<title>Mesa Home Page</title>
</head>
<frameset rows="80,*" border="0" frameborder="yes">
<frameset rows="50,100% " border="1" framespacing="1" frameborder="yes">
<frame src="banner.html" name="BannerFrame" scrolling="no" marginwidth="1" marginheight="1" resize="">
<frameset cols="28%,72% " border="1" framespacing="1" frameborder="yes">
<frame src="contents.html" name="ContentsFrame" marginwidth="2" marginheight="1" resize="">
<frame src="news.html" name="MainFrame" marginwidth="3" marginheight="1" resize="">
</frameset>
</frameset>
<frame src="banner.html" name="BannerFrame"
scrolling="no" marginwidth="1" marginheight="1">
<frameset cols="28%,72% " border="1" frameborder="yes">
<frame src="contents.html" name="ContentsFrame"
marginwidth="2" marginheight="1" noresize="noresize">
<frame src="news.html" name="MainFrame"
marginwidth="3" marginheight="1" noresize="noresize">
</frameset>
<noframes>
<BODY>
<P>
</body>
<p>Sorry, this site requires frame support</p>
</noframes>
</html>
</frameset>
</html>

View File

@@ -2,7 +2,9 @@
<TITLE>Compilation and Installation</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Compilation and Installation</H1>
@@ -19,53 +21,69 @@
<a name="unix-x11">
<H2>1. Unix/X11 Compilation and Installation</H1>
<p>
Mesa uses a rather conventional Makefile system.
A GNU autoconf/automake system used to be included, but was discarded
in Mesa 5.1 because:
</p>
<ul>
<li>It seldom worked on IRIX, Solaris, AIX, etc.
<li>It was very compilicated
<li>Nobody maintained it
<li>libtool was just too weird
</ul>
<p>
If someone strongly feels that Mesa should have a autoconf/automake
system and wants to contribute one and maintain it, we'll consider
adding it again.
</p>
<p>
In Mesa 6.1 we modified the conventional Makefile system.
Instead of specifying all the various system configurations in the
Make-config file, there's a directory named <code>configs/</code> which
has an individual file for each configuration.
One of the configs gets copied to <code>configs/current</code>, which
is then included by all Makefiles.
</p>
<h3>1.1 Compilation</h3>
<p>
Note: if you've obtained Mesa through CVS, do this first:
Mesa may be compiled in several different ways:
</p>
<pre>
cd Mesa
chmod a+x bin/mklib
</pre>
<ul>
<li><b><em>Stand-alone/Xlib mode</em></b> - Mesa is compiled as
a software renderer using Xlib to do all rendering.
libGL.so is a self-contained rendering library.
<p>
Just type <b>make</b> in the top-level directory.
To compile stand-alone Mesa type <b>make</b> in the top-level directory.
You'll see a list of supported system configurations.
Choose one from the list (such as linux-x86), and type:
</p>
<pre>
make linux-x86
</pre>
<p>This will produce libGL.so and several other libraries</p>
</li>
<li><b><em>DRI/accelerated</em></b> - The DRI hardware drivers (for ATI,
Intel, Matrox, etc) are built.
libGL.so implements the GLX extension and dynamically loads the DRI drivers.
<p>
If you want to rebuild for a different configuration run
To build the DRI drivers you'll first need to have the DRM (Direct
Rendering Manager) kernel drivers and header files.
They're available from the <a href="http://dri.sf.net/" target="_parent">DRI</a> project.
</p>
<p>
Your distribution should already have both the kernel modules and support
library already installed. If not, you can get them from CVS by doing:
<pre>
cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm
</pre>
<p>
See the <a href="http://dri.freedesktop.org/wiki/Building" target="_parent">
DRI Building Instructions</a> for the steps to build the DRM modules. Mesa
6.5 requires at least libdrm 2.0.1 or greater.
</p>
<p>
Build Mesa and the DRI drivers by running
</p>
<pre>
make linux-dri
</pre>
<p>
There are also <code>linux-dri-x86</code>, <code>linux-dri-x86-64</code>,
and <code>linux-ppc</code> configurations, optimized for those architectures.
</p>
<p>
Finally, you'll need a DRI-enabled X server from
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
X.org</a> or <a href="http://www.xfree86.org" target="_parent">XFree86</a>.
Visit those projects' home pages for more information.
</p>
</li>
</ul>
<p>
Later, if you want to rebuild for a different configuration run
<code>make realclean</code> before rebuilding.
</p>
@@ -73,7 +91,8 @@ If you want to rebuild for a different configuration run
<h3>1.2 The libraries</h3>
<p>
When compilation has finished, look in the top-level <b>lib/</b> directory.
When compilation has finished, look in the top-level <code>lib/</code>
directory.
You'll see a set of library files similar to this:
</p>
<pre>
@@ -106,6 +125,23 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM
<b>libOSMesa</b> is the OSMesa (Off-Screen) interface library.
</p>
<p>
If you built the DRI hardware drivers, you'll also see the DRI drivers:
</p>
<pre>
-rwxr-xr-x 1 brian users 11320803 Jul 21 12:11 mach64_dri.so
-rwxr-xr-x 1 brian users 11418014 Jul 21 12:12 mga_dri.so
-rwxr-xr-x 1 brian users 11064426 Jul 21 12:12 r128_dri.so
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
-rwxr-xr-x 1 brian users 11232304 Jul 21 12:13 s3v_dri.so
-rwxr-xr-x 1 brian users 11062970 Jul 21 12:13 savage_dri.so
-rwxr-xr-x 1 brian users 11214212 Jul 21 12:13 sis_dri.so
-rwxr-xr-x 1 brian users 11368736 Jul 21 12:13 tdfx_dri.so
-rwxr-xr-x 1 brian users 10598868 Jul 21 12:13 trident_dri.so
-rwxr-xr-x 1 brian users 10997120 Jul 21 12:13 unichrome_dri.so
</pre>
<h3>1.3 Running the demos</h3>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Introduction</TITLE>
<BODY text="#000000" bgcolor="#55bbff">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Introduction</H1>
@@ -80,7 +82,7 @@ my work hours at the Space Science and Engineering Center at the University
of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html" target="_parent">Vis5D</a> project.
</p><p>
October 1996: Mesa 2.0 is released. It implementes the OpenGL 1.1 specification.
October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1 specification.
</p>
<p>
@@ -132,9 +134,9 @@ GL_ARB_fragment_program extensions.
<p>
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for XFree86
within the
<A href="http://dri.sourceforge.net/" target="_parent">DRI project</A>.
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for
the XFree86 X.org X servers within the
<A href="http://dri.freedesktop.org/" target="_parent">DRI project</A>.
I continue to enhance Mesa with new extensions and features.
</p>
@@ -144,7 +146,8 @@ I continue to enhance Mesa with new extensions and features.
<p>
This is a summary of the major versions of Mesa. Note that Mesa's major
version number tracks OpenGL's minor version number.
version number tracks OpenGL's minor version number (+1).
Work is underway to implement the OpenGL 2.0 specification.
</p>
@@ -160,10 +163,11 @@ extensions incorporated as standard features:
</ul>
<p>
Also note that several OpenGL tokens were renamed in OpenGL 1.5
for the sake of consistency. The old names will still be valid.
for the sake of consistency.
The old tokens are still available.
</p>
<pre>
New Name Old Name
New Token Old Token
------------------------------------------------------------
GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
GL_FOG_COORD GL_FOG_COORDINATE

View File

@@ -2,7 +2,9 @@
<TITLE>Libraries and Toolkits</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Libraries and Toolkits</H1>
@@ -19,7 +21,7 @@
<li><a href="http://math.nist.gov/f90gl" target="_parent">Fortran77/90 bindings for OpenGL and Mesa</a> - by William Mitchell
<li><a href="http://glow.sourceforge.net/" target="_parent">GLOW</a> - a GUI toolkit for GLUT and OpenGL
<li><a href="http://www.nigels.com/glt/">Glt</a> - an OpenGL C++ toolkit
<li><a href="http://www.opengl.org/developers/documentation/glut/" target="_parent">GLUT (GL Utility Toolkit)</a> - by Mark Kilgard
<li><a href="http://www.opengl.org/resources/libraries/glut.html" target="_parent">GLUT (GL Utility Toolkit)</a> - by Mark Kilgard
<li><a href="http://atrey.karlin.mff.cuni.cz/%7E0rfelyus/guileGL/" target="_parent">GuileGL</a> - OpenGL and GtkGLArea language bindings for Guile
<li><a href="http://www.rsinc.com/" target="_parent">IDL</a> - Interactive Data Language
<li><a href="http://www.newplanetsoftware.com/jx/" target="_parent">JX</a> - C++ application framework and GUI library

View File

@@ -2,7 +2,9 @@
<TITLE>License / Cppyright Information</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>License / Copyright Information</H1>
@@ -11,17 +13,18 @@ The Mesa distribution consists of several components. Different copyrights
and licenses apply to different components. For example, GLUT is copyrighted
by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
device drivers are copyrighted by their authors. See below for a list of
Mesa's components and the copyright/license for each.
Mesa's main components and the license for each.
</p>
<p>
The core Mesa library is licensed according to the terms of the XFree86
copyright (an MIT-style license). This allows integration with the
XFree86/DRI project. Unless otherwise stated, the Mesa source code and
documentation is licensed as follows:
The core Mesa library is licensed according to the terms of the MIT license.
This allows integration with the XFree86, Xorg and DRI projects.
</p>
<p>
The default Mesa license is as follows:
</p>
<pre>
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -45,70 +48,38 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<H1>Attention, Contributors</H1>
<p>
When contributing to the Mesa project you must agree to relinquish your
work to the holder of the copyright for the particular component you're
contributing to. That is, you can't put your own copyright on the code,
unless it's a modular piece that can be omitted from Mesa (like a new
device driver). If for example, you contribute a bug fix to Mesa's
texture mapping code, your code will become a part of the body of work
which is copyrighted by Brian Paul and licensed by the above terms.
When contributing to the Mesa project you must agree to the licensing terms
of the component to which you're contributing.
The following section lists the primary components of the Mesa distribution
and their respective licenses.
</p>
<H1>Mesa Component Licenses</H1>
<pre>
Mesa Component Licenses:
Component Files Primary Author License
Component Location Primary Author License
----------------------------------------------------------------------------
core Mesa code src/*.[ch] Brian Paul Mesa
include/GL/gl.h
Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
GLX driver src/X/* Brian Paul Mesa
include/GL/glx.h
include/GL/xmesa.h
Device drivers src/mesa/drivers/* See drivers See drivers
OS/Mesa driver src/OSmesa/* Brian Paul Mesa
include/GL/osmesa.h
Ext headers include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
3Dfx driver src/FX/* David Bucciarelli Mesa
include/GL/fxmesa.h
GLUT src/glut/ Mark Kilgard Mark's copyright
BeOS R4 driver src/BeOS/* Brian Paul Mesa
Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
MGL driver src/MGL/* SciTech, Inc SciTech copyright
include/GL/mglmesa.h
SGI GLU library src/glu/sgi/ SGI SGI Free B
Windows driver src/Windows/* Li Wei copyright by Li Wei
include/GL/wmesa.h
demo programs progs/demos/ various see source files
SVGA driver src/SVGA/* Brian Paul GNU-LGPL
include/GL/svgamesa.h
X demos progs/xdemos/ Brian Paul see source files
DOS driver src/DOS/* Charlie Wallace GNU-LGPL
include/GL/dosmesa.h
SGI demos progs/samples/ SGI SGI copyright
GGI driver src/GGI/* Uwe Maurer GNU-LGPL
include/GL/ggimesa.h
S3 driver src/S3/* S3, Inc. S3 copyright
GLUT src-glut/* Mark Kilgard Mark's copyright
include/GL/*glut*.h
GLU library src-glu/* Brian Paul GNU-LGPL
SI GLU library si-glu/* SGI SGI Free B
include/GL/glu.h
Ext registry include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
demo programs demos/* various see source files
X demos xdemos/* Brian Paul see source files
SGI demos samples/* SGI SGI copyright
RedBook demos book/* SGI SGI copyright
RedBook demos progs/redbook/ SGI SGI copyright
</pre>
</body>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Mailing Lists</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Mailing Lists</H1>
@@ -28,7 +30,8 @@ SourceForge lists page.</a>
with the mailing lists please contact the SourceForge administrators for help.</p>
<p>Archives of the old Mesa mailing list which was hosted by unicamp.br
are available <a href="http://groups.yahoo.com/group/mesa/messages/">here</a>.</p>
are available <a href="http://groups.yahoo.com/group/mesa/messages/"
target="_parent">here</a>.</p>
<p>
Here are some other OpenGL-related forums you might find useful:
@@ -44,7 +47,8 @@ Usenet newsgroups:
</p>
<p>
<a href="http://www.opengl.org/">OpenGL discussion forums</A> at www.opengl.org
<a href="http://www.opengl.org/" target="_parent">OpenGL discussion forums</A>
at www.opengl.org
</p>
</HTML>

View File

@@ -2,7 +2,9 @@
<TITLE>Function Name Mangling</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Function Name Mangling</H1>

33
docs/mesa.css Normal file
View File

@@ -0,0 +1,33 @@
/* Mesa CSS */
body {
background-color: #ffffff;
font: 14px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
color: black;
link: #111188;
}
h1 {
font: 24px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
font-weight: bold;
color: black;
}
h2 {
font: 18px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif, bold;
font-weight: bold;
color: black;
}
code {
font-family: monospace;
font-size: 10pt;
color: black;
}
pre {
/*font-family: monospace;*/
font-size: 10pt;
/*color: black;*/
}

View File

@@ -2,7 +2,9 @@
<TITLE>Modelers, Renderers and Viewers</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Modelers, Renderers and Viewers</H1>
@@ -12,7 +14,7 @@
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">ARCAD</a> - CAD program
</li><li><a href="http://www.mediascape.com/" target="_parent">Artstream</a> - provides
functionality like Corel Draw and Illustrator
</li><li><a href="http://www.blender.nl/" target="_parent">Blender</a> - 3-D animation
</li><li><a href="http://www.blender.org/" target="_parent">Blender</a> - 3-D animation
software
</li><li><a href="http://www.arq.net/%7Ekasten/demtools/" target="_parent">Demtools</a>
- Map viewer
@@ -30,7 +32,7 @@
- VRML viewer
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
- VR graphics and interaction system
</li><li><a href="http://www.swissquake.ch/chumb.alum-soft" target="_parent">MD2 Viewer</a>
</li><li><a href="http://www.swissquake.ch/chumbalum-soft/md2v" target="_parent">MD2 Viewer</a>
- View .MD2 files
</li><li><a href="http://www.megacads.dlr.de/" target="_parent">MegaCads</a>
- Multiblock-Elliptic-Grid-Generation-And-CAD-System
@@ -60,8 +62,6 @@
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">VRweb</a> - VRML browser
</li><li><a href="http://www.csv.ica.uni-stuttgart.de/vrml/dune/" target="_parent">white_dune</a>
- graphical VRML97 Editor and animation tool
</li><li><a href="http://www.wings3d.org/" target="_parent">Wings 3D</a> - static 3D modeller
with VRML export. Uses SDL library.
</li></ul>

View File

@@ -2,11 +2,271 @@
<TITLE>Mesa News</TITLE>
<BODY text="#000000" bgcolor="#55bbff">
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>News</H1>
<h2>March 31, 2006</h2>
<p>
Mesa 6.5 has been released. This is a new development release.
</p>
<pre>
New:
- OpenGL Shading Language support through GL_ARB_shader_objects,
GL_ARB_shading_language_100, GL_ARB_vertex_shader and
GL_ARB_fragment_shader (done by Michal Krol)
- GL_EXT_packed_depth_stencil extension
- GL_EXT_timer_query extension
- GL_EXT_framebuffer_blit extension
- GL_ARB_half_float_pixel
- GLX_MESA_copy_sub_buffer for DRI drivers (Dave Reveman)
- reflect demo improved to support multiple windows
- singlebuffer demo (shows no/little-flicker single-buffered rendering)
- r200: enable GL_ARB_texture_env_crossbar, separate the texture
sampling unit bits from the texture env combine enable bits
- r200: add support for GL_ATI_fragment_shader
- added fast XOR-mode line drawing optimization
- radeon: add support for all 3 tmus, GL_ARB_texture_cube_map
and GL_EXT_fog_coord
- MESA_GLX_ALPHA_BITS env var for xlib driver
- many DRI driver updates (including screen rotation support
for the Intel DRI driver)
Changes:
- removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead)
- removed GL_SGIX/SGIS_pixel_texture extensions
Bug fixes:
- fixed glxcontextmodes.c datatype problem (bug 5835)
- fixed aix-gcc build/install bugs (bug 5874)
- fixed some bugs in texture env program generation
- glXCopyContext() didn't handle texture object bindings properly
- glXCopyContext() didn't copy all lighting state
- fixed FreeBSD config (Pedro Giffuni)
- fixed some minor framebuffer object bugs
- replaced dprintf() with _glu_printf() in GLU (bug 6244)
- fixed a number of thread safety bugs/regressions
- fixed a number of GLU tesselator bugs (John Shell, bug 6339)
- paletted texturing was broken w/ floating point palettes (K. Schultz)
- lots of assorted framebuffer object bug fixes
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
TBD
</pre>
<h2>February 2, 2006</h2>
<p>
Mesa 6.4.2 has been released. This is primarily a bug-fix release.
</p>
<pre>
New items:
- added OSMesaColorClamp() function/feature
- added wglGetExtensionStringARB() function
Bug fixes:
- fixed some problems when building on Windows
- GLw header files weren't installed by installmesa script (bug 5396)
- GL/glfbdev.h file was missing from tarballs
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
cb0d745d520fa7c2bb9178058b763544 MesaLib-6.4.2.tar.gz
7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2
d224e1325b33ff71a0f3893fc6b4d594 MesaLib-6.4.2.zip
d4b345d4588fc750cd3d34f3ac26673e MesaDemos-6.4.2.tar.gz
9cae1ab874af533ce356bd7dfe2e0bb0 MesaDemos-6.4.2.tar.bz2
2da6e1d1245e441d27813595c6ba50de MesaDemos-6.4.2.zip
84427d18c3453f0ea52388eeba7169b5 MesaGLUT-6.4.2.tar.gz
b157ba8ad1ea63260cf5339132e7aac6 MesaGLUT-6.4.2.tar.bz2
fe1523744fc05edc3811dfc6a1bf4181 MesaGLUT-6.4.2.zip
</pre>
<h2>November 29, 2005</h2>
<p>
Mesa 6.4.1 has been released. This is a stable, bug-fix release.
</p>
<pre>
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
698ceb574cf882b0226761f5913c0da9 MesaLib-6.4.1.tar.gz
ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2
42e93279468975ed2bf3111b8721e5d9 MesaLib-6.4.1.zip
e3b0d50807fd2bdcd1a95aaddd786f13 MesaDemos-6.4.1.tar.gz
99df1fdcb98d391666b476ca6f1dda8a MesaDemos-6.4.1.tar.bz2
b999d2c6d92fb4b7740a3dbd889348e3 MesaDemos-6.4.1.zip
eadfe01fe5ddfb1eb8227dd567b31635 MesaGLUT-6.4.1.tar.gz
bd003bb4f981a4f91dee4c38644d4f3f MesaGLUT-6.4.1.tar.bz2
71c401c037088bf688a88afdaeb3420f MesaGLUT-6.4.1.zip
</pre>
<h2>October 24, 2005</h2>
<p>
Mesa 6.4 has been released. This is a stable, bug-fix release.
</p>
<pre>
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz
85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2
b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip
d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz
1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2
607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip
3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz
0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2
02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip
</pre>
<h2>August 19, 2005</h2>
<p>
Mesa 6.3.2 has been released.
Note: there was no public release of version 6.3.1.
</p>
<pre>
New:
- The distribution now includes the DRI drivers and GLX code
Changes:
- Made the DRI "new" driver interface standard, remove old code
Bug fixes:
- GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
- negative relative addressing in vertex programs was broken
- update/fix SPARC assembly code for vertex transformation
- fixed memory leak when freeing GLX drawables/renderbuffers
- fixed display list memory leak
- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
- wglGetProcAddress() didn't handle wgl-functions
- fixed glxext.h cross-compile issue (Colin Harrison)
- assorted DRI driver fixes
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
98192e45ed8d69113688f89f90869346 MesaLib-6.3.2.tar.gz
0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2
ccb2423aab77fc7e81ce628734586140 MesaLib-6.3.2.zip
9d0fca0a7d051c34a0b485423fb3e85d MesaDemos-6.3.2.tar.gz
96708868450c188205e42229b5d813c4 MesaDemos-6.3.2.tar.bz2
c5102501e609aa8996d832fafacb8ab9 MesaDemos-6.3.2.zip
</pre>
<h2>July 20, 2005</h2>
<p>
Mesa 6.3 has been released.
This is a development release with new features, changes and bug fixes.
</p>
<pre>
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
0236f552d37514776945d5a013e5bb7b MesaLib-6.3.tar.gz
60e1a8f78c4a8c7750a1e95753190986 MesaLib-6.3.tar.bz2
ca7c950fbace68c70caa822322db7223 MesaLib-6.3.zip
25ea801645b376c014051804fe4974b2 MesaDemos-6.3.tar.gz
9248e74872ea88c57ec25c900c295057 MesaDemos-6.3.tar.bz2
8537dfa734ef258dcc7272097558d434 MesaDemos-6.3.zip
</pre>
<h2>December 9, 2004</h2>
<p>
Mesa 6.2.1 has been released.
@@ -23,7 +283,7 @@ This is a stable release which just fixes bugs since the 6.2 release.
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer that 256 entries
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
@@ -958,6 +1218,6 @@ source code</a>.</p>
<hr>
$Id: news.html,v 3.16 2004/12/09 23:21:36 brianp Exp $
$Id: news.html,v 3.27 2006/03/31 23:10:21 brianp Exp $
</body>
</html>
</html>

View File

@@ -2,7 +2,9 @@
<TITLE>Off-screen Rendering</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Off-screen Rendering</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>PBuffer Rendering</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>PBuffer Rendering</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Performance Tips</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Performance Tips</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Precompiled libraries</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Precompiled Libraries</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Release Notes</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Release Notes</H1>
@@ -11,6 +13,10 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
<LI><A HREF="RELNOTES-6.4.2">RELNOTES-6.4.2</A>
<LI><A HREF="RELNOTES-6.4.1">RELNOTES-6.4.1</A>
<LI><A HREF="RELNOTES-6.4">RELNOTES-6.4</A>
<LI><A HREF="RELNOTES-6.3.2">RELNOTES-6.3.2</A>
<LI><A HREF="RELNOTES-6.3">RELNOTES-6.3</A>
<LI><A HREF="RELNOTES-6.2.1">RELNOTES-6.2.1</A>
<LI><A HREF="RELNOTES-6.2">RELNOTES-6.2</A>

View File

@@ -2,7 +2,9 @@
<TITLE>Science and Technical</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Science and Technical</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Source Code Documentation</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Source Code Documentation</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Mesa Subset</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Mesa Subset</H1>

View File

@@ -2,7 +2,9 @@
<TITLE>Supported Systems and Drivers</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Supported Systems and Drivers</H1>
@@ -12,98 +14,43 @@ supported on those systems. All you need is an ANSI C compiler and the
X development environment to use Mesa.
</p>
<p>Others have contributed drivers
for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
<p>
The DRI hardware drivers for the X.org server and XFree86 provide
hardware accelerated rendering for chips from ATI, Intel, Matrox, 3dfx
and others on Linux and FreeBSD.
</p>
<p>
Drivers for other assorted platforms include:
the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
9x/NT, and Direct3D.
</p>
<p>
The following files describe the details for various platforms.
Be warned, some of these files (and drivers) may be very out of date.
Details about particular drivers follows.
Be warned that some drivers may be out of date and no longer function.
</p>
<UL>
<LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux
<LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows
<LI><A HREF="README.VMS">README.VMS</A> - DEC VMS
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
<LI>Xlib driver for the X Window System <A HREF="README.X11">(README.X11)</A>
<li><a href="http://dri.freedesktop.org/" target="_parent">
DRI hardware drivers</a> for the X window system
<LI>Microsoft Windows <A HREF="README.WIN32">(README.WIN32)</A>
<LI>DEC VMS <A HREF="README.VMS">(README.VMS)</A>
<LI>3dfx/Glide <A HREF="README.3DFX">(README.3DFX)</A>
<LI>GGI <A HREF="README.GGI">(README.GGI)</A>
<LI>Amiga Amiwin <A HREF="README.AMIWIN">(README.AMIWIN)</A>
<LI>BeOS <A HREF="README.BEOS">(README.BEOS)</A>
<LI>Direct3D driver <A HREF="README.D3D">(README.D3D)</A>
<LI>DJGPP <A HREF="README.DJ">(README.DJ)</A>
<LI>LynxOS <A HREF="README.LYNXOS">(README.LYNXOS)</A>
<LI>Mingw32 <A HREF="README.MINGW32">(README.MINGW32)</A>
<LI>NeXT <A HREF="README.NeXT">(README.NeXT)</A>
<LI>OpenStep <A HREF="README.OpenStep">(README.OpenStep)</A>
<LI>OS/2 <A HREF="README.OS2">(README.OS2)</A>
<LI>WindML <A HREF="README.WINDML">(README.WINDML)</A>
<LI><a href="http://utah-glx.sourceforge.net/" target="_parent">Utah GLX drivers</a>
</UL>
<p>
The standard Mesa distribution only supports software-based rendering, with
the exception of the 3Dfx Glide driver.
Information about other hardware support follows.
</p>
<ul>
<li>DRI-based hardware support for 3dfx, Intel, Matrox, ATI with XFree86
<blockquote>
<p>The <a href="http://dri.sourceforge.net/" target="_parent">DRI architecture</a>,
originally developed by Precision Insight, Inc. uses Mesa and
provides hardware acceleration for a number of popular chipsets.<br>
<br>
The DRI is part of XFree86 4.0 and later.
<br><br>
If you download and install XFree86 4.x you do not need to
install Mesa separately. All the important parts of Mesa
will be installed with the rest of XFree86.
</blockquote>
<li>3dfx Voodoo1, Voodoo2, Voodoo Rush, Voodoo Banshee, Voodoo3
<blockquote>
<p>All cards based on these chipsets should work with Linux and
Windows 95 via 3dfx's Glide library.
The Mesa/Glide driver is included with the Mesa distribution.
You'll need to install the Glide header files and runtime library.
</p>
<p>
David Bucciarelli wrote the original 3dfx driver for Mesa.<br>
Daryll Strauss ported Glide to Linux.
</p>
</blockquote>
<li>Matrox G200/G400, nVidia RIVA, ATI Rage Pro, Intel i810 on Linux
<blockquote>
<p>The <a href="http://utah-glx.sourceforge.net/" target="_parent">
Utah GLX project</a>
(no longer active) developed drivers for these chipsets and others.
</blockquote>
<li>Amiga Warp3D
<blockquote>
<p>Amiga systems can support 3D hardware with the Warp3D API.
See <a href="http://www.haage-partner.com/3dworld" target="_parent">here</a>.
</blockquote>
<li>Also see
<blockquote>
<p><a href="http://www.linux3d.org/" target="_parent">www.linux3d.org</a> for
other 3D hardware info for Linux.
</blockquote>
</ul>
<p>
<b><em>Note:</em></b>
If you have NVIDIA hardware in your computer,
you should download and install NVIDIA's OpenGL library. You may
however, want to download Mesa in order to use its GLU and GLUT
libraries, or assorted demo programs.</p>
</body>
</html>
</html>

View File

@@ -4,13 +4,16 @@
<TITLE>Acknowledgements</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Acknowledgments</H1>
The following individuals and groups are to be acknowledged for their
contributions to Mesa over the years.
This list is far from complete and somewhat dated, unfortunately.
<ul>
@@ -30,14 +33,21 @@ substantial piece of work.
Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
<br>
<br>
<li>The <A HREF="http://sourceforge.net/projects/mesa3d"
target="_parent">Mesa</A>
project is hosted by<A HREF="http://sourceforge.net"
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
<li>The
<A HREF="http://sourceforge.net/projects/mesa3d" target="_parent">Mesa</A>
website is hosted by
<A HREF="http://sourceforge.net" target="_parent">
<IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
<br>
<br>
<li>The Mesa CVS repository is hosted by
<a href="http://freedesktop.org/" target="_parent">freedesktop.org</a>.
<br>
<br>
<li><a href="http://www.altsoftware.com/"
target="_parent">alt.software</a> contributed the Direct3D driver.

Some files were not shown because too many files have changed in this diff Show More