Compare commits

...

2062 Commits

Author SHA1 Message Date
Brice Goglin
caf283329b Prepare changelog for upload 2007-11-11 11:55:05 +01:00
Brice Goglin
5cedd4a43e Remove DESTDIR from INSTALL_DIR in configs/debian-default
... and update 03_optional-progs-and-install.patch accordingly.
2007-11-11 11:49:16 +01:00
Brice Goglin
0595d32d8a Refresh 03_optional-progs-and-install.patch
The default Makefile requires libGLU to be built
while linking progs/xdemos. However, we don't build
libGLU and progs/xdemos at the same time, and
these progs don't actually need libGLU.
2007-11-11 11:48:32 +01:00
Brice Goglin
e339b4e8da New upstream release 2007-11-11 00:34:46 +01:00
Brice Goglin
11c827c588 Merge tag 'mesa_7_0_2' into debian-unstable
Conflicts:

	.gitignore
	progs/demos/.gitignore
	progs/directfb/Makefile
	progs/egl/Makefile
	progs/fbdev/Makefile
	progs/fp/Makefile
	progs/miniglx/Makefile
	progs/samples/.gitignore
	progs/slang/Makefile
	progs/tests/.gitignore
	progs/tests/Makefile
	progs/tools/trace/Makefile
	progs/trivial/Makefile
	progs/vp/Makefile
	progs/xdemos/.gitignore
	src/egl/drivers/demo/Makefile
	src/egl/drivers/dri/Makefile
	src/egl/main/Makefile
	src/glu/mesa/Makefile
	src/glut/directfb/Makefile
	src/glx/mini/Makefile
2007-11-11 00:24:52 +01:00
Brian
8a40b670c3 added md5 checksums 2007-11-10 09:53:00 -07:00
Brian
d9fa5cbfc9 final changes for 7.0.2 relesae 2007-11-10 09:41:52 -07:00
Benno Schulenberg
1c21564292 code clean-ups, reformatting 2007-11-09 08:53:41 -07:00
Benno Schulenberg
6cc96bf156 remove commented-out code 2007-11-09 08:53:15 -07:00
Brian
29afd4bbc4 fix blender/unichrome crash, bug 13142 2007-11-08 07:36:30 -07:00
Benno Schulenberg
4e3db063ec fix Unichrome/Blender crash, bug 13142 2007-11-08 07:36:30 -07:00
Brian
6560744c38 added -fno-strict-aliasing and -fPIC flags 2007-11-08 07:36:30 -07:00
Brian
572ad87881 change filenames for rc2 2007-11-08 07:36:30 -07:00
Michel Dänzer
2ab75d6cfa r200: Fix SetTexOffset format for 16 bit pixmaps/textures.
Use symbolic array indices to clarify.
2007-11-06 18:39:50 +01:00
Chris Rankin
041a8eb5ec r200: Implement SetTexOffset hook.
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-11-06 18:32:33 +01:00
Brian
c1c13bdcfa Check for NULL VB->EdgeFlag array.
There might be a bug elsewhere, but this is a simple work-around for now.
See bug 12614
2007-11-05 14:43:03 -07:00
Brian
403edd34dd fix mmx code (bug 12614) 2007-11-05 14:38:12 -07:00
Brian
f279e48416 fix mmx code (bug 12614) 2007-11-05 14:38:05 -07:00
Brian
bf854d8d27 SSE codegen fixes 2007-11-03 08:45:42 -06:00
Brian
f334121679 Fix mem leak in SSE code generation path (Michel Dänzer) and don't crash if _mesa_exec_malloc() returns NULL. 2007-11-03 08:44:48 -06:00
Dan Nicholson
b88e2be609 Add -fno-strict-aliasing workaround for all GCC targets
Use a GCC option to work around aliasing bugs. See commit 013dbcd for
more details.
(cherry picked from commit 01b18abf93)

Conflicts:

    configs/freebsd
2007-11-01 11:07:02 -07:00
Dan Nicholson
08229c8bb8 configs: Set -fexceptions for GLUT on linux-dri like other targets
Quite a while ago, the GCC option -fexceptions was added for building
libglut. See here:

  http://article.gmane.org/gmane.comp.video.mesa3d.devel/9499

This was missing in the linux-dri targets.
(cherry picked from commit dbcd20f1c2)
2007-11-01 11:02:05 -07:00
Dan Nicholson
c984017f71 configs: Always use -fPIC for shared libraries, never for static
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:

http://bugs.gentoo.org/show_bug.cgi?id=110840#c9

On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
(cherry picked from commit c3b5adaa9a)
2007-11-01 11:01:10 -07:00
Dan Nicholson
00e7dd8a13 Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:

  https://bugs.freedesktop.org/show_bug.cgi?id=6046
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311

This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
(cherry picked from commit 013dbcd611)
2007-11-01 10:56:01 -07:00
Brian
d11b375b16 fix typo 2007-10-31 09:43:17 -06:00
Brian
d1afa8146f updated help/to-do list 2007-10-31 09:40:58 -06:00
Brian
31d4ba8a93 glDrawArrays(count=0) bugfix 2007-10-31 09:40:20 -06:00
Brian
1a7640958c check for count==0 in _mesa_validate_DrawArrays() 2007-10-31 09:39:20 -06:00
Brian
2e2a5a450b note G33/Q33/Q35 support 2007-10-31 08:19:14 -06:00
Brian
574fd63ff0 fix GL_ATI_separate_stencil 2007-10-30 10:46:31 -06:00
Brian
1063d47526 Alias glStencilOpSeparateATI with glStencilOpSeparate.
(Cherry-pick from master)
2007-10-30 10:45:47 -06:00
Brian
b59a892d3e Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c

Conflicts:

	src/mesa/glapi/dispatch.h
	src/mesa/glapi/glapioffsets.h
	src/mesa/glapi/glapitable.h
	src/mesa/glapi/glapitemp.h
	src/mesa/glapi/glprocs.h
	src/mesa/main/enums.c
	src/mesa/main/state.c
	src/mesa/sparc/glapi_sparc.S
	src/mesa/x86-64/glapi_x86-64.S
	src/mesa/x86/glapi_x86.S
2007-10-30 10:34:26 -06:00
Roland Scheidegger
6e5d5d77df add missing _mesa_StencilFuncSeparateATI function 2007-10-30 10:26:56 -06:00
Dan Nicholson
a6319d18cf Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
(cherry picked from commit 06ca14543e)
2007-10-29 12:08:34 -07:00
Dan Nicholson
5103e883fd update APP_LIB_DEPS for static library configs (patch 3/3)
(cherry picked from commit 162914675a)
2007-10-29 12:06:50 -07:00
Dan Nicholson
98c4ea4b24 simplify APP_LIB_DEPS (patch 2/3)
(cherry picked from commit 9ef1d9f03a)
2007-10-29 12:06:23 -07:00
Dan Nicholson
29b8cac7d7 specify app lib dependencies in Makefiles (patch 1/3)
(cherry-picked from commit c05aa5ec4c)

Conflicts: progs/demos/Makefile
           progs/xdemos/Makefile
2007-10-29 12:05:54 -07:00
Dan Nicholson
cdb02d43fe linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
(cherry picked from commit 3b9e28d507)
2007-10-29 11:44:30 -07:00
Michel Dänzer
50cecddc4a driFenceType: Really return fence type, not flags.
This typo could lead to the i915tex driver waiting for an EXE only fence as RW,
causing it to abort with an error.
2007-10-29 13:27:59 +00:00
Alan Hourihane
177f6398e5 Only set R_MODE with NV_point_sprite 2007-10-28 20:08:15 +00:00
Dan Nicholson
887bd6a46f configs: Fix linux-static to link correctly
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
(cherry picked from commit 9514209593)
2007-10-26 15:49:00 -07:00
Brian
9af5153410 use grep -q 2007-10-25 14:48:08 -06:00
Dan Nicholson
0e2103689e More ignored programs merged back from master
Some more entries in progs/*/.gitignore that were in master.
2007-10-25 11:59:26 -07:00
Brian
2c496d8e46 simplify/fix the ASM_FLAGS tests (bug 12931) 2007-10-25 11:12:17 -06:00
Brian
8f0ba02e44 Cray Xt3 config 2007-10-25 11:12:07 -06:00
Brian
524c56e417 Fix merge 2007-10-24 16:36:00 -06:00
Brian
773f3a266c added catamount-osmesa-pgi config, fixes for cross-compiling 2007-10-24 16:35:47 -06:00
Brian
882ada0d22 don't build x86, x86-64 dirs if not needed 2007-10-24 16:33:24 -06:00
Brian
6229005f93 properly init dst reg's CondMask/Swizzle fields 2007-10-23 10:55:14 -06:00
Brian
6c63b35ef7 bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions 2007-10-23 10:25:34 -06:00
Brian
fb85e50e09 add directfb glut sources to tarball 2007-10-23 08:22:11 -06:00
Brian
5e5f908d0c don't apply ColorMask to main gc 2007-10-22 17:54:07 -06:00
Michel Dänzer
c09e2143c7 i915tex: Don't emit 'empty' blit rectangles.
The hardware seems to interpret them differently and produce unexpected
results...
2007-10-17 18:28:46 +02:00
Brian
74ced1e67f fix fog, rescale_normals bugs (from gallium branch) 2007-10-15 18:02:14 -06:00
Andreas Micheler
dd02c1609e faster write_rgba_span_front() 2007-10-15 08:28:06 -06:00
Brian
cdf4880a79 replace 'brick' with correct program name in printfs 2007-10-10 10:57:37 -06:00
Mrc Gran
2ec8e8547d fix force_s3tc_enable option 2007-10-10 09:16:12 -06:00
Dan Nicholson
b7c36d1d33 Ignore more generated files in progs/
Many of the directories in progs/ were missing .gitignore files or
were tracking generated files. This patch is basically the process of
running `make' in each directory and then finding the untracked files
with `git-ls-files -o --exclude-per-directory=.gitignore'. The existing
files were also sorted.

Conflicts:

	progs/demos/.gitignore
	progs/tests/.gitignore
	progs/xdemos/.gitignore
2007-10-10 08:49:59 -06:00
David Nusinow
8913402b74 Revert "* Disable building i915tex."
This reverts commit 76556f8264.
2007-10-06 17:54:29 -04:00
David Nusinow
c00dfefd6f Revert "Don't release just yet."
This reverts commit c3de7b5ade.
2007-10-06 17:54:13 -04:00
David Nusinow
c3de7b5ade Don't release just yet. 2007-10-04 23:10:47 -04:00
David Nusinow
76556f8264 * Disable building i915tex.
It was previously only built on x86 and amd64.  It was never
  production-ready and relies on a kernel interface that never went
  upstream.
2007-10-04 22:49:27 -04:00
Xiang, Haihao
970d18a708 Brian's fix for bug9829 2007-10-04 00:08:18 +02:00
Roland Scheidegger
9456e7f0ff minor fog calc cleanup 2007-10-03 22:34:36 +02:00
Roland Scheidegger
a5db24adc2 fog: fix issues with negative fog coords (may fix #10529)
Rework tnl fog a bit. Make sure we always use ABS(eyez) when fog coord source
is depth, OTOH it does not seem to be necessary to use it (as was done before
in some cases) if fog coord source is fogcoord (just to save some work).
This fixes tests/fog (the first 2 cases) with i915/i915tex.
2007-10-03 22:33:26 +02:00
Roland Scheidegger
17664e2620 make sure optimized fog params get updated 2007-10-03 22:33:03 +02:00
Roland Scheidegger
43a0eb0253 unbreak 3d textures (typo when setting tex layout) 2007-10-03 22:32:33 +02:00
Michel Dänzer
bcdaed2c0a i915tex: Work around texture pitch related performance drops on i915 at least. 2007-10-03 10:48:56 +02:00
Brian
78c6637db5 updated glext.h license info (Khronos), plus other clean-ups 2007-10-01 17:56:48 -06:00
Brian
44214a98fd fix VBO-split infinite loop (bug 12164) 2007-09-29 12:01:47 -06:00
Dan Nicholson
9cc6d2310c add support for LDFLAGS env var 2007-09-28 18:47:11 -06:00
Brian
1a045954be update the DRM/DRI instructions 2007-09-28 18:43:12 -06:00
Dave Airlie
b3fc9a1585 i965: fix vblank on 965gm laptops by bringing in code from i915
jbarnes has better fixes for this in 7.1, but for 7.0.2 this seems like the best
plan, for distros to pick it up.
2007-09-28 12:02:27 +10:00
Xiang, Haihao
2a86a449ca mesa: make sure the gotten value isn't greater than the
max depth buffer value on 64bit system. fix bug #12095
2007-09-27 10:44:45 -06:00
Xiang, Haihao
44f032db61 i965: handle all unfilled mode in clip stage. fix bug #12453 2007-09-27 10:40:22 -06:00
Brian
5a520729ee prep for 7.0.2 release 2007-09-27 10:35:10 -06:00
Brian
36fbe78c60 for Miniglx, use git sources 2007-09-27 10:34:44 -06:00
Brian
029bb17770 bump versions to 7.0.2 2007-09-27 10:30:13 -06:00
Brian
7958bee6be fix blend bug 12164 2007-09-27 10:25:57 -06:00
Brian
0b9bb21ce4 Restore old _TriangleCaps code to fix Blender problem (bug 12164) 2007-09-27 10:25:33 -06:00
Roland Bär
cfcc5b794e [i965] Bug #11812: Fix fwrite return value checks in AUB file code. 2007-09-26 08:00:17 -06:00
Zou Nan hai
925ff408a6 fix fd.o bug #12217, recalcuate urb when clip plane size change 2007-09-26 07:59:41 -06:00
Xiang, Haihao
f40ca444f5 i965: The cube map texture coordinates must be devided by the
component with the largest absolute value before they are
delivered. fix bug #12421
2007-09-26 07:58:57 -06:00
Zou Nan hai
638a5e0382 fix a bug in 965 ARB_occlusion_query,
fd.o bug #12132
2007-09-26 07:58:29 -06:00
Brian
6d777bf055 fix DrawRangeElements error msg 2007-09-23 13:57:36 -06:00
Brian
ae6d4e8bc0 fix -D_BSD_SOURC 2007-09-20 18:42:59 -06:00
Brian
f2728724d3 fix for __IBMC__ 2007-09-20 15:12:42 -06:00
Brian
bc95b34cce added bluegene-xlc-osmesa, fortran fixes 2007-09-20 15:12:21 -06:00
Brian
9eb89616af fixes for bluegene-xlc-osmesa config 2007-09-20 15:10:35 -06:00
Brian
f7713a6d81 Added bluegene-xlc-osmesa config (Alexander Neundorf) 2007-09-20 15:09:54 -06:00
Brian
1cec9b727a fix bug 10604 2007-09-14 13:43:58 -06:00
Brian
18a4730f5b From trunk: mesa: bind VBO_ATTRIB_XXX to correct input array when executing a display list. fix #10604
This also fixes Bill Mitchell's Fortan/plot bug.
2007-09-14 13:43:09 -06:00
Brian
1342aefcdd updated link 2007-09-14 09:57:16 -06:00
Brian
1fd4b1e702 fix glCopyPixel/glPixelZoom bug 12417) 2007-09-14 09:57:08 -06:00
Brian
32dff44c28 fix copypixels overlap test bug (#12417) 2007-09-14 09:56:05 -06:00
Brian
e7c2ae476a fix ARB fp/vp parsing bug 12313 2007-09-13 11:42:48 -06:00
Brian
a66301f83d added program_error2() function for better error reporting 2007-09-13 11:41:44 -06:00
Brian
a5f7d56221 Fix state.texgen parsing error (bug 12313).
Replace *(*inst++) with *(*inst)++ in a few places.
2007-09-13 11:29:51 -06:00
Brian
140080c1ec added .pc.in files to tarballs 2007-09-13 09:27:06 -06:00
Brian
ef43af6d43 added DSTDIR, pkg-config items 2007-09-12 10:12:20 -06:00
Brian
949d0532f0 updated with pkg-config info 2007-09-12 10:12:06 -06:00
Dan Nicholson
96efc76d74 pkg-config support 2007-09-12 10:03:31 -06:00
Dan Nicholson
6ca0d63692 DESTDIR support. 2007-09-12 10:01:06 -06:00
Xiang, Haihao
95fc2485e2 i965: fix bug#11925 2007-09-12 16:58:45 +08:00
Xiang, Haihao
d6ce1e4834 i965: fix #11378 2007-09-12 15:29:11 +08:00
Brian
2cc2b12fc7 fix indirect rendering crash 2007-09-11 10:59:10 -06:00
Brian
2259f81cf7 In _mesa_make_current(), don't unbind FBOs from the old context.
This fixes the X server crash reported by KeithP on Aug 29.
The old context's FBOs will be unreferenced during context destruction so
there's no memleak with this change.
2007-09-11 10:59:10 -06:00
Brian
791f12880f Update depth test state when binding new framebuffer object 2007-09-11 09:25:49 -06:00
Brian
7aa7373a64 fix comment 2007-09-11 09:25:49 -06:00
Xiang, Haihao
2f186a190f i965: take the secondary color into account when drawing
bitmap. fix#10688
2007-09-11 17:03:07 +08:00
Xiang, Haihao
357893a873 i965: limit on LOD Bias, fix#11987 2007-09-11 17:02:15 +08:00
Brian
a17881da5f clean-up (see bug 12317) 2007-09-10 08:36:01 -06:00
Brian
4872ee83a9 updated VC7 project files 2007-09-05 10:05:48 -06:00
Christoph Kubisch
5ec222a832 updated VC7 project files 2007-09-05 10:01:58 -06:00
Brian
40438b3440 Use temporary matrix in __gluInvertMatrixd() to fix aliasing problem (see bugs 12269, 6748) 2007-09-03 16:21:12 -06:00
Xiang, Haihao
e0b80660c8 fix bug#11009 2007-09-01 15:31:49 +08:00
Xiang, Haihao
a2016301f5 i965: Take the upper limitation on LOD into account. 2007-09-01 15:14:58 +08:00
Brian
7ec6729fb6 sync with trunk, fixing bug 12239 2007-08-31 16:36:17 -06:00
Brian
837a2cf72e fix i965 bugs, x86-64 bugs 2007-08-31 16:35:38 -06:00
Roland Scheidegger
0adca14536 fix another occurence of movaps which might not be aligned 2007-08-31 00:06:30 +02:00
Brian
57b0f66c6d s/movaps/movups/ (see bug 12216) 2007-08-30 08:41:43 -06:00
Xiang, Haihao
e47e7a9571 i965: store read drawable info in intel_context. Some OpenGL
operations are based on read drawable. fix bug#10136.
2007-08-30 14:06:26 +08:00
Xiang, Haihao
68ca01560f i965: check NULL pointer. fix bug#12193 2007-08-30 14:06:19 +08:00
Xiang, Haihao
64f1c91fcb i965: samplers group in fours in WM_STATE. fix bug#9415 2007-08-30 14:05:56 +08:00
Xiang, Haihao
7d33f94198 i965: flush batch buffer when getting the maximum. This makes
some 3D programs such as pymol work well.
2007-08-30 14:05:39 +08:00
Julien Cristau
369cda3752 Prepare changelog for upload. 2007-08-28 12:11:47 +02:00
Julien Cristau
846078d06f Delete generated files. 2007-08-28 12:07:45 +02:00
Julien Cristau
b18500d56e * Update to latest git (from mesa_7_0_branch)
+ adds support for some new intel chipsets (i915 and i915_tex dri drivers)
    (closes: #437333)
  + broken inline asm in dri drivers fixed (closes: #423739)
2007-08-28 12:07:25 +02:00
Julien Cristau
7d92c50490 Merge branch 'mesa_7_0_branch' of git.freedesktop.org:/git/mesa/mesa into debian-unstable 2007-08-28 11:06:22 +02:00
Brian
d69a596193 Fixed bugs 6748, 12141 2007-08-27 10:48:31 -06:00
Colin McDonald
8aa4ae638e fixed problem with big glDrawArrays (see bug 12141) 2007-08-27 10:47:49 -06:00
Brian
3069f34841 new __gluInvertMatrix() function (Mesa bug 6748) 2007-08-27 10:36:25 -06:00
Adam Jackson
b3788a0e4f Unbreak Linux builds with -fvisibility=hidden. 2007-08-24 08:49:59 +01:00
Brian
582bc029ab remove CallDepth++/-- accidentally removed in prev commit 2007-08-24 08:45:27 +01:00
Brian
e9e3099433 remove unneeded CallStack array 2007-08-23 08:17:35 +01:00
Brian
4fc561cc7b refactor bounds checking code 2007-08-20 13:12:10 +01:00
Brian
ad3e3a0b99 don't map buffer in _mesa_validate_DrawElements() unless needed 2007-08-20 12:55:26 +01:00
Brian
bfb8c849cb Remove recent texobj refcount debug/logging code. 2007-08-16 09:11:11 +01:00
Michel Dänzer
09dd25b5d1 i915tex: Unreference texture buffers on context destruction.
Not doing this could cause the buffers to leak under some circumstances.
2007-08-16 08:45:16 +02:00
Roland Scheidegger
c48efb1dbe suppress warning about ncon visuals (bug #6689) 2007-08-16 02:43:45 +02:00
Brian
5408acb6b7 log deleting/binding of FBOs 2007-08-15 15:47:28 +01:00
Brian
15481160f9 more debug output (context destroy, fb destroy) 2007-08-15 12:52:00 +01:00
Brian
00ccff03a5 Rewrite quite a bit of the code for glPush/PopAttrib() for texture state.
Remove the Saved1D/2D/etc fields from gl_texture_attrib in mtypes.h
Use a new texture_state struct in attrib.c that has the extra information
for restoring texture object state and saving references to the texture
objects (so they can't accidentally get deleted while referenced by the
attribute stack).  All the texobj refcounting is mutex-protected now.
2007-08-15 11:21:06 +01:00
Brian
21594921b1 copy Target in _mesa_copy_texture_object() 2007-08-15 11:18:38 +01:00
Brian
42c91eebc9 Added _mesa_free_attrib_data() to free anything left in the attribute stack upon context destruction.
Also, a bit more refcount debug info.
2007-08-15 10:10:02 +01:00
Brian
88273e08b4 more tex obj ref count debugging (temporary) 2007-08-15 08:55:03 +01:00
Brian
08f7fb45ef added some temporary texobj ref counting debug output 2007-08-14 19:45:02 +01:00
Brian
75ebda3ce6 Fix a few more problems with freeing FBOs/textures during context destruction.
Free FBOs before textures since the later may be referenced by the former.
Need to bind the context we're destroying if there isn't a current context
so that ctx->DeleteTexture() etc can be used.
2007-08-14 11:57:16 +01:00
Brian
53ff15fcbf fix blending/banding bug 2007-08-13 21:17:04 +01:00
Dan Torop
72adb70ee2 fix spantmp2 READ_RGBA inline asm (#11931) 2007-08-13 21:14:51 +01:00
Brian
960d41fcfe added more i915/945 chipsets 2007-08-13 21:11:17 +01:00
Brian
0c4e35b070 Add PCI IDs for the G33, Q33, and Q35 chipsets.
Conflicts:

	src/mesa/drivers/dri/i915/i915_texstate.c
	src/mesa/drivers/dri/i915/intel_context.c
	src/mesa/drivers/dri/i915/intel_context.h
	src/mesa/drivers/dri/i915/intel_screen.c
	src/mesa/drivers/dri/i915/intel_tex.c
2007-08-13 21:06:33 +01:00
Wang Zhenyu
c53f1cb813 i915tex: Add support for 945GME 2007-08-13 21:00:28 +01:00
Brian
f6696cc15e free any render/framebuffers left in hash tables when freeing shared state 2007-08-13 17:39:05 +01:00
Michel Dänzer
fef9a41fe4 i915tex: Make sure pitch is aligned properly for render-to-texture.
Just always align texture pitch to multiples of 64 bytes for now, pending a
more sophisticated scheme to do it only when really necessary.
2007-08-13 13:22:43 +02:00
Brian
e279a0a076 Implement mutex/locking around texture object reference counting.
Use new _mesa_reference_texobj() function for referencing/unreferencing
textures.  Add new assertions/tests to try to detect invalid usage of
deleted textures.
2007-08-13 11:28:52 +01:00
Brian
88c8aaed96 fix link to 7.0.1 relnotes 2007-08-09 15:59:38 +01:00
Julien Cristau
34beaefe1c Prepare changelog for upload. 2007-08-09 16:00:58 +02:00
Julien Cristau
10b828f193 New upstream release. 2007-08-09 11:56:00 +02:00
Julien Cristau
43e6260ed0 Merge tag 'mesa_7_0_1' into debian-experimental 2007-08-09 11:25:42 +02:00
Brian
62cbbd7226 fix byte swap bug for GLuint stencil indexes (bug 11909) 2007-08-09 08:45:01 +01:00
Brian
f7cbe7fcee move free() after dereference (bug 11878) 2007-08-07 22:06:48 +01:00
Brian
d8e4ff9079 fix potential NULL dereference (bug 11879) 2007-08-07 21:56:39 +01:00
Brian
510ff27eda remove SHELL line, replace -e test with new logic (Daniel Stone) 2007-08-07 21:52:22 +01:00
Brian
5abf055100 fix potential NULL dereference (bug 11880) 2007-08-07 21:46:42 +01:00
Brian
4bb5721f6b fix swizzle error test (bug 11881) 2007-08-07 21:43:46 +01:00
Brian
c41ab70d3a initial 7.0.2 notes 2007-08-07 08:44:35 +01:00
Brian
a05e403bf2 fix bug 9962 (vbo splitting) as in trunk 2007-08-07 08:43:31 +01:00
Brian
2f57e0f71d Merge branch 'mesa_7_0_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into mesa_7_0_branch 2007-08-07 08:21:50 +01:00
Brian
95a2eb9767 fix even-sized point positioning (bug 11874) 2007-08-07 08:20:18 +01:00
Brian
55175daed7 added md5 sums 2007-08-03 13:54:55 -06:00
Brian
ae16a51e95 added GLU bug fixes 2007-08-03 13:39:09 -06:00
Brian
4398d67546 update 7.0.1 release info/date 2007-08-03 13:32:47 -06:00
Brian
c93738687c remove -rc2 2007-08-03 13:32:28 -06:00
Brian
799492e606 add OSMESA_LIB_NAME 2007-08-03 10:08:16 -06:00
Brian
f33ff071bb added -lm 2007-08-03 07:24:33 -06:00
Brian
99e854743c added bluegene-osmesa 2007-08-02 14:24:05 -06:00
Brian
6f79062d91 OSmesa on BlueGene (Alexander Neundorf) 2007-08-02 14:22:52 -06:00
Brian
2f682c3995 fix stencil value masking bug 11805, and fix sizeof() bug 2007-08-02 09:08:53 -06:00
Brian
067370e68f fix invalid pointer usage in bezierPatchDeleteList(), bug 11807 2007-08-02 08:40:58 -06:00
Brian
2aa439a6a4 fix double free()s (bug 11808) 2007-08-02 08:38:10 -06:00
Brian
b477182dc3 s/MAX_TEXTURE_LEVELS/SIS_MAX_TEXTURE_LEVELS/ and add assertion (bug 11806) 2007-08-02 08:35:27 -06:00
Michel Dänzer
a8964ca89e i915tex: Better attempt to release miptree when overriding texture image.
The previous approach could lead to crashes in FBO code that dereferences the
miptree struct pointer unconditionally.
2007-08-02 12:14:03 +02:00
Brian
4f0e92d07c Merge branch 'mesa_7_0_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into mesa_7_0_branch 2007-08-01 17:03:09 -06:00
Brian
577f4e8a5f Obsolete 2007-08-01 11:45:47 -06:00
Brian
0586d9fe56 fix error code test limit (bug 11795) 2007-08-01 11:27:47 -06:00
Michel Dänzer
1f0d9bf05e i915tex: Missing piece of SetTexOffset hook implementation for I830 generation. 2007-08-01 17:46:32 +02:00
Michel Dänzer
8bcae2a527 i915tex: Implement SetTexOffset hook.
Only build tested for I830 generation.
2007-08-01 17:46:31 +02:00
Michel Dänzer
35ca9aae91 r300: Implement SetTexOffset hook. 2007-08-01 17:46:30 +02:00
Michel Dänzer
6cdd2bf8d7 Add interfaces for overriding texture images with driver specific 'offsets'.
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several
additional data copies.
2007-08-01 17:46:29 +02:00
Brian
ce7d175adb fix mem leak (bug 11793) 2007-08-01 08:42:13 -06:00
Brian
1904fd095f fix mem leak (bug 11791) 2007-08-01 08:42:09 -06:00
Brian
897d0ac5cc fix some FreeBSD issues 2007-07-31 14:57:54 -06:00
Brian
e262d0182f fix failure caused by undeclared variable (bug 11783) 2007-07-31 09:43:40 -06:00
Brian
aa5b748c10 glGetAttribLocation always returned 1 (bug 11774) 2007-07-31 09:29:31 -06:00
Julien Cristau
c6728df4a3 Merge tag 'mesa_7_0_1_rc2' into debian-experimental 2007-07-31 04:00:13 +02:00
Brian
3c182c5bc8 Added sunos5-v9-cc-g++ config (Roland Egger) 2007-07-30 09:00:09 -06:00
Brian
1b5677847b _mesa_pack_bitmap() fix from trunk 2007-07-30 08:13:05 -06:00
Brian
1be59a9dbe dlist polygon stipple fix from trunk 2007-07-30 08:12:29 -06:00
Brian
55c2178ad4 fix bug 11754 2007-07-29 18:28:09 -06:00
Jan Dvorak
3e3d392e1c fix glPointParameteriv bug 11754 2007-07-29 18:26:55 -06:00
Julien Cristau
593de57fa2 Prepare changelog for upload. 2007-07-27 20:18:21 +02:00
Julien Cristau
04b0e43ea6 New upstream release candidate. 2007-07-27 19:59:38 +02:00
Julien Cristau
04eee290c8 Merge branch 'mesa_7_0_branch' of git://anongit.freedesktop.org/git/mesa/mesa into debian-experimental 2007-07-27 19:58:30 +02:00
Brian
756a7a4e4b minor tweaks 2007-07-27 11:44:55 -06:00
Brian
121b4ac220 More Mingw32 fixes from Zhang (zxpmyth@yahoo.com.cn) 2007-07-27 11:12:21 -06:00
Brian
cdbd5db3af release candidate 2 2007-07-27 11:10:00 -06:00
Brian
b2240f6ad4 fix bug 11731 2007-07-26 15:33:39 -06:00
Brian
33814a55f8 Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion. 2007-07-26 15:32:34 -06:00
Brian
a57c5a417b generate error upon writing to varying var in fragment program (bug 11733) 2007-07-26 11:39:37 -06:00
Brian
ff1a28de17 clamp float colors 2007-07-26 08:19:40 -06:00
Brian
772f57f99b call ctx->Driver.NewProgram() instead of _mesa_new_program() 2007-07-24 09:56:54 -06:00
Brian
dacee32b8b fix logic error, typos 2007-07-24 09:19:44 -06:00
Brian
fa1a3eb06d fix GLX_STEREO bug 2007-07-23 16:54:35 -06:00
Brian
bd4817ca54 fix GLX_STEREO handling (bug 11705) 2007-07-23 16:51:03 -06:00
Julien Cristau
d3a160e217 New upstream release candidate. 2007-07-23 16:39:48 +02:00
Julien Cristau
c5837f2791 Merge branch 'mesa_7_0_branch' of git://anongit.freedesktop.org/git/mesa/mesa into debian-experimental 2007-07-23 16:28:56 +02:00
Julien Cristau
490bd43f18 Merge branch 'debian-unstable' of git+ssh://git.debian.org/git/pkg-xorg/lib/mesa into debian-experimental
Conflicts:

	debian/changelog
2007-07-23 16:28:10 +02:00
Brian
005eea249c Fix a number of MINGW32 issues (Zhang <zxpmyth@yahoo.com.cn>) 2007-07-21 11:27:22 -06:00
Brian
9747de8ec6 drop VC6 and VC7 project files until updated 2007-07-21 10:03:30 -06:00
Brian
849a9799d0 fix bug 11588 2007-07-13 16:37:18 -06:00
Jan Dvorak
e32ae4fe33 fix shader/info string length queries (bug 11588) 2007-07-13 16:35:19 -06:00
Brian
4595389c4c fix width/depth mix-up (bug 11577) 2007-07-12 21:43:39 -06:00
Brian
e8ccc7cc49 Merge branch 'mesa_7_0_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into mesa_7_0_branch 2007-07-12 14:49:56 -06:00
Brian
673d21047a fix swizzle-related bug 11534 2007-07-12 14:49:24 -06:00
Julien Cristau
6186261589 Prepare changelog for upload. 2007-07-11 05:51:34 +02:00
Julien Cristau
45310e219c Relax libgl1-mesa-dev dependency on libgl1-mesa-glx.
Change the >= ${source:Version} dependency to >= ${source:Upstream-Version}.
This way libgl1-mesa-dev stays installable after a minor revision bump on
architectures where mesa isn't built yet.
2007-07-11 05:45:30 +02:00
Julien Cristau
250f6b2c88 Replace ${Source-Version} with ${source:Version} in one remaining spot. 2007-07-11 05:34:30 +02:00
Michel Dänzer
fdefc2bbda i915tex: Better procedure for dropping batchbuffer on virtual resolution change.
The previous procedure would often result in a GPU lockup.
2007-07-10 11:02:18 +02:00
Michel Dänzer
2079df8527 i915tex: Only wait for vblank when really necessary.
This avoids superfluous waits for vblank timing out under some circumstances.
2007-07-10 10:54:51 +02:00
Michel Dänzer
b53659452c Clear pointers to freed cliprects.
Not doing this could lead to double frees under rare circumstances.
2007-07-10 10:49:28 +02:00
Michel Dänzer
46f1d6653e Remove dubious compile-time test for pre-2.4 Linux kernels.
LINUX_VERSION_CODE shouldn't be used by userspace code, it can be defined empty
these days.

If anybody still cares about 2.2 kernels, they should reinstate this as a
proper runtime test.
2007-07-10 10:34:10 +02:00
Brian
c1938a60f7 Fix zero-size texture checking in _mesa_test_proxy_teximage(), bug 11309 2007-07-08 10:04:14 -06:00
Brian
d65110f352 Check if 'indices' is NULL, bug 11314 2007-07-08 09:21:21 -06:00
Brian
9fa3bbcb5a check depthScale value for optimized ushort->uint case (fixes bug 11474) 2007-07-08 08:53:09 -06:00
Brice Goglin
19e51ecbe6 libgl1-mesa-dev does not need to depend on libgl1-mesa-dri, libgl1-mesa-glx is enough.
libgl1-mesa-glx was included in libgl1-mesa-dri before 6.4.1-0.1,
so libgl1-mesa-dev had to depend on libgl1-mesa-dri at this point.
Since libgl1-mesa-dri only contains the DRI modules now, it is not
required anymore for libgl1-mesa-dev.
2007-07-07 22:17:35 +02:00
Brian
99d62f2922 fix i915 polygon stipple bug 2007-07-06 16:53:28 -06:00
Brian
284743cafe add GL_QUADS to i915_reduced_primitive_state() to fix redbook/polys demo 2007-07-06 16:52:34 -06:00
Xavier Bachelot
08d7307b2a call glutInit(), bug 11486 2007-07-06 12:54:40 -06:00
Brian
ef6a64abe6 fix a syntax error (missing right-paren) 2007-07-05 16:04:10 -06:00
Brian
18bfa52ef7 fix bug 11475 2007-07-05 09:42:07 -06:00
Brian
d62be2652c Copy from Mesa master. Includes fixes for bugs 11475 and 11448. 2007-07-05 09:40:37 -06:00
Julien Cristau
31f3433635 Prepare changelog for upload. 2007-07-05 00:56:56 +02:00
Samuel Thibault
639eaceee7 Fix build on hurd-i386.
Build libgl1-mesa-glx without direct rendering support on that arch, and
don't build any dri driver.
2007-07-05 00:48:30 +02:00
Eric Anholt
ea53ff80af fix LogicOp/bitmap problem, bug 11133 2007-07-04 07:37:28 -06:00
Brian
feeca1bcbc add fbdev/ to DEMO_FILES 2007-07-03 15:46:48 -06:00
Brian
12e7278c08 document GLSL fixes 2007-07-03 12:21:11 -06:00
Brian
45b5c44eb9 bring over Roland's DOT3_RGBA fix from master 2007-07-03 12:20:52 -06:00
Brian
e3456c1028 added vec2(vec4) constructor, bug 11404 2007-07-03 11:42:03 -06:00
Brian
327fb38573 add code for stpq, rgba writemasks in make_writemask(), bug 11404 2007-07-03 11:41:07 -06:00
Brian
1d25d9e15f Bump version to 7.0.1 2007-07-03 10:04:41 -06:00
Brian
cc7cee3f48 Revert the version of libOSMesa.so to 6.5.3 to avoid linking issues that were caused by bumping to 7.0 2007-07-03 10:03:01 -06:00
Brian
d7062710cd use _mesa_unpack_stencil_span() in draw_stencil_pixels(), bug 11457 2007-07-03 08:58:03 -06:00
Julien Cristau
3e21f52796 Make libgl1-mesa-swx11 depend on libosmesa6
libgl1-mesa-swx11 used to contain libOSMesa.so.6, so programs linked against
it don't necessarily depend on libosmesa6; their dependencies were broken
since mesa 6.5.2-1.
2007-07-03 05:34:07 +02:00
Brian
9bfba734d8 add const to wglSetPixelFormat() to match .h declaration 2007-07-02 10:15:39 -06:00
Julien Cristau
0511d9a9d2 Fix merge and delete symlinks which aren't in the tarball. 2007-07-01 02:55:59 +02:00
Brian
aaebf2f47e regenerated 2007-06-29 07:51:49 -06:00
Brian
23f8d77b38 Add a few missing GL 2.0 entrypoints, regenerate related files.
Specifically:
  glVertexAttrib4bv
  glVertexAttrib4iv
  glVertexAttrib4ubv
  glVertexAttrib4uiv
  glVertexAttrib4usv
2007-06-28 16:38:48 -06:00
Samuel Thibault
498b4dbba4 Fix build on hurd-i386.
Build libgl1-mesa-glx without direct rendering support on that arch, and
don't build any dri driver.
2007-06-28 22:33:05 +01:00
Julien Cristau
ecc42e79ae Merge unreleased changelog entries 2007-06-28 22:01:05 +01:00
Julien Cristau
0bf8ed523d * Add a shlibs file for libgl1-mesa-swx11-i686. 2007-06-28 21:58:42 +01:00
Brian
87d22ee0fe initial 7.0.1 relnotes 2007-06-28 08:11:36 -06:00
zhang
52e25f63d4 a variety of fixes for MingW 2007-06-28 08:10:09 -06:00
Brian
f3fb67972b remove obsolete t_save_api.c 2007-06-28 07:43:32 -06:00
Brian
6400756364 remove obsolete sources 2007-06-28 07:21:59 -06:00
David Nusinow
d71d04bf6f Bite the bullet and add myself to uploaders 2007-06-27 22:54:52 -04:00
David Nusinow
af90259e09 Merge remote branch 'origin/debian-experimental' into debian-experimental
Conflicts:

	debian/changelog
	src/mesa/drivers/dri/r300/radeon_lock.c
2007-06-27 22:53:04 -04:00
David Nusinow
7c9762f698 Changelog bump 2007-06-27 21:32:51 -04:00
David Nusinow
b2e67fdb7c Merge branch 'upstream-experimental' into debian-experimental
Conflicts:

	.gitignore
	progs/miniglx/miniglxtest.c
	src/glx/mini/Makefile
	src/glx/mini/miniglx.c
	src/mesa/drivers/dri/r300/.gitignore
2007-06-27 21:29:16 -04:00
Brian
d59f0314bd md5 sums for 7.0 2007-06-22 16:50:24 -06:00
Brian
131baefac3 fix date for 7.0 release 2007-06-22 16:41:36 -06:00
Brian
a450078b67 update version 2007-06-22 16:40:17 -06:00
Brian
f6b041bf6c bring in Eric's FreeBSD fixes for -pthread 2007-06-22 15:40:46 -06:00
Brian
4f340d181a set tentative 7.0 release date 2007-06-20 19:59:15 -06:00
Julien Cristau
74a11701f3 Shorten the one-line synopsis of various packages.
They're cut off in .changes files if they're too long.
Thanks, Marc 'HE' Brockschmidt!
2007-06-13 19:36:49 +02:00
Brian
b58e38e936 fix TEXTREL problem (bug 7459) 2007-06-12 09:52:05 -06:00
Brian
8713cb48a8 Fix TEXREL issues when using GLX_USE_TLS (see bug 7459). 2007-06-12 09:46:12 -06:00
Brian
277c5e57ed fix GLX_USE_TLS breakage 2007-06-12 08:57:39 -06:00
Brian
b3d62d5af5 disable depthBits check in check_compatible(), see bug 11161 2007-06-08 12:36:00 -06:00
Brian
9c0f0c8d81 remove old comment about DEFAULT_SOFTWARE_DEPTH_BITS 2007-06-08 12:35:37 -06:00
Brian
18a0a2a7ac document bug 11049 fix 2007-05-23 16:50:22 -06:00
Brian
8b99d9e33c restore GL_TEXTURE_LOD_BIAS in _mesa_PopAttrib(), bug 11049 2007-05-23 16:49:19 -06:00
Brian
01e7e153e3 document point attentuation fix 2007-05-23 08:59:02 -06:00
Brian
0ad4ca24d2 Fix point attentuation problem (bug 11042)
ctx->Point._Attentuation was computed in wrong place and the VB->Eye coord Z
array wasn't indexed correctly in run_point_stage().
2007-05-23 08:56:45 -06:00
Brian
724a155552 if light position is local, treat it as a homogeneous coord and divide by W (see bug 11009) 2007-05-21 10:55:15 -06:00
Julien Cristau
e1b0715dd6 Prepare changelog for upload. 2007-05-21 11:35:28 +02:00
Julien Cristau
a5c6598966 Merge remote branch 'origin/debian-unstable' into debian-experimental
Conflicts:

	debian/changelog
2007-05-21 11:33:42 +02:00
Roland Scheidegger
d38b74a316 fix miptree layout (i915) for small compressed mipmaps
This seems to work now. Also fix i945 set_level_info, need to match i915
behaviour for storing mip height, as it's assumed to be the mip width
(in texels) elsewhere and the division by 4 is done later (untested).
2007-05-19 04:43:50 +02:00
Roland Scheidegger
54cab4b47b fix copy & paste bug of previous commit, breaking dxt5 formats 2007-05-19 03:56:06 +02:00
Roland Scheidegger
c093666bc5 fix miptree comparison with compressed textures
TexelBytes is always 0 with compressed textures, thus would never match
mt->cpp. This caused constant blitting around of textures, and it fixes at
least the horrible performance of Q3 if compressed textures are enabled.
2007-05-19 01:39:54 +02:00
Roland Scheidegger
04972f6761 fix small s3tc mipmaps (#10968)
make sure that always whole blocks are uploaded.
(May still not work correctly if the top mip map is not at least a full block,
that is 4 pixels wide - not sure, but probably doesn't happen in real world)
2007-05-19 01:39:16 +02:00
Brian
67f8234622 set version to 7.0 2007-05-18 09:41:34 -06:00
Brian
201d6dbd9c fix STATE_HALF_VECTOR value (bug 10987) 2007-05-18 09:35:18 -06:00
Julien Cristau
1865ef6fd4 Prepare changelog for upload. 2007-05-18 13:36:42 +02:00
Ian Romanick
fbcac5aa83 Refactor determining whether a texture target can use compressed format 2007-05-17 14:45:25 -07:00
Brian
2b72ab8f8f document glXDestroyPbuffer fix 2007-05-17 15:30:39 -06:00
Brian
0ea97b9408 In DestroyPbuffer(), use GetReq() intead of GetReqExtra(). See bug 10983. 2007-05-17 15:26:39 -06:00
Brian
28683ac7c0 version 7.0, not 7.1 2007-05-17 09:07:25 -06:00
Brian
c72e3e210f version should be 7.0 2007-05-17 09:04:19 -06:00
Ian Romanick
b0fe0d8a55 Bring framebuffer_texture's error checking more in-line with the spec. 2007-05-15 13:42:25 -07:00
Brian
c128c3ce8c master/trunk is now for Mesa 7.1 devel: bump versions 2007-05-14 14:30:36 -06:00
Bruce Merry
6efdf648f5 in __glXGetArrayType() return type, not enabled (bug 10938) 2007-05-14 09:38:23 -06:00
Brian
6a587c0124 comment about fixing uniform structs 2007-05-14 09:38:23 -06:00
Oliver McFadden
524c3336c4 r300: Enable the non-user-buffers code to compile. 2007-05-13 13:38:38 +00:00
Oliver McFadden
0e7e211055 r300: Use e32(0x0) rather than e32(0); makes greping for hex values easier. 2007-05-13 12:59:41 +00:00
Oliver McFadden
4e641bf3e9 r300: Use the defined values when writing to R300_RS_ROUTE_0. 2007-05-13 12:56:59 +00:00
Oliver McFadden
2189ff5e51 r300: Use the defined values when writing to R300_SE_VTE_CNTL.
You can verify this is correct with the following code.

  assert (0x043f ==
	  (R300_VTX_W0_FMT | R300_VPORT_X_SCALE_ENA | R300_VPORT_X_OFFSET_ENA
	   | R300_VPORT_Y_SCALE_ENA | R300_VPORT_Y_OFFSET_ENA |
	   R300_VPORT_Z_SCALE_ENA | R300_VPORT_Z_OFFSET_ENA));
2007-05-13 12:43:40 +00:00
Oliver McFadden
33a73466ae r300: Added a TODO comment for the R300_VAP_INPUT_ROUTE_[01]_0 values. 2007-05-13 12:36:27 +00:00
Oliver McFadden
13c0abd8a7 r300: Changed some more functions to static functions.
This required reordering some of the functions which is why the diff is a little
larger.
2007-05-13 09:09:30 +00:00
Oliver McFadden
82de92c0fb r300: Changed a couple of functions in r300_state.c to static functions. 2007-05-13 08:59:54 +00:00
Oliver McFadden
e4b8481f39 r300: Removed the unused r300_aos_rec (replaced by r300_dma_region) structure. 2007-05-13 08:43:30 +00:00
Oliver McFadden
b5990cec90 r300: Use #if 0 for disabled code, rather than commenting it out. 2007-05-13 08:28:51 +00:00
Oliver McFadden
d93642251e r300: Removed a couple of obsolete/commented out includes. 2007-05-13 08:21:50 +00:00
Oliver McFadden
c66fd808ac r300: A few very minor indenting corrections. 2007-05-13 07:51:41 +00:00
Oliver McFadden
73449270bb r300: Use the defined values for the interpolater (interp_magic) magic values. 2007-05-13 07:44:20 +00:00
Oliver McFadden
6f56e68ee3 r300: Use the defined values when writing to R300_VAP_INPUT_CNTL_[01].
You can verify this is correct with the following code.

  assert (0x00000001 == R300_INPUT_CNTL_0_COLOR);

  assert (0x00000405 ==
	  (R300_INPUT_CNTL_POS | R300_INPUT_CNTL_COLOR |
	   R300_INPUT_CNTL_TC0));
2007-05-13 06:39:24 +00:00
Oliver McFadden
65fae19383 Revert "r300: Perform the locking closer to the DRM texture upload call."
This reverts commit 93881edb46.
2007-05-12 17:18:57 +00:00
Roland Scheidegger
b78aec5767 bring over recent radeonMakeCurrent fixes for r300 to radeon/r200 2007-05-12 11:20:24 +02:00
Oliver McFadden
6bae7d40f7 r300: Removed the name argument to ALLOC_STATE; do the name via the macro. 2007-05-12 01:53:56 +00:00
Oliver McFadden
5f1f1f5704 r300: Renamed r300DoEmitState to r300EmitAtoms. 2007-05-12 01:13:54 +00:00
Oliver McFadden
93881edb46 r300: Perform the locking closer to the DRM texture upload call.
This might help if with attaching GDB if the driver gets into a -EAGAIN loop.
2007-05-12 00:14:33 +00:00
Oliver McFadden
56b99ace19 r300: Removed unused FORCE_32BITS_ELTS define. 2007-05-11 23:35:37 +00:00
Oliver McFadden
3aad47679e r300: Removed the unused CPT macro. 2007-05-11 23:33:47 +00:00
Oliver McFadden
dac5303692 r300: Moved r300PackFloat24 near r300PackFloat32. 2007-05-11 23:32:03 +00:00
Oliver McFadden
64b03f33ee r300: Added insert_at_tail to the ALLOC_STATE macro. 2007-05-11 23:13:08 +00:00
Oliver McFadden
b8b0dd1e20 Revert "r300: Merged radeon_span.c."
This reverts commit 0aa998b2ab.
2007-05-11 23:03:40 +00:00
Oliver McFadden
93f9e61f43 r300: Corrected another error; regexp replaced something it shouldn't have. 2007-05-11 22:26:47 +00:00
Oliver McFadden
f405fbb36d r300: Corrected some macro errors from the previous commit. 2007-05-11 22:23:31 +00:00
Oliver McFadden
5a09ea01e0 r300: Reduced the diff on radeon_lock.[ch]. 2007-05-11 22:21:19 +00:00
Oliver McFadden
98d25a5a28 r300: Initial work on merging radeon_lock.[ch]. 2007-05-11 22:02:52 +00:00
Oliver McFadden
0aa998b2ab r300: Merged radeon_span.c. 2007-05-11 21:56:10 +00:00
Oliver McFadden
b6087270a0 r300: Cleaned up function names in r300_texstate.c. 2007-05-11 21:45:14 +00:00
Oliver McFadden
3f709f16ef r300: Enable hardware 3D texture support. Fixes the stex3d demo. 2007-05-11 21:41:16 +00:00
Oliver McFadden
67363327e5 r300: Corrected a small error from 37cbf38c344012f9d6e938937dac3697b73721a8. 2007-05-11 21:41:16 +00:00
Oliver McFadden
bcaf8fc7b1 r300: Cleaned up the blend factor function. 2007-05-11 21:41:16 +00:00
Oliver McFadden
ef29d6af6c r300: Removed the r300BindProgram function; mesa default does better checking. 2007-05-11 21:41:16 +00:00
Oliver McFadden
6a69bb5864 r300: Removed deprecated/disabled VBO code from r300_mem.c
Also removed a couple of unused fields from the r300_memory_manager structure.
2007-05-11 21:41:16 +00:00
Oliver McFadden
cbd29adbc8 r300: Indented r300_mem.c; I forgot this because it used to be radeon_mm.c. 2007-05-11 21:41:16 +00:00
Oliver McFadden
c729e67321 r300: Use __FUNCTION__ not __func__.
Just for consistency; most of the code already uses __FUNCTION__.
2007-05-11 21:41:16 +00:00
Oliver McFadden
5b23d36613 r300: Assert if the primitive type is unknown; this can't really happen. 2007-05-11 21:41:16 +00:00
Oliver McFadden
a87390504f r300: Moved some code around in r300_render.c and general clean up. 2007-05-11 21:41:16 +00:00
Brian
cc358d861d user-declared uniform structs not supported yet (see bug 10908) 2007-05-11 15:35:12 -06:00
Brian
749e093e33 don't ignore return value of _slang_codegen_global_variable() 2007-05-11 15:34:29 -06:00
Brian
eab6e16522 remove some unneeded code in init_machine() 2007-05-11 15:12:40 -06:00
Oliver McFadden
1b39be3790 r300: Removed some checking in r300NumVerts that is not needed.
According to Aapo Tahkola the OpenGL specification defines the behaviour when
there are not enough vertices for the primitive type, thus DRI drivers do not
need to perform verification on the number of vertices per primitive.
2007-05-11 19:45:28 +00:00
Oliver McFadden
69ff5a3dbc r300: Function naming correction in r300_texmem.c. 2007-05-11 19:45:28 +00:00
Oliver McFadden
01ec508c7f r300: Cleaned up function names in r300_state.c. 2007-05-11 19:45:28 +00:00
Oliver McFadden
d4e3b0b2c2 r300: Cleaned up function naming in r300_emit.c. 2007-05-11 19:45:28 +00:00
Oliver McFadden
b63c70666f r300: Renamed r300_maos.c to r300_emit.c; it contains mostly emit code now. 2007-05-11 19:45:28 +00:00
Brian
c33c00764c Remove unused FB_* tokens, re-indent code. 2007-05-11 08:41:34 -06:00
Brian
6c342ad859 When feeding back texcoords, don't divide by W. See bug 10913. 2007-05-11 08:39:18 -06:00
Patrick Baggett
86e4f52f3c Fix some bugs related to loop counters and conditional branching. 2007-05-11 08:19:33 -06:00
Brian
f0707c789a more indentation fixes, remove 'register' keywords 2007-05-10 17:33:14 -06:00
Brian
aed53ba525 re-indent some code 2007-05-10 17:30:44 -06:00
Brian
3dec7c57b0 document exp(), mod() fixes 2007-05-10 16:14:16 -06:00
Brian
544e441f53 regenerated 2007-05-10 16:14:16 -06:00
Brian
fa546c367d Implement exp() in terms of __asm float_power. Fix typo in mod(vec4) function.
exp() was using __asm float_exp (OPCODE_EXP) but that computes base two, not e.
See bug 10907.
2007-05-10 16:14:15 -06:00
Ian Romanick
64a6a50155 Fix reversed enable logic in enable_texture
Fix bug inserted in commit c9e723e501.
Discovered by Oliver McFadden (z3ro).
2007-05-10 15:01:52 -07:00
Oliver McFadden
c103453d4f r300: Added TODO comment regarding texture tiling; I'm not sure about this. 2007-05-10 22:01:41 +00:00
Oliver McFadden
d7e3d1dc42 r300: Corrected a compile error introduced by one of the previous commits. 2007-05-10 21:40:20 +00:00
Oliver McFadden
02e44e41c8 r300: Removed obsolete start_index16_packet/start_index32_packet.
It's all in r300_render.c now.
2007-05-10 21:28:04 +00:00
Oliver McFadden
eed67a6e3e r300: Moved some more emit code into r300_render.c. 2007-05-10 19:24:16 +00:00
Oliver McFadden
e856edb279 r300: Moved some more of the emit code into r300_render.c. 2007-05-10 19:24:16 +00:00
Brian
58239d2ae3 document tex sampler bug fix, code changes 2007-05-10 10:52:19 -06:00
Brian
2f6a0840c4 Replace pkg-config --cflags libdrm with LIBDRM_CFLAGS, remove disabled lines, remove obsolete comments. 2007-05-10 10:51:54 -06:00
Ian Romanick
c9e723e501 Convert "bit" parameters to GLbitfield. Fix cut-and-paste bug in _mesa_IsEnabled
These changes are based on patch review comments from Brian Paul, Alan
Hourihane, and vehemens.
2007-05-10 08:20:42 -07:00
Ian Romanick
87a980a795 Refactor the loop in unbind_texobj_from_texunits.
Common code was pulled out of the per-target if-statment and put at the end
of the for-loop.  The common code is guarded by a new variable, curr, that
is set to point to the unit's current target in each if-statement.
2007-05-10 08:20:41 -07:00
Ian Romanick
e282f89a38 Refactor queries of GL_(SOURCE|OPERAND)[012]_(ALPHA|RGB).
Most switch-statements that have cases for these enums already use code like:

    const GLuint idx = pname - GL_SOURCE0_RGB;
    ... texUnit->Combine.SourceRGB[idx] ...

This patch just brings the remaining bits up to speed.
2007-05-10 08:20:41 -07:00
Ian Romanick
e2e4b60c7d Refactor the way TestProxyTexImage is called in texture_error_check. 2007-05-10 08:20:41 -07:00
Ian Romanick
58dacc8df1 Refactor Enable / Disable and IsEnabled bits related to texture targets. 2007-05-10 08:20:41 -07:00
Oliver McFadden
b470189378 r300: Name the render functions in r300_render.c consistently. 2007-05-09 22:43:01 +00:00
Oliver McFadden
574bf4d346 r300: Return -1 for error. 2007-05-09 22:43:01 +00:00
Oliver McFadden
795ebb1a3b r300: Probably a good idea to always check the vertices; it's a WARN_ONCE so the
performance impact is extremely minimal.
2007-05-09 22:43:01 +00:00
Oliver McFadden
d0be8b959a r300: Added some more Doxygen documentation and made some functions static. 2007-05-09 22:43:01 +00:00
Oliver McFadden
672ecba175 r300: Removed the "texmicrotile" variable; the tiling code is disabled via a
compiler conditional anyway; probably broken?
2007-05-09 22:43:01 +00:00
Oliver McFadden
0dcea4bf8e r300: Converted a few "if (0)" into "if (RADEON_DEBUG & DEBUG_TEXTURE)". 2007-05-09 22:43:01 +00:00
Brian
16c503f39a Tweak the shell scripting for descending into and building subdirs.
In general, use this:
	@for dir in $(SUBDIRS) ; do \
		if [ -d $$dir ] ; then \
			(cd $$dir && $(MAKE)) || exit 1; \
		fi \
	done

Basically, silently skip missing subdirs but generate an error and stop if
there's a compilation or install problem.
This was done inconsistantly before.  In once case, a missing subdir was
causing us to go into an infinte loop!
2007-05-09 16:23:11 -06:00
Oliver McFadden
4d5d4e1f97 r300: Cleaned up radeon_context.h slightly; mostly Indent. 2007-05-09 21:06:28 +00:00
Oliver McFadden
a9ab36b8f2 r300: radeon_span.h is now common code; radeon_span.c still needs some work. 2007-05-09 20:52:09 +00:00
Oliver McFadden
88288b614e r300: Renamed the R300 memory manager from "radeon" to "r300"; it's R300
specific.
2007-05-09 20:49:49 +00:00
Oliver McFadden
a154706061 r300: Indented radeon_span.h 2007-05-09 20:41:27 +00:00
Oliver McFadden
6fe41a4c01 r300: Further reduced the radeon_span.c diff. 2007-05-09 20:36:48 +00:00
Oliver McFadden
f4a2b9f83d r300: I have no idea why this was forced on, but it seems to work fine when
restored to the previous behaviour.
2007-05-09 19:30:59 +00:00
Oliver McFadden
56c2f7bb42 r300: Removed the dangerous R300_SPAN_DISABLE_LOCKING flag.
Enabling R300_SPAN_DISABLE_LOCKING would probably cause more lockups; I think
there are a couple of other little bugs in this code, too. It's best to remove
it.
2007-05-09 19:24:59 +00:00
Oliver McFadden
df747eb354 r300: Removed a bit of disabled code. 2007-05-09 18:44:56 +00:00
Oliver McFadden
ff7a41a159 r300: Don't need to include the deprecated r300_program.h in some files.
The only file that still requires r300_program.h is r300_ioctl.c; and it should
use the new defines in r300_reg.h!
2007-05-09 18:37:46 +00:00
Oliver McFadden
01fdb34b39 r300; Indent would destroy r300_reg.h, so add *INDENT-OFF*. 2007-05-09 18:31:04 +00:00
Christoph Bill
3c9e5cb0bd r300: Added a few more Doxygen comments. 2007-05-09 18:25:12 +00:00
Christoph Bill
a6aa1f8016 r300: Added some Doxygen comments. 2007-05-09 18:24:06 +00:00
Oliver McFadden
967c2d220d r300: Converted "rp" variables (r300_fragment_program) to "fp". 2007-05-09 18:14:42 +00:00
Oliver McFadden
0e6b7eb9c0 r300: Don't need to sleep here; might cause performance problems the first time. 2007-05-09 18:11:38 +00:00
Oliver McFadden
ed42bd6e20 r300: Removed the obsolete GLX_DIRECT_RENDERING define. 2007-05-09 18:07:16 +00:00
Oliver McFadden
2db667290a r300: Further reduced the diff between radeon_span.[ch]. 2007-05-09 18:06:10 +00:00
Oliver McFadden
cea0c2b144 r300: Indented both copies of radeon_span.[ch] in preparation for merging. 2007-05-09 18:01:43 +00:00
Oliver McFadden
2b5ef29a7b r300: Removed the deprecated VTXFMT code.
This was okayed by Jerome Glisse and Keith Whitwell on the dri-devel IRC channel
and list, respectively.
2007-05-09 16:10:08 +00:00
Oliver McFadden
4ed59c6012 r300: The empty check_space doesn't and never has done anything; removed it. 2007-05-09 15:57:30 +00:00
Oliver McFadden
7e7b1f7c4d r300: Fix a couple of static errors. 2007-05-09 15:38:18 +00:00
Oliver McFadden
c48e4c6f09 r300: Fixed indenting from previous commit
d28f6d9176.
2007-05-09 15:28:38 +00:00
Oliver McFadden
4f20fe8a93 r300: Added R300_PRIM_NUM_VERTICES_MASK suggested by Jerome Glisse. 2007-05-09 15:21:13 +00:00
Oliver McFadden
d28f6d9176 r300: Fixed some more function names.
Note there might be some calls to the old function names in conditionally
disabled code, but I think I've got them all.
2007-05-09 15:19:05 +00:00
Oliver McFadden
fe6a2c4295 r300: Changed r300_run_vb_render calls to r300RunRender in some conditionally
disabled code.
2007-05-09 15:07:34 +00:00
Oliver McFadden
faf47d9f84 r300: Added a "not implemented yet" comment back. 2007-05-09 14:45:42 +00:00
Oliver McFadden
f9828f5c4f Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa 2007-05-09 14:23:22 +00:00
Oliver McFadden
7b165de5f8 r300: Last of the indent changes. :) 2007-05-09 14:19:45 +00:00
Brian
62ef001de7 add pointers to git repo for drm/libpciaccess, replace & with &amp; 2007-05-09 08:17:57 -06:00
Oliver McFadden
76d7b62cd2 r300: Indented r300_cmdbuf.[ch]. 2007-05-09 14:17:16 +00:00
Oliver McFadden
901fc0de18 r300: Indented r300_state.[ch]. 2007-05-09 14:12:34 +00:00
Oliver McFadden
c970811dab r300: Indented r300_texmem.[ch]. 2007-05-09 14:11:17 +00:00
Oliver McFadden
bb97694fad r300: Indented r300_texstate.[ch] 2007-05-09 14:09:35 +00:00
Brian
516259d609 Clean-up in I830AllocVidMem(), s/int/unsigned long/ for ret variable. 2007-05-09 08:07:15 -06:00
Brian
3e4302fe3b Check that texture units/samplers specified with glUniform1i() are legal. 2007-05-09 08:07:15 -06:00
Oliver McFadden
dcc8e5f4c1 r300: Indented r300_tex.[ch]. 2007-05-09 13:59:28 +00:00
Oliver McFadden
32c8d002d0 r300: Indented r300_context.[ch]. 2007-05-09 13:55:14 +00:00
Julien Cristau
a8c856d43c Cherry-pick commmit 65faf023 by Michel Dänzer to fix r300 crash.
r300: Don't crash in radeonUpdatePageFlipping when !radeon->glCtx->DrawBuffer.

This feels like a kludge, maybe there's a better solution.
2007-05-09 15:09:12 +02:00
Oliver McFadden
c9b87b8ad8 r300: Removed the unused immediate vertices mode macro.
Immediate vertices mode hasn't been supported since early CVS versions of the
R300 driver.
2007-05-09 04:30:16 +00:00
Oliver McFadden
5d61cfd1fd r300: Removed a disabled/obsolete e32 in the AOS function. 2007-05-09 04:27:31 +00:00
Oliver McFadden
93e957cc65 r300: Removed some disabled R200 code from the R300 driver. 2007-05-09 04:25:27 +00:00
Oliver McFadden
3eae496deb r300: Don't indent the tables in r300_texstate.c. 2007-05-09 04:20:35 +00:00
Oliver McFadden
81c6516af1 r300: Indented r300_vertprog.[ch]. 2007-05-09 04:12:04 +00:00
Oliver McFadden
9e91351826 r300: Indented r300_fragprog.[ch]. 2007-05-09 04:08:27 +00:00
Oliver McFadden
328b307e2f r300: Cleaned up the R300 Makefile. 2007-05-09 03:44:40 +00:00
Oliver McFadden
d316b4dc22 r300: Corrected a couple of "control reaches end of non-void function" warnings. 2007-05-09 03:40:06 +00:00
Oliver McFadden
f0126a76ac r300: Corrected an error in r300_vertprog.c.
Cannot use _mesa_warning here because we don't have a context pointer; perhaps
R300 specific warning and error functions are needed.
2007-05-09 03:38:45 +00:00
Oliver McFadden
b8640db021 r300: Corrected the exit codes for consistency; they are all -1 for error now.
The one exception is 300FlushCmdBuf.
2007-05-09 03:36:28 +00:00
Oliver McFadden
28b47110b6 r300: Converted exit calls to _mesa_exit calls.
Note that the exit codes are inconsistent and should be fixed.
2007-05-09 03:32:15 +00:00
Oliver McFadden
fe2c58d2d5 r300: Converted a few fprintf calls to _mesa_warning calls. 2007-05-09 03:25:33 +00:00
Oliver McFadden
4917955205 r300: Added a warning when texture state update fails. 2007-05-09 03:22:37 +00:00
Oliver McFadden
eca50a27e1 r300: Removed some obsolete code from r300_tex.c. 2007-05-09 03:18:14 +00:00
Oliver McFadden
0950e9727e mesa: Added Vim swap files to .gitignore. 2007-05-09 03:14:08 +00:00
Oliver McFadden
504fafe389 r300: Updated .gitignore. 2007-05-09 03:12:51 +00:00
Oliver McFadden
72608aedc3 r300: Added the Linux Kernel indent script. 2007-05-09 03:12:22 +00:00
Oliver McFadden
be56660ba0 r300: Indented r300_state.[ch]. 2007-05-09 02:59:11 +00:00
Oliver McFadden
36c8bc6141 r300: Indented r300_emit.h. 2007-05-09 02:52:37 +00:00
Oliver McFadden
5c8296a6ab r300: Indented r300_cmdbuf.[ch]. 2007-05-09 02:51:13 +00:00
Oliver McFadden
6665658a56 r300: Indented r300_shader.[ch]. 2007-05-09 02:50:13 +00:00
Oliver McFadden
204bc4e441 r300: Indented r300_maos.[ch]. 2007-05-09 02:49:14 +00:00
Oliver McFadden
e90ad3dbbb r300: Indented r300_ioctl.[ch]. 2007-05-09 02:46:57 +00:00
Oliver McFadden
8d62afdb6a r300: Removed the obsolete pfs_reg_t type from r300_fragprog.h. 2007-05-09 02:41:38 +00:00
Oliver McFadden
59494bafb4 r300: Use an array for the vertex program sources and corrected an error from
4960af08ad.
2007-05-09 02:35:07 +00:00
Oliver McFadden
33939fd29b r300: Removed the ugly CARD32 type. 2007-05-09 02:27:08 +00:00
Oliver McFadden
4960af08ad r300: Renamed vertex_shader.h to r300_vertprog.h 2007-05-09 02:24:59 +00:00
Oliver McFadden
f5b0cafbb1 r300: Removed obsolete pixel_shader.h header file. 2007-05-09 02:18:29 +00:00
Oliver McFadden
c578354642 r300: Renamed the VBO functions to the R300 name format. 2007-05-08 21:04:57 +00:00
Brian
da37ac5ee7 remove some debug code 2007-05-08 14:08:45 -06:00
Brian
ed2fddc98e special case for -pthread (bug 10876) 2007-05-08 14:03:04 -06:00
Brian
58eaf0acca a somewhat nicer demo w/ command line options 2007-05-08 13:48:52 -06:00
Oliver McFadden
d132f7245d r300: Removed some deprecated code from r300_context.c and corrected an unused
variable warning in r300_render.c.
2007-05-08 19:46:25 +00:00
Oliver McFadden
73bc8b63ac r300: Last few r300_render.c clean up. 2007-05-08 19:38:44 +00:00
Oliver McFadden
377ce9e074 r300: Merged some comments into the Doxygen documentation. 2007-05-08 19:35:36 +00:00
Oliver McFadden
f1d785188b r300: Cleaned up r300_render.c using Indent with appropriate options.
This corrects the mess of space and tab indenting that existed in this file, and
probably others. The diff is actually very small if you use an external diff
program and ignore whitespace.
2007-05-08 19:31:30 +00:00
Oliver McFadden
313c4c2643 r300: General render clean up; added some Doxygen documentation, too. 2007-05-08 19:22:15 +00:00
Oliver McFadden
fbeae4f70c r300: Moved the pipeline stages together for readability. 2007-05-08 18:47:26 +00:00
Oliver McFadden
9301a6a325 r300: Print the OpenGL define instead of a 2-digit char code in the warning. 2007-05-08 18:43:56 +00:00
Oliver McFadden
6c036812be r300: Clean up the vertex buffer emission code and reduced code duplication.
I tested both the unoptimized and optimized versions with Quake 3 Arena; there
are no problems.
2007-05-08 18:28:04 +00:00
Oliver McFadden
c6abbbfd02 r300: Cleaned up a lot of cruft in r300_render.c. 2007-05-08 18:05:10 +00:00
Dave Airlie
8a7f474c69 i915/miniglx: remove unused code 2007-05-08 10:53:43 +10:00
Dave Airlie
47e33a27df miniglx: fixup use of create windows x and y coordinates
This makes miniglx take not of the x and y from XCreateWindow
2007-05-08 10:51:44 +10:00
Dave Airlie
401629c721 miniglx/glut: should use the x/y pos to create window
This allows moving miniglx glut windows around the framebuffer
2007-05-08 10:49:31 +10:00
Brian
f1770c3210 better comments for _mesa_debug(), _mesa_warning(), etc 2007-05-07 14:13:23 -06:00
Dave Airlie
8130a4fe98 radeon: enable xpress chipsets
glxgears and googleearth now run so that seems like a good start

Thanks to Aapo Tahkola for doing the 3D work on this so far, I got lost
after the GART changes.
2007-05-07 07:06:08 +10:00
Aapo Tahkola
8f1c63b263 rs480: fix secondary color for real this time 2007-05-06 19:25:45 +03:00
Aapo Tahkola
857ebc6d47 Merge branch 'master' of git+ssh://aapot@git.freedesktop.org/git/mesa/mesa 2007-05-06 19:19:16 +03:00
Aapo Tahkola
660bdc616b rs480: fix textures and secondary color(?). clipping is still busted. tested on r480 2007-05-06 19:18:10 +03:00
Aapo Tahkola
88ae491bd2 r300: fix broken vbos 2007-05-06 19:10:39 +03:00
Oliver McFadden
8445960d9f r300: Added R300_AA_DISABLE for R300_GB_AA_CONFIG. 2007-05-06 12:09:42 +00:00
Oliver McFadden
74cae00c0e r300: Removed more deprecated state code that is now set in separate functions. 2007-05-06 11:56:36 +00:00
Oliver McFadden
56d9663574 r300: R300_ZS_... is now set in separate functions; removed the deprecated code. 2007-05-06 11:54:00 +00:00
Oliver McFadden
81d1a04e04 r300: Point size is now set in a separate function; removed the deprecated code. 2007-05-06 11:52:03 +00:00
Oliver McFadden
62cbe6c3f3 r300: Use the defined values for R300_VAP_CNTL_STATUS. 2007-05-06 11:36:24 +00:00
Aapo Tahkola
16cec9f767 r300: fix primary color on rs480 2007-05-06 14:28:23 +03:00
Aapo Tahkola
5e2a66466d don't use hw to perform vertex transform etc. when using swtcl. This for compatibility with vertex programs and the fact that swtcl very rarely gets hit with tcl capable hw. 2007-05-05 17:07:46 +03:00
Dave Airlie
b3378f6cc5 nouveau: disable nouveau build by default
Until this is API/ABI stable building it by default isn't a good idea.
2007-05-05 15:43:01 +10:00
Brian
91948f99dd add </ol> tag 2007-05-04 18:32:02 -06:00
Brian
ae5f67575d Makefile clean-ups for miniglx. 2007-05-04 18:27:12 -06:00
Brian
e75fbd3f91 Assorted miniglx updates. 2007-05-04 18:26:41 -06:00
Brian
a6dad578b5 document R300 bug fix 10848 2007-05-03 13:52:33 -06:00
Brian
c6443eb1a3 fix some matrix/state token indexing bugs (see bug 10848) 2007-05-03 12:33:25 -06:00
Brian
121533defb add some #includes to silence warnings 2007-05-03 09:50:08 -06:00
Brian
3cddba688d get rid of normal vector 2007-05-02 18:55:45 -06:00
Brian
dc881e1909 get rid of OSMESA stuff 2007-05-02 18:54:57 -06:00
Brian
2dfb03beb2 New test of the dFdx(), dFdy() functions. 2007-05-02 18:48:51 -06:00
Brian
18cfe0c801 document recent GLSL, R300 fixes 2007-05-02 18:46:45 -06:00
Brian
60d136f63c changes to get DDX/DDY working again 2007-05-02 18:45:44 -06:00
Brian
62da6a1b3e Resuscitate some of the DDX,DDY code.
Only works for program input registers at this time.
Good enough for the common case of texcoords, though.
2007-05-02 18:44:34 -06:00
Brian
77e7535c0f fix some DDX,DDY mix-ups 2007-05-02 18:42:57 -06:00
Brian
5c1b53d58d Document a deficiency in the _swrast_Translate() function with regard to point size. 2007-05-02 12:06:43 -06:00
Brian
b2f1d6422b fix some renderbuffer/wrapper bugs 2007-05-02 08:48:43 -06:00
Brian
99f24c8d17 fix some StepX/StepY mix-ups in alpha interpolation 2007-05-02 08:48:20 -06:00
Brian
04c401c91e add *gc, *syn files to tarballs 2007-05-02 08:29:14 -06:00
Brian
03f201d935 regenerated 2007-05-01 14:03:16 -06:00
Brian
594b5ad87d implement acos(), asin(), atan() 2007-05-01 14:02:49 -06:00
Brian
bfd5cf72c4 fog, mix() bug fixes 2007-05-01 10:23:15 -06:00
Brian
7559364027 Rewrite of slang_inline_asm_function() to do full parameter/argument substitution.
We had been taking a short-cut w/ asm inlines by just using parameters in order
rather than doing full formal parameter -> actual argument substitution like
ordinary inlined function calls.  This worked in all cases but one: mix() in
which the parameters were used in a different order.
This fixes bug 10821.
2007-05-01 10:22:08 -06:00
Michel Dänzer
65faf02367 r300: Don't crash in radeonUpdatePageFlipping when !radeon->glCtx->DrawBuffer.
This feels like a kludge, maybe there's a better solution.
2007-04-30 18:28:24 +02:00
David Nusinow
1953cfc954 Update changelog 2007-04-30 00:08:11 -04:00
David Nusinow
8e7bac950e Merge branch 'upstream-experimental' into debian-experimental 2007-04-29 23:23:00 -04:00
Michel Dänzer
c409dbcae3 r300: Page flipping fixes.
Mostly making sure the page flipping state is respected when necessary.
2007-04-29 13:52:48 +02:00
Michel Dänzer
cbf280dc26 r300: radeonMakeCurrent cleanups.
r300UpdateWindow is superfluous or even possibly wrong here; _mesa_make_current
will set the viewport when necessary. So the conditional _mesa_set_viewport call
can go as well.
2007-04-29 13:52:11 +02:00
Brian
af0ae93863 only load front/back face attrib if using a shader (bug 10788) 2007-04-28 08:51:23 -06:00
Brian
bcc3baadba use EMIT_1F or EMIT_4F for fog depending on fragment program (bug 10788) 2007-04-28 08:50:07 -06:00
Brian
4ca7c804db fix GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB bug (10787) 2007-04-28 08:01:18 -06:00
Keith Packard
bfaf6156fb additional checks that attr is a texcoord 2007-04-28 07:50:06 -06:00
Brian
d741b10be6 7.0 blurb 2007-04-27 17:05:29 -06:00
Brian
e371a5f084 Version bumps for 7.0 2007-04-27 17:01:23 -06:00
Brian
af846712fd updates for 7.0 2007-04-27 17:00:13 -06:00
Brian
c4615abb11 added 7.0 relnotes link 2007-04-27 16:54:05 -06:00
Brian
430e036413 added 6.5.3 MD5 sums 2007-04-27 16:53:42 -06:00
Brian
502ebe90e8 7.0 release notes (template) 2007-04-27 16:53:26 -06:00
Brian
02e958a1e4 added glGetActiveAttrib 2007-04-27 16:27:36 -06:00
Brian
cce5084941 "Fix" for bug 9170. May need more attention. 2007-04-27 15:41:07 -06:00
Brian
4b1d1b7b18 document perspective correction issues 2007-04-27 15:25:00 -06:00
Brian
7ff72a7659 document broken inverse trig functions 2007-04-27 15:23:19 -06:00
Brian
c4b3b8dece asin(), acos(), atan() just return 0.5 for now to avoid crashing. Fix someday. 2007-04-27 15:22:58 -06:00
Brian
65bab0dad8 remove rc4 suffix 2007-04-27 08:00:51 -06:00
Brian
74edc663a6 set 6.5.3 release date 2007-04-27 08:00:37 -06:00
Brian
54d59cfb70 Added error check that all varying vars needed by the fragment shader are produced by vertex shader. 2007-04-26 12:20:53 -06:00
Brian
b7f5b8af65 Unconditionally update _TriangleCaps bits. Fixes software fallback bugs, such as #10687. 2007-04-26 10:45:44 -06:00
Brian
4099531a0a bump Windows to OpenGL 2.1, set release date 2007-04-26 07:50:26 -06:00
Brian
1606f2c123 enable 2.1 extensions 2007-04-26 07:49:33 -06:00
Brian
1dd7c00214 Windows updates 2007-04-26 07:48:35 -06:00
Brian
f42d4ab41e move #include <GL/glut.h> after other #includes for Windows 2007-04-26 07:46:59 -06:00
Brian
4a28548cbf use sqrt(), not sqrtf() for Windows 2007-04-26 07:46:38 -06:00
Karl Schultz
5814922d25 updates for 6.5.3 w/ VC8 2007-04-25 10:28:37 -06:00
Brian
3de20aead2 RC4 2007-04-25 10:01:30 -06:00
Brian
6d27194dff fix attribsMask (re-fixes depth peeling algorithm) 2007-04-25 09:58:15 -06:00
Julien Cristau
03cdacfb6a Prepare changelog for upload. 2007-04-25 10:37:10 +02:00
Julien Cristau
30f3c3dfad Update changelog. 2007-04-25 08:42:02 +02:00
Julien Cristau
dee1b0d5bb Merge remote branch 'upstream/master' into debian-experimental 2007-04-25 08:40:39 +02:00
Brian
c233aa2768 s/fog/attrib[FRAG_ATTRIB_FOGC][0]/ 2007-04-24 22:32:41 -06:00
Brian
c93b2a1cb7 s/fog/attrib[FRAG_ATTRIB_FOGC][0]/ 2007-04-24 22:22:14 -06:00
Julien Cristau
6f2b0fe463 New upstream release candidate.
Refresh a couple patches.
2007-04-25 01:48:33 +02:00
Julien Cristau
0c69176498 Merge tag 'mesa_6_5_3_rc3' into debian-experimental 2007-04-25 01:41:05 +02:00
Julien Cristau
4e7a0385b5 Merge tag 'mesa_6_5_3_rc2' into debian-experimental 2007-04-25 01:40:50 +02:00
Brian
eca456b63d s/DO_TEXVAR/DO_ATTRIBS/ 2007-04-24 16:57:38 -06:00
Brian
4003bde6ff get rid of an extra textured triangle function 2007-04-24 16:47:33 -06:00
Brian
ddcf819906 s/TEXTURE/ATTRIBS/ 2007-04-24 16:47:07 -06:00
Brian
9ede048127 trim down the number of line drawing functions, special cases 2007-04-24 16:40:54 -06:00
Brian
97693436a5 only need one CI-mode triangle function 2007-04-24 16:20:50 -06:00
Brian
8a8a5bd104 s/INTERP_TEX/INTERP_ATTRIBS/ 2007-04-24 16:16:25 -06:00
Brian
3e5eda9ee9 fix typo 2007-04-24 10:21:10 -06:00
Brian
f38dcc8a6a added missing VC8 .sln files 2007-04-24 10:19:19 -06:00
Brian
b1b154c498 added new VC* files, bump version to rc3 2007-04-24 08:58:12 -06:00
Karl Schultz
286faac68e assorted fixes for Windows/VC8 2007-04-24 08:53:28 -06:00
Brian
3b0bd0ce17 new VC8 project files 2007-04-24 08:52:34 -06:00
Karl Schultze
208ea84524 fix double const, move an assertion 2007-04-24 08:19:07 -06:00
Matthias Hopf
7868ab6617 add missing semicolon 2007-04-24 07:48:35 -06:00
Sean D'Epagnier
47ad443c55 Added proper cleanup code 2007-04-23 21:17:30 -07:00
Brian
3db3dc58bc disable some errant code 2007-04-23 22:04:03 -06:00
Brian
c27adc52ce remove SWvertex->fog field, use attrib field 2007-04-23 22:03:11 -06:00
Brian
afc132e7a9 remove SWvertex->fog field, use attrib field 2007-04-23 22:01:34 -06:00
Brian
335769a875 some re-org, clean-up 2007-04-23 21:27:13 -06:00
Brian
0bdf216dd0 Improve the code for interpolating fragment attributes a little. More to come... 2007-04-23 21:21:52 -06:00
Julien Cristau
4adbd94b10 Only install stuff in mesa-swx11-source if we're building arch:all packages. 2007-04-23 11:00:09 +02:00
Brian
d59e6f233b import glxext.h version 19 2007-04-22 15:32:10 -06:00
Julien Cristau
4a2905b645 Delete obsolete file. 2007-04-22 18:08:58 +02:00
Julien Cristau
0638c6b530 Add generated files from the tarball so they're included in mesa-swx11-source. 2007-04-22 18:08:35 +02:00
Julien Cristau
7dd35ce013 Delete .gitignore files which do more harm than good in a debian package tree. 2007-04-22 18:07:52 +02:00
Sean D'Epagnier
ad02042db2 Fixed fallout, glfbdev driver was calling a nop function that was removed. 2007-04-21 20:18:42 -07:00
Julien Cristau
c8629c3178 Resync debian/scripts/install-source.sh. 2007-04-22 00:51:10 +02:00
Julien Cristau
77ccf51cb3 New upstream release candidate. 2007-04-22 00:50:40 +02:00
Julien Cristau
01197f0c77 Merge branch 'upstream-experimental' into debian-experimental 2007-04-22 00:34:30 +02:00
Julien Cristau
69c86ff4fd Remove leftover file. 2007-04-22 00:33:38 +02:00
Brian
f793e90e82 Fix color sum bug 10688. 2007-04-21 15:58:37 -06:00
Brian
112e1f2b5a specularColor.alpha should default to 1, not 0 2007-04-21 15:56:10 -06:00
Brian
e5cf37c178 fix SkipPixels bugs in _mesa_pack_bitmap(), bug 10690 2007-04-21 14:12:57 -06:00
Julien Cristau
9a42ffad81 Add build-dependencies on libxdamage-dev and libxfixes-dev. 2007-04-21 21:23:21 +02:00
Julien Cristau
0d8633bf8c Delete autogenerated files, and files not included in the tarball. 2007-04-21 21:20:37 +02:00
Brian
b5e9b0e562 Remove the !rb->Data check that was added a few months ago.
Was changed while debugging #7205.  Broke the shadowtext demo.  Revisit this
if the problem w/ bug 7205 returns...
2007-04-21 13:18:06 -06:00
Brian
b1502588c4 s/occlude.h/queryobj.h/ 2007-04-21 12:54:23 -06:00
Julien Cristau
d79e80a3d0 New upstream release candidate.
Drop patches included upstream.
2007-04-21 20:47:01 +02:00
Brian
74afcabd85 Rename occlude.[ch] to queryobj.[ch] 2007-04-21 12:42:54 -06:00
Brian
b3ab925e91 Rename occlude.[ch] to queryobj.[ch] to better reflect contents. 2007-04-21 12:36:39 -06:00
Brian
2d2c6a622d prep for 6.5.3 rc2 2007-04-21 12:31:51 -06:00
Brian
fc3d6bd351 memory leaks fixed 2007-04-21 12:30:58 -06:00
Brian
e261d66d81 Remove all the USE_MEMPOOL debug code. 2007-04-21 12:30:58 -06:00
Brian
cd3e39340f Use new memory pool allocator. Lots of debug code still in place... 2007-04-21 12:30:58 -06:00
Julien Cristau
d890ebdd25 Merge branch 'upstream-experimental' into debian-experimental
Conflicts:

	doxygen/Makefile
	doxygen/common.doxy
	doxygen/doxy.bat
	doxygen/glapi.doxy
	doxygen/header.html
	doxygen/main.doxy
	doxygen/math.doxy
	doxygen/shader.doxy
	doxygen/swrast.doxy
	doxygen/swrast_setup.doxy
	doxygen/tnl.doxy
	doxygen/tnl_dd.doxy
	progs/tests/Makefile
	progs/tests/fbotest1.c
	progs/tests/fbotest2.c
	progs/tests/fbotexture.c
	progs/tests/mipmap_limits.c
	progs/tests/sharedtex.c
	progs/tools/trace/gltrace_support.cc
	progs/trivial/Makefile
	src/egl/docs/EGL_MESA_screen_surface
	src/egl/main/egllog.c
	src/glx/mini/Makefile
	src/glx/mini/driver.h
	src/mesa/drivers/allegro/amesa.c
	src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c
	src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c
	src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c
	src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c
	src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c
	src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c
	src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c
	src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c
	src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c
	src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c
2007-04-21 20:27:55 +02:00
Brice Goglin
5ee9b3ce72 Fix conflicts for libGLw packages.
libglw1-mesa does not have to conflict with earlier libgl1-mesa-swx11
(libGLw was only shipped as development libs/headers within swx11-dev).

libglw1-mesa-dev needs to conflicts with libglw-dev.
2007-04-21 20:20:03 +02:00
Brice Goglin
031b539a09 Split out libGLw libs and headers from libgl1-mesa-swx11.
Ship both static and shared libraries for libGLw, creating libglw1-mesa and
libglw1-mesa-dev (closes: #374904).
2007-04-21 20:19:38 +02:00
Ian Romanick
ad3cc95485 Fix FBO completeness bug in shadowtex. 2007-04-21 10:48:24 -07:00
Brian
4e0a64675c added MemPool field 2007-04-21 10:18:49 -06:00
Brian
d5e7234ba8 call grammar_alloc_free() to fix memleaks 2007-04-21 10:05:05 -06:00
Brian
bc74cb4c0a destroy window upon exit 2007-04-21 10:05:05 -06:00
Brian
257f799849 remove more unused vars, assertions 2007-04-21 10:05:05 -06:00
Brian
81c4fee160 remove unused vars, assertions 2007-04-21 10:05:05 -06:00
Brian
1fbdd9d794 added slang_mem.c 2007-04-21 10:05:05 -06:00
Brian
82839e8430 Memory pool manager.
Instead of doing intricate malloc/free tracking during compiling, allocate
everything (which would be discarded after compiling) from a pool that can
be freed en masse when done.
2007-04-21 10:05:05 -06:00
Brian
ced6f76404 undo a test/debug change 2007-04-21 10:05:05 -06:00
Brian
4cc2674aee fix instruction comment code 2007-04-21 10:05:05 -06:00
Brian
a7f7366d38 another bit of debug code 2007-04-21 10:05:05 -06:00
Brian
11e3f733ba free subroutine array (fix mem leak) 2007-04-21 10:05:05 -06:00
Brian
98ef18909a new varnames in slang_operation_insert() 2007-04-21 10:05:05 -06:00
Brian
f2346498aa fix memleak in slang_operation_insert() 2007-04-21 10:05:05 -06:00
Brian
4b7c6fc5a6 free shProg->Attributes in _mesa_free_shader_program_data() 2007-04-21 10:05:05 -06:00
Brian
fe16b9f663 move allocation of shProg->Attributes earlier in function 2007-04-21 10:05:05 -06:00
Brice Goglin
47c3c706e8 Add 09_i915_always_enable_pixel_fog.patch 2007-04-21 18:00:12 +02:00
Brian
c9855a60f4 Call _mesa_warning() instead of _mesa_problem() when external s3tc lib not found.
The later incorrectly encourages filing a bug (10703, for example).
2007-04-21 09:47:36 -06:00
Jeremy Kolb
838a2a2633 Make xcb backend compile.
Add nouveau to match linux-dri config.
2007-04-20 21:53:38 -04:00
Brian
e7e5279fc0 Remove unused Imakefiles. 2007-04-20 19:18:13 -06:00
Brian
7fd3a6c521 Long obsolete. 2007-04-20 19:01:21 -06:00
Brian
720cf3aa13 added new xm_glide.c file 2007-04-20 18:55:13 -06:00
George Sapountzis
5491c8194c xmesa: call _glapi_set_dispatch() for all xserver DDXes.
This is to unify the xmesa code across xserver DDX'es. The call is intented for
XGL, but it does not hurt to call for other DDX'es. In fact it was not guarded
against XGL when it was first added in xserver.
2007-04-20 21:09:00 +03:00
George Sapountzis
e4e2068ac9 xmesa: minor cosmetic
mainly drop 'client' argument from initialize_visual_and_buffer().
2007-04-20 21:08:58 +03:00
George Sapountzis
6346a753c6 xmesa: split FX functions to separate file, part 2. 2007-04-20 21:08:57 +03:00
George Sapountzis
4d944b502f xmesa: split FX functions to separate file, part 1. 2007-04-20 21:08:56 +03:00
George Sapountzis
6aa5668871 xmesa: spilt FX code to separate functions. 2007-04-20 21:08:55 +03:00
George Sapountzis
d60009bd6d Revert "xmesa: drop glide (FX) backend."
This reverts commit 2a2f8d806f.
2007-04-20 21:08:53 +03:00
Brice Goglin
0d830a616c Add 08_r300_update_window_state_when_bound_but_stamp_changed.patch 2007-04-20 18:53:47 +02:00
Brice Goglin
e219bf8338 Add 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch 2007-04-20 18:44:59 +02:00
Brian
535c37e85d Notes about shared lib version. Document depth-peel fixes. 2007-04-19 14:24:58 -06:00
Brian
ba3d384e94 dFdx(), etc. don't work yet 2007-04-19 14:24:29 -06:00
Brian
8b5fce6bcc Put gl_program_machine into swrast structure rather than using a local variable.
Basically an easy way to make sure the memory gets initialized once (to zero)
to avoid lots of valgrind warnings.
2007-04-19 14:24:10 -06:00
Brian
020cdb47cf Fix valgrind problem caused by reading text[-1]. 2007-04-19 14:15:11 -06:00
Brian
121f2212cc remove invalid assertion (span->facing may be set because of polygonmode) 2007-04-19 14:07:16 -06:00
Brian
24a93dd6a4 remove invalid assertion 2007-04-19 14:06:43 -06:00
Brian
00da9afb84 fix crash when program has invalid structure field 2007-04-19 14:06:27 -06:00
Brian
4abcaf3949 init A.curFuncEndLabel = NULL 2007-04-19 14:04:30 -06:00
Brian
6bde08815f In _mesa_unpack_depth_span() look for special cases of GLuint->GLushort and GLushort->GLuint conversion.
This improves performance and avoids int/float/int conversion problems that
can introduce errors during glCopyTexImage().  Another fix for the depth peeling
algorithm.
2007-04-19 11:23:26 -06:00
Brian
8e6207396c Don't allow deferredTexture if using occlusion query and a frag shader.
Occlusion query might depend on the shader killing/discarding fragments.
Helps fix depth peeling technique.
Also, minor tweaks in interpolate_wpos().
2007-04-19 11:21:14 -06:00
Brian
5ca8d4ccf2 fix an uninitialized variable and a warning 2007-04-18 18:05:33 -06:00
Brian
6b3027e291 comments, assertions 2007-04-18 17:14:14 -06:00
Brian
8d370fb2ee new comments 2007-04-18 17:14:14 -06:00
Brian
36a6a59972 record proper datatypes for uniforms/samplers 2007-04-18 17:14:14 -06:00
Brian
addd03da2e added _slang_gltype_from_specifier() 2007-04-18 17:14:13 -06:00
Brian
c93e883b20 Start fixing some issues with uniform variables and their types. 2007-04-18 17:14:13 -06:00
Brian
274ac7a801 Fix some bugs related to querying active uniforms. 2007-04-18 17:14:13 -06:00
Brian
aaa57412c1 fix error strings, add a sanity check 2007-04-18 17:14:13 -06:00
George Sapountzis
2a2f8d806f xmesa: drop glide (FX) backend.
glide is no longer compiled with stand-alone libGL, so this will not link.
There are still the glide config files. some code in demos and the
GLX_MESA_set_3dfx_mode code which could be removed.
2007-04-19 00:01:45 +03:00
Brian
bac15c8db8 Remove bad assertions, decrement NumShaders in _mesa_detach_shader().
Fixes crashes w/ Brad King's depth peeling test.
2007-04-18 14:55:18 -06:00
Brian
f3e8c32376 s/GL_SHADER_PROGRAM/GL_SHADER_PROGRAM_MESA/ (a Mesa-specific token) 2007-04-18 14:53:23 -06:00
Brian
6d3d9c1c6d Replace _mesa_parameter_longest_name() with _mesa_longest_parameter_name().
The later takes a type parameter so we can match uniforms or attributes/inputs.
Used by the GL_ACTIVE_ATTRIBUTE_MAX_LENGTH and GL_ACTIVE_UNIFORM_MAX_LENGTH
queries.  Fixes problem reported by Brad King in VTK.
2007-04-18 14:19:17 -06:00
Brian
e57e752eee call ProgramStringNotify() after linking 2007-04-18 12:41:16 -06:00
Brian
884af40864 check _PreferPixelFog in _swrast_span_default_fog(), see bug 10669 2007-04-18 12:09:40 -06:00
Brian
30a79f76fc improved fog comment 2007-04-18 12:08:18 -06:00
Brian
8598f55091 glean glsl test now does over 150 tests 2007-04-18 09:30:07 -06:00
Brian
6d01f3f1ec added href to shading language info 2007-04-18 09:28:38 -06:00
Brian
e3caa5f891 prep for 6.5.3 release 2007-04-18 09:07:56 -06:00
Brian
d9443c2494 add progs/glsl/ to DEMO_FILES, s/pre/rc1/ 2007-04-18 08:52:18 -06:00
Xiang, Haihao
565cd49b5f fig segment fault issue in TAG(triangle), (see bug 10589)
Bit SS_TWOSIDE_BIT is set if  gl_FrontFacing lives in
fragment input (see commit 10b5895597).
However, VB->ColorPtr[1] isn't assigned after that.
2007-04-18 12:37:09 +08:00
Brian
a4b2b88337 omit the glide/svga sources from stand-alone libGL (anyone using them?) 2007-04-17 16:00:17 -06:00
Brian
04bda46739 Enable texture sampling for vertex programs/shaders.
This is a bit of a hack for now because the tnl module is using the swrast
module to fetch texels.  The texture fetch/filter code should probably be
moved into the main/ module since it doesn't really depend upon other
swrast code.
2007-04-17 15:56:46 -06:00
Brian
d2d86a3f0b In bind_inputs() set VB->EdgeFlag to NULL if it's not needed.
Otherwise, the clip/interp code was finding VB->EdgeFlag to be non-null and
reading/writing it when the memory may have been freed earlier in free_space().
This fixes several VTK segfaults/failures reported by Brad King @ Kitware.
2007-04-17 10:19:47 -06:00
Brian
9cbcf7c696 regenerated 2007-04-17 09:16:59 -06:00
Brian
468a33d19a fix/simplify some texture functions 2007-04-17 09:16:30 -06:00
Brian
893b368a82 more matrix function updates 2007-04-17 09:15:57 -06:00
Brian
41fc55dd81 don't set GL_TEXTURE_MAX_LEVEL for GL_TEXTURE_RECTANGLE_ARB as that generates an error 2007-04-17 08:29:37 -06:00
Thomas Hellstrom
1a9483c954 Defer buffer pool creation to the first context creation.
This way we have a hw context so that we can take the hardware lock.
Also, at this point, AIGLX isn't locked with the X server context as it is
at screen creation.
2007-04-17 15:21:54 +02:00
Roland Scheidegger
36949abec7 cleanups for t_vb_program.c
use VertexProgram._Current instead of VertexProgram.Current in a few more places.
Only fixup fogc and psiz in case this is really a nv program (others are fine
if undefined), and fix this case up so the values actually get written.
2007-04-17 14:01:42 +02:00
Oliver McFadden
6459adf79b r300: r300_render.c:391: warning: unused variable 'i' 2007-04-17 07:05:15 +00:00
Brian
badc346206 lots of changes, fixes, clean-ups 2007-04-16 17:56:13 -06:00
Brian
4a7c45118d just clean-ups 2007-04-16 17:36:39 -06:00
Brian
34ca2be769 move GL_EXT_stencil_two_side into alphabetical position 2007-04-16 17:18:39 -06:00
Brian
5888010362 Fix glActiveStencilFaceEXT dispatch problem (bug 10523).
OK, _all_ extensions that might get enabled by the driver need to be in the
card_extensions[] list.  driInitExtensions() is called at least twice: first
during screen creation, then once for each context that's created.
The first call sets up the dispatch table.  The second call just sets the
extension enable/disable flags.
2007-04-16 17:16:46 -06:00
Brian
dfee7619d4 remove _tnl_arb_vertex_program_stage 2007-04-16 15:15:53 -06:00
Brian
96e05da1c9 remove _tnl_arb_vertex_program_stage 2007-04-16 15:15:23 -06:00
Brian
1560de2c3c need to clamp MAD for linear fog 2007-04-16 15:09:39 -06:00
Brian
921b008419 removed unused t_vb_arbprogram stage 2007-04-16 11:03:14 -06:00
Brian
aa6992a296 remove t_vb_arbprogram.c 2007-04-16 10:59:00 -06:00
Brian
4b3835dadf unhook t_vb_arbprogram.c code - it's going away 2007-04-16 10:58:30 -06:00
Brian
64e8088667 Use generic program limits instead of NV-specific ones to init program constants.
Previously, this limited us to 12 temp regs for vertex programs.  Many vertex
shaders could exceed that.  This forces us to stop using t_vb_arbprogram.c
for now because of its particular register indexing scheme.  Need to increase
bits allocated for register indexing, etc.
2007-04-16 10:36:28 -06:00
Brian
3dfcd48469 Fix some assertions that could occur when an error was earlier logged. 2007-04-16 10:32:48 -06:00
Brian
e812a2a484 use b->display instead of b->xm_visual->display to fix some problems detected w/ valgrind 2007-04-16 09:11:20 -06:00
Thomas Hellstrom
da56df9d72 Make sure we are locked when creating drm buffer objects.
Don't place buffer objects on unfenced list when newly created.
Fix a buffer object wait-for-idle deadlock.
2007-04-16 16:04:12 +02:00
Brian
9519785e29 illegal to set GL_TEXTURE_MAX_LEVEL w/ GL_TEXTURE_RECTANGLE_ARB 2007-04-14 09:38:20 -06:00
Brian
83ad64d94a implement shadow2DRect functions 2007-04-14 09:36:17 -06:00
Brian
fde15a2bae Fix sample_depth_texture() to handle texture rectangle coords. 2007-04-14 09:33:20 -06:00
Brian
216eb81c53 set osmesa renderbuffer refcount=1 upon creation, free renderbuffer in OSMesaDestroyContext() 2007-04-14 08:09:12 -06:00
Brian
4fc46a6c82 more _mesa_unreference_framebuffer() calls, remove dead code 2007-04-14 08:06:54 -06:00
Brian
e19cfabb6e fix negative zoom factor bug (10636), more comments 2007-04-14 07:49:21 -06:00
Dave Airlie
8d8a3cc398 r300: emit different clear paths for non-TCL, this gets the clear color correct 2007-04-14 17:44:33 +10:00
Dave Airlie
fb1d22d23d r300: remove unneeded semicolon from macro 2007-04-14 17:42:59 +10:00
Dave Airlie
3d59042afd r300: if we don't have TCL don't setup state emissions for vertex shaders 2007-04-14 04:54:49 +01:00
Brian
967c1056d5 patch for Digital/Tru64 (bug 10635) - forwarded to OpenGL ARB as well 2007-04-13 09:55:35 -06:00
George Sapountzis
9f8373d5ca xmesa: drop unused XMesaPutImageHelper.
It could only be called from XMesaCopySubBuffer but this function is not used
by XFree86.

It seems that XMesaPutImageHelper would handle sub-images but never got
finished. Proper sub-image helpers should be written if need be.
2007-04-13 18:13:08 +03:00
George Sapountzis
50aaabc248 xmesa: export xmesa functions used by xfree86.
This uses xmesa.h as the GLcore interface and avoids adding an explicit GLcore
inteface which would not be a proper interface anyway.

It puts the declarations of the three functions specific for XMesa/XFree86 in
xmesa.h, we can push them down to xmesa_xf86.h if hiding behind XFree86Server
ifdef's is not enough.
2007-04-13 18:12:37 +03:00
Brian
30b6f11de1 s/version/vertex/ 2007-04-12 16:18:27 -06:00
Brian
f11604a30d fix bug in _playback_copy_to_current(): need to skip version position data (see bug 10587) 2007-04-12 16:17:01 -06:00
Brian
99193e4f74 disable debug printfs 2007-04-12 15:45:02 -06:00
Brian
5b74fe0889 Added sanity checking in _slang_sizeof_type_specifier() to be sure sizes are what's expected. 2007-04-12 15:23:55 -06:00
Brian
431d650f2b use _mesa_clear_shader_program_data() 2007-04-12 15:22:53 -06:00
Brian
3c008a014f New _mesa_reference_shader/program() function to consolidate refcounting.
Note that (unlike texture objects), shader handles remain valid (in the
hash table) after glDeleteShader/Program() if the refcount isn't zero.
2007-04-12 15:22:32 -06:00
Brian
bf287356cf restore 200x200 window size, animation, version check 2007-04-11 14:09:32 -06:00
Brian
bce7043ebc regenerated 2007-04-11 12:30:31 -06:00
Brian
70b0e123c4 checkpoint: updating non-square matrix constructors and operators 2007-04-11 12:30:03 -06:00
Brian
f98f4f6d7a move/fix texture sampling funcs 2007-04-11 12:29:38 -06:00
Brian
afc58f5f7e s/Shadow/SHADOW/ 2007-04-11 11:13:37 -06:00
Brian
b61d74c575 as with prev commit, also fix color index mode zoomed depth copies (bug 10608) 2007-04-11 09:04:18 -06:00
Brian
9f66025f54 fix invalid error detection problem in _mesa_bind_attrib_location(), bug 10602 2007-04-11 09:00:56 -06:00
Brian
183d8e0620 fix zoomed depth copies (bug 10608) 2007-04-11 08:47:05 -06:00
Brian
b0bba03846 use _mesa_reference_renderbuffer(), fix typo 2007-04-11 08:11:52 -06:00
Brian
ba876be0c0 fix/work-around allocation bugs for non-square matrices 2007-04-10 21:51:27 -06:00
Brian
319ce38fa4 update SLANG version test 2007-04-10 21:50:53 -06:00
Dave Airlie
64700be4e1 rs480: set vap cntl to what fglrx uses for non-TCL cards 2007-04-10 11:46:58 +01:00
Michel Dänzer
159ecba4b3 i915: Bring test for vsync to pipe B in line with i915tex. 2007-04-10 11:05:17 +02:00
Michel Dänzer
e798d22556 Add missing generated file. 2007-04-10 11:04:19 +02:00
Brian
0109b47106 NULL ptr check 2007-04-09 19:07:22 -06:00
Brian
7b2626f7d8 plug in GLSL 1.20 unit 2007-04-09 19:07:22 -06:00
Brian
19121e2802 undo a debug/test change 2007-04-09 19:07:22 -06:00
Dave Airlie
e0bbf46342 r300: don't enable VAP/TCL on cards that don't support it 2007-04-10 09:32:13 +10:00
Brian
702c8f1e6c remove unneeded initialization code (see bug 10569) 2007-04-09 11:21:51 -06:00
Brian
f9574c3f6b allocate __GLXdisplayPrivate w/ Xcalloc instead of Xmalloc (bug 10569) 2007-04-09 08:49:26 -06:00
Michel Dänzer
e8292d28e4 i915tex: Fix some mismatches between texels or bytes for pitch/stride. 2007-04-09 14:57:08 +02:00
Michel Dänzer
c96974f78c i915tex: Make sure texture format fetch hooks are initialized. 2007-04-09 14:53:41 +02:00
Dave Airlie
6461e91ac3 the RS400 definitely doesn't work at this point so don't let it init 2007-04-09 22:03:31 +10:00
Brian
af807a4696 enable GLSL 1.20 2007-04-08 21:48:19 -06:00
Brian
5c0c60a13c support for GLSL 1.20 non-square matrices 2007-04-08 16:47:32 -06:00
Brian
5dba996dba add glsl to PROGRAM_DIRS 2007-04-08 15:50:31 -06:00
Brian
9612a3011f fix some dependencies, remove some CFLAGS 2007-04-08 15:42:26 -06:00
Brian
0d3d930912 add 2.1 functions 2007-04-08 15:41:02 -06:00
Adam Jackson
d8bfc42bb7 Make sure GLX entrypoints are marked PUBLIC.
Fedora bug #229808.
2007-04-08 14:40:03 -04:00
Wei Wang
ca7885f733 fix bug 9823: GL_CLIENT_ATTRIB_STACK_DEPTH query fails for indirect rendering 2007-04-08 11:24:08 -06:00
Michel Dänzer
9176752172 i915tex: Clean up resizing of renderbuffers. 2007-04-08 14:04:15 +02:00
Michel Dänzer
79bf692420 driUpdateFramebufferSize: Use ctx->Driver.ResizeBuffers. 2007-04-08 14:02:14 +02:00
Brian
f72e7fb1d6 MAX_TEXTURE_COORDS_ARB and MAX_TEXTURE_IMAGE_UNITS_ARB had wrong glGet info.
Fixes bug 10371.
2007-04-07 20:38:25 -06:00
Brian
4647f13c43 fix etags command to find headers 2007-04-07 19:36:58 -06:00
George Sapountzis
20ec486baf Drop XFree86Server from execmem.c
This is a remnant from the libcwrapper days that can be removed now. It is the
last XFree86 glitch in Mesa core.

Reverts the following commit (thanks to Brian Paul for pointing to it):

commit 8b1dc68662
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date:   Tue Jan 24 21:40:53 2006 +0000

    pull in fix from 6.4 branch for XFree86Server definition

commit cc7b6810e2
Author: Ian Romanick <idr@us.ibm.com>
Date:   Fri Oct 21 18:09:24 2005 +0000

    Make execmem.c compile in the server (libGLcore).  Since xf86mmap
    doesn't know about MAP_ANONYMOUS, this is the only viable fix.  This
    issue will likely have to be revisited at some point.
2007-04-07 18:41:14 +03:00
Richard Hughes
55000888b9 set version for tarballs to 6.5.3pre for now 2007-04-07 08:48:07 -06:00
Richard Hughes
4f9d3a07bb fix references to non-existant sz4 field 2007-04-07 08:46:44 -06:00
Richard Hughes
84803279ca fix some CHAN_TYPE==GL_FLOAT breakage 2007-04-07 08:46:10 -06:00
Brian
8d2d6e5194 fix comment typo 2007-04-07 08:43:40 -06:00
Richard Hughes
e9c614a1af remove array_cache/, add vbo/ 2007-04-07 08:39:24 -06:00
Brian
8f3fc5221c added glActiveStencilFaceEXT 2007-04-07 08:38:36 -06:00
Brian
ae55d5322c for evaluators, loop to VBO_ATTRIB_TEX7, not VBO_ATTRIB_INDEX. See bug 10543 2007-04-06 15:45:11 -06:00
George Sapountzis
92b7fa7b48 xmesa: use newly added xm_image.[hc]
Keep external includes to glxheader.h and xmesa includes to xmesaP.h.

Drop the following from xm_image.h:
- dix-config.h (comes from glheader.h)
- xfree86 includes (come from GL/xmesa_xf86.h)
- ifdef __CYGWIN__ (leftover ? xm_api.c has something similar)
2007-04-06 13:28:39 +03:00
George Sapountzis
eb4a8b4bb5 xmesa: add xf86glx_util.[hc] from xserver as xm_image.[hc] 2007-04-06 13:27:43 +03:00
George Sapountzis
663a3e9ba7 Drop the funky SSE exception test on linux.
Replace the check for IN_DRI_DRIVER with the appropriate kernel version check
and just disable SSE on older (pre 2.4) kernels.
2007-04-06 13:22:41 +03:00
Brian
51a894e6eb fix color storage bug in convolution path 2007-04-05 21:12:44 -06:00
Brian
ac32b644ee include points.h to fix warnings 2007-04-05 11:43:07 -06:00
George Sapountzis
487f7a73cb Remove SI imports/exports remnants. 2007-04-05 19:01:51 +03:00
George Sapountzis
aa1c79eaea glx: minor cosmetic in glcontextmodes.c
move memory macros to separate block and unwrap malloc/free for miniglx towards
cleaning Mesa core glitches in glx...
2007-04-05 19:00:47 +03:00
George Sapountzis
885111518e Move glcontextmodes.c to glx.
It is no longer linked with DRI drivers, libGL passes function pointers through
the DRI interface.
2007-04-05 18:59:42 +03:00
Brian
0cae814f36 temporary add some extra renderbuffer debug code 2007-04-05 09:28:09 -06:00
Brian
33c3739628 Remove the never-used SI-style imports/exports code. 2007-04-04 22:18:53 -06:00
Brian
4d864b087e assorted updates 2007-04-04 09:33:12 -06:00
Brian
2f207dcf1e assorted documentation updates 2007-04-04 09:31:41 -06:00
Brian
f9c01c33d3 init span.y=0 to silence warnings 2007-04-04 09:30:28 -06:00
Brian
d4dc57bb13 Overlapping copies with zoomZ=-1 were broken. See bug 10521.
Need to check for overlapping src/dest regions before computing bottom-to-top
vs. top-to-bottom order.
2007-04-04 08:48:06 -06:00
Brian
a28e648690 remove debug printf 2007-04-04 08:26:41 -06:00
Xiang, Haihao
40ae3943f2 i810/i915/i915tex: reinitialize the context point state 2007-04-04 16:50:47 +08:00
Nicolai Haehnle
dba21ed913 Fix in t_vp_build: Missed necessary updates sometimes
_mesa_update_state doesn't always reset VertexProgram._Current to NULL.
This caused us to skip a necessary update of the fixed function vertex
program sometimes.

Change the logic such that we check for updates whenever the _Current
program is either NULL or the program generated by t_vp_build.
2007-04-02 21:01:32 +02:00
Brian
66d336808d Call _glapi_set_context(NULL) in _glapi_check_multithread() to make sure the _glapi_Context global gets cleared properly. 2007-04-02 10:03:34 -06:00
Brian
dccd9c4f4d use _mesa_reference_renderbuffer() in a few more places 2007-04-02 09:57:27 -06:00
Brian
3fe47d5c57 updated debug printf 2007-04-02 09:57:27 -06:00
Brian
3fd88089c0 Fix some bugs/issues related to alpha channel support. See bug 10483. 2007-04-01 18:30:28 -06:00
Brian
0683e4ce4b If using PF_8A8B8G8R, be sure alpha is correctly handled. 2007-04-01 18:28:28 -06:00
Brian
ec42af9263 re-order tokens, fix comments 2007-04-01 18:27:23 -06:00
Brian
00831b5b3b always emit BGN/ENDSUB, for now anyway 2007-03-31 09:09:48 -06:00
Brian
ec6c8f86f3 fix scoping mistake in previous commit that checked for writable LHSs 2007-03-31 09:09:21 -06:00
Brian
e608d92c5b check that LHS of assignment is writable 2007-03-30 14:59:02 -06:00
Eric Anholt
57dadf71ca Merge branch 'origin' 2007-03-30 13:18:27 -07:00
Eric Anholt
adb91c056f Merge branch 'crestline-qa', adding support for the 965GM chipset. 2007-03-30 13:11:38 -07:00
Gustavo Pichorim Boiko
6f652c89d7 call DRI_VALIDATE_DRAWABLE_INFO(), bug 10477 2007-03-30 14:10:10 -06:00
George Sapountzis
7439a36785 Clean and update XMesa/XFree86 interface.
Drop XMesaSetVisualDisplay(), XMesaReset(), no longer used.

Add XMesaCopyContext() and move the GlxSetRenderTables() call for XGL within
XMesaForceCurrent(). This is to make xserver/GL/mesa/X/xf86glx.c unaware of
Mesa internals.

Also, clean some ifdef's to make it clear that USE_XSHM and XFree86Server are
mutually exclusive.

Lastly,
- move gcstruct.h from glxheader.h up to xmesa_xf86.h since it calls *gc->ops
- drop GL/glxtokens.h from xm_api|dd.c, GLX tokens come from glcore.h and are
  used irrelevant of XFree86.
2007-03-30 19:19:00 +03:00
Brian
7eba12edce more tips, validation info 2007-03-28 17:14:35 -06:00
Brian
ba730e14ed cond code fix 2007-03-28 17:08:17 -06:00
Brian
1ba858591b fix cond code swizzle bug 2007-03-28 15:45:24 -06:00
Brian
f2f5d06853 Handle logical NOT and XOR without library functions. Results in much tighter code. 2007-03-28 15:16:33 -06:00
Brian
b2ac30ac36 optimization for the emit_not() function 2007-03-28 14:49:33 -06:00
Brian
3b7f2f53a2 remove IR_BREAK_IF_FALSE 2007-03-28 14:38:36 -06:00
Brian
8128f7143d don't generate IR_BREAK_IF_FALSE 2007-03-28 14:33:25 -06:00
Brian
393a93ea32 Get rid of IR_CONT_IF_FALSE 2007-03-28 14:25:30 -06:00
Brian
3e7d43cd48 Get rid of BRK0, BRK1, CONT0, CONT1 instructions. 2007-03-28 14:23:33 -06:00
Brian
1bbd69251b Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere. 2007-03-28 14:21:26 -06:00
Brian
f841b04601 simplify, clean-up break/cont code 2007-03-28 14:14:00 -06:00
Brian
b463d52143 added some null ptr checks to handle error recovery 2007-03-28 13:29:57 -06:00
Brian
7e4a7fdddd Use constant_to_src_reg() to simplify some code 2007-03-28 13:23:44 -06:00
Brian
ee2f31e281 added missing returns after slang_info_log_error() calls 2007-03-28 12:48:27 -06:00
Brian
dad97b4688 Fix, clean-up code related to comparisons, condition codes, etc. 2007-03-28 11:06:34 -06:00
Brian
a01616eed5 print condcodes if DEBUG_PROG 2007-03-28 11:01:28 -06:00
Brian
d750861dc2 expose _mesa_condcode_string(), fix some printing 2007-03-28 11:01:09 -06:00
Brian
59f7f6dbe9 check that if/while/do-while condition is boolean or scalar 2007-03-28 10:44:38 -06:00
Brian
20d85c609a bump version to 6.5.3 to match version.h 2007-03-28 09:07:41 -06:00
Alan Hourihane
ad766b5785 Add missing OSMesaColorClamp function 2007-03-28 15:58:08 +01:00
Brian
0420d8505a disable MakeTexture() 2007-03-27 16:06:48 -06:00
Brian
05e6fd8398 added ftransform() comment 2007-03-27 16:06:48 -06:00
Brian
e5d00e8cf4 Implement true CAL/RET subroutines. Some optimizations, clean-ups coming... 2007-03-27 16:06:48 -06:00
Brian
31dc7a3c89 fix another pc off-by one 2007-03-27 16:06:47 -06:00
Brian
17238f1ee5 added _slang_label_new_unique() 2007-03-27 16:06:47 -06:00
Brian
f407cada8a fix some printing issues related to subroutines 2007-03-27 16:06:47 -06:00
Brian
e713ef66ef fix a fragment fog regression 2007-03-27 16:06:47 -06:00
Brian
a0275b0d2c fix off by one error in OPCODE_RET 2007-03-27 16:06:47 -06:00
Brian
d6d6d20b13 init machine->StackDepth=0 2007-03-27 16:06:47 -06:00
Brian
1f1f582304 more parenthesis 2007-03-27 16:06:47 -06:00
Roland Scheidegger
811c2e9a91 i915tex compile fix (account for moved _UseTexEnvProgram var) 2007-03-27 22:57:22 +02:00
Roland Scheidegger
cda3236092 fix incorrect _MaxElement calculation
The calculation of _MaxElement was wrong if the stride was larger than
elementSize, which lead to rejection of every DrawElements call which accessed
the maximum element if CheckArrayBounds was enabled.
2007-03-27 21:03:32 +02:00
Roland Scheidegger
9b9e056615 recommit e731d8aafa.
This got lost with glsl-compiler-1 merge, it fixes segfaults when using
ATI_fragment_shader, which uses the ProgramStringNotify mechanism but doesn't
have a valid program pointer.
2007-03-27 19:33:34 +02:00
Brian
ff65fa39e8 add parenthesis around a bit-wise AND term in _tnl_InvalidateState() 2007-03-27 09:52:53 -06:00
Brian
3e45db6729 Restore the UseTexEnvProgram logic.
Was removed during glsl-compiler work.  Still need to go back and revisit this
because of the interaction with fragment shaders...
2007-03-27 09:51:52 -06:00
Roland Scheidegger
3b8ab88131 r300: Fix radeonUpdatePageFlipping() function.
Always call driFlipRenderbuffers() with pfCurrentPage value, in case it's
initially 1 instead of 0. May fix some issues with pageflip, the same fix was
applied to r128, radeon and r200 (6e0e6eff05).
2007-03-27 16:27:34 +02:00
Roland Scheidegger
32225d06b9 r128, radeon, r200: Check ctx->WinSysDrawBuffer before calling function that dereferences it.
Same fix as for r300 (which fixed https://bugs.freedesktop.org/show_bug.cgi?id=10417),
since it's likely an issue with those drivers too.
2007-03-27 16:22:00 +02:00
Bernardo Innocenti
a835939222 always print error messages, unless LIBGL_DEBUG=quiet 2007-03-27 08:05:33 -06:00
Brian
98abd1bbc8 simplify .a suffixing 2007-03-27 07:58:47 -06:00
Bernardo Innocenti
a9455bb9a7 remove static lib before building to make more bulletproof 2007-03-27 07:56:34 -06:00
Michel Dänzer
63c57a14d3 r300: Check ctx->WinSysDrawBuffer before calling function that dereferences it.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10417 .
2007-03-27 09:44:32 +02:00
Miroslav Šustek
25f21b5331 fix r128 rendering, lockups
mis-count in offset led to mis-rendering and lockups;
units are 4 bytes rather than 1.  Noticed by Chris Salch.
fixes bug 7994, possibly others.
2007-03-26 23:40:04 -04:00
Zou Nan hai
da82d86ea0 Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa 2007-03-27 09:41:31 +08:00
Zou Nan hai
075d3d892f Fix compile error 2007-03-27 09:41:01 +08:00
Brian
ae36cfc65e s/SUB/BGNSUB/ 2007-03-26 18:47:19 -06:00
Brian
9878e8ff51 Checkpoint: implementing true CAL/RET instructions for subroutine calls.
Also, found/fixed a code generation regression:  the emit_swizzle() function
was always returning NULL.  This caused emit_move() to miss its chance at peephole
optimization.
2007-03-26 18:46:07 -06:00
Brian
6583429f89 Get rid of IR_JUMP and related code. 2007-03-26 17:16:26 -06:00
Brian
037c068460 special case RET 2007-03-26 16:58:50 -06:00
Brian
c042a91b8b Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling. 2007-03-26 16:56:45 -06:00
Brian
813a0e11f1 remove debug abort() calls 2007-03-26 16:01:58 -06:00
Brian
52cc32378c Additional error checking for 'return' statements. 2007-03-26 15:46:35 -06:00
Brian
c3da0bd7dd undo some debugging hacks 2007-03-26 15:09:59 -06:00
Brian
e508155d16 dead code elimination for constant-valued if/then/else 2007-03-26 15:02:21 -06:00
Nicolai Haehnle
0426d3c0c8 r300: Remove a warning when vertex programs produce an unused output
As far as we know, the hardware prefers outputs packed tightly together
with no holes caused by outputs that are not even read by the fragment
program. Therefore, we slightly rewrite vertex programs in this case.

It would be interesting to test this interaction between vertex programs
and fragment programs further, because some of that rewrite may be
unnecessary. However, play it safe for now and don't change the current
behaviour.
2007-03-26 22:25:06 +02:00
Nicolai Haehnle
b53745ce91 r300: Whitespace cleanup (remove trailing spaces) 2007-03-26 22:25:06 +02:00
Brian
768f7231ea Fix a few issues with computing storage sizes with respect to swizzles. 2007-03-26 13:46:46 -06:00
Brian
680abf8a02 In _mesa_lookup_parameter_constant() make sure we return a full, 4-component swizzle. 2007-03-26 13:46:46 -06:00
Nicolai Haehnle
1170268088 r300: Fix warnings that were introduced by the glsl merge 2007-03-26 21:41:57 +02:00
Brian
38a1c2b495 Add _swrast_span_default_secondary_color() for use with glBitmap, glDrawPixels, etc.
Secondary color wasn't getting added to post-texture color when drawing
bitmaps, images.  See bug 10409.
2007-03-26 11:30:05 -06:00
Brian
b5d988dd19 remove incorrect assertions 2007-03-26 10:39:56 -06:00
Brian
b67d93111d minor status updates 2007-03-26 10:23:50 -06:00
Brian
22d9132081 disable printing shader program debug info 2007-03-26 10:15:02 -06:00
Brian
d619cceea4 merge of glsl-compiler-1 branch 2007-03-26 10:13:02 -06:00
Michel Dänzer
76f3b66e04 i915tex: Make sure renderbuffers don't get deleted when flipping them.
Since the recent renderbuffer refcounting fixes it's no longer sufficient to
just remove the old renderbuffer from the framebuffer and then add the new one
because the former may decrease the reference count to 0 and delete the old
renderbuffer.
2007-03-26 17:38:58 +02:00
Brian
e71c34aaa1 disable free() until other issues can be fixed... 2007-03-26 09:24:30 -06:00
Brian
b9fbedd601 fix mem leak, add comments 2007-03-26 09:23:44 -06:00
Ben Skeggs
8051c95a7e nouveau: match drm version bump 2007-03-26 21:31:43 +10:00
Nian Wu
ee9bc897f8 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-26 17:00:29 +08:00
Brian
42aaa548a1 Fix some renderbuffer reference counting issues. Also fixes a mem leak. 2007-03-25 10:39:36 -06:00
Brian
6fda763989 destroy window on exit 2007-03-25 10:25:29 -06:00
Xiang, Haihao
a1ea7812b2 i965: The given urb layout(maximal size of urb entries and the
values for nr of entries) should meet the requirement.
2007-03-25 21:40:58 +08:00
Xiang, Haihao
bb59d81d2d Color3iv: set the alpha value to 1.0 2007-03-25 21:31:36 +08:00
Nicolai Haehnle
8a4546b561 r300: Whitespace cleanup in r300_texmem.c 2007-03-25 14:57:56 +02:00
Nicolai Haehnle
9db583e7e4 r300: Whitespace cleanup in r300_texstate.c 2007-03-25 14:57:49 +02:00
Nicolai Haehnle
7143c61283 r300: Fix regression: unnecessary node indirection
The texture_rectangle fix introduced a bug where every texture instruction
caused a new indirection.
2007-03-25 13:04:03 +02:00
Nian Wu
1b354bb5e4 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-25 17:00:24 +08:00
Brian
bb0393a0cd fix mem leak 2007-03-24 16:44:20 -06:00
Brian
9fe342d1e6 disable free(var->aux) -- can lead to segfault 2007-03-24 16:43:44 -06:00
Brian
cfdd07d7d3 fix mem leak 2007-03-24 16:26:51 -06:00
Brian
1968444bed fix some mem leaks 2007-03-24 16:22:35 -06:00
Brian
935f93f966 Free shader-related context state: _mesa_free_shader_state() 2007-03-24 16:20:02 -06:00
Brian
3493e867e9 free prog->Attributes in _mesa_delete_program() 2007-03-24 16:18:13 -06:00
Brian
49134e8e53 fix mistake in _slang_free_ir() 2007-03-24 15:29:10 -06:00
Dave Airlie
74ceaf545f nouveau: implement nv20Clear and nv20Scissor
Still crashes out on scissor regs
2007-03-25 07:09:02 +10:00
Nicolai Haehnle
f27991c916 r300: Fix texture coordinate calculation for rectangle textures
R300 hardware takes texcoords in the range 0..1 even for rectangle
textures. Previously, the necessary texcoord conversion was applied
to the texture coordinate during vertex processing in a render stage.

This is obviously wrong when fragment programs are used, which can
calculate arbitrary coordinates for TEX instructions. Therefore,
we now inject an appropriate MUL instruction before a TEX that
reference a rectangle texture.
2007-03-24 19:09:44 +01:00
Nicolai Haehnle
0c3ae2ea7f r300: No assertion when accessing incomplete texture images.
There used to be an assertion when a fragment program accesses an incomplete
texture image. Work around this assertion.
Note: I am unsure whether this workaround produces the desired result
(0,0,0,1) on all hardware.
2007-03-24 18:11:37 +01:00
Brian
0e71d08e8d Properly free the slang_ir_node->Store data (use ref counting). 2007-03-24 10:18:14 -06:00
Brian
b50b036ffb When computing render_inputs_bitset, omit primary color if we have a fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings. 2007-03-24 10:16:49 -06:00
Brian
dc3015f157 move some code into new slang_ir.c file 2007-03-24 09:40:20 -06:00
Brian
b2bc563142 IR utility functions 2007-03-24 09:39:24 -06:00
Nicolai Haehnle
d4dd5a95a8 r300: Fix: KIL instruction don't require textures
When no textures were enabled, a KIL instruction triggered an assertion
in r300_setup_rs_unit.
2007-03-24 14:43:06 +01:00
Nicolai Haehnle
8f90822b72 swrast: Fix crash when sampling from a non-existing texture object 2007-03-24 14:42:49 +01:00
Ben Skeggs
ea3d11a3d8 nouveau: some swtcl fixes 2007-03-24 22:24:00 +11:00
Nian Wu
44fb5156bb Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-24 17:00:29 +08:00
Brian
8e1c3bd0b4 Implement alpha buffer copy for SwapBuffers().
Nicolai writes:
When the pixmap pixel format has no alpha channel, the x11 driver
(software rendering) adds a wrapped alpha channel on request.

During SwapBuffers, this alpha channel is not copied from back to
front, which means that the front buffer doesn't really contain the
contents that the back buffer previously contained.

A subsequent glReadPixels from the front buffer will return an
incorrect result. The following patch attempts to fix this.
2007-03-23 18:01:31 -06:00
Brian
8f9db0f81c document internal compiler options 2007-03-23 17:49:19 -06:00
Brian
d1934c2065 Fix issues related to the 'continue' statement.
IR_LOOP now has two children: the body code, and the tail code.
Tail code is the "i++" part of a for-loop, or the expression at the end
of a "do {} while(expr);" loop.
"continue" translates into: "execute tail code; CONT;"
Also, the test for infinite do/while loops was incorrect.
2007-03-23 17:48:42 -06:00
Brian
81767eead9 consolidate some code 2007-03-23 17:45:53 -06:00
Brian
63556fa994 Add the ability to generate programs that doesn't use condition codes.
ctx->Shader.EmitCondCodes determines if we use condition codes.
If not, IF statement uses first operand's X component as the condition.
Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle
the common cases of conditional break/continue.
2007-03-23 14:47:46 -06:00
Brian
bf020d8d7f minor tweaks 2007-03-23 14:44:34 -06:00
Brian
2bdac09d16 updated comment 2007-03-23 10:46:08 -06:00
Nicolai Haehnle
654a308439 r300: Whitespace cleanup (remove trailing spaces) 2007-03-23 17:39:28 +01:00
Nian Wu
ad76128204 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-23 17:00:28 +08:00
Brian
fe20a619cf updated comment 2007-03-22 16:07:43 -06:00
Brian
e6aeb24b23 Overhaul emit_compare() function.
Previously, comparing vec2, vec3, vec4 was broken.
Added IR_EQUAL, IR_NOTEQUAL nodes/operators to compute boolean
equality/inequality vs. IR_SEQUAL/IR_SNEQUAL which work component-wise.
Use IR_EQUAL/IR_NOTEQUAL for the == and != operators.
To compute vec4 equality, use SNE, DP4, SEQ instruction sequence.
2007-03-22 16:07:14 -06:00
Brian
0aad9e2627 First pass at implementing structure compares.
Need to improve this.  There may be holes in a structure so we can't
just blindly compare the full 4-float registers.
2007-03-22 09:15:39 -06:00
Brian
12229f119d use _mesa_copy_instructions() 2007-03-22 09:11:26 -06:00
Brian
1bf81e3c5d In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow swizzleOut==NULL.
There are times when we don't want to allow swizzling when searching for or
adding vector constants.  Passing NULL for swizzleOut disables swizzling.
This fixes a constant/swizzle bug in link_uniform_vars().
2007-03-22 09:07:27 -06:00
Brian
1936b25ebd print conditional writemask, if enabled 2007-03-22 09:04:18 -06:00
Brian
002762b13a use _mesa_alloc_instructions() 2007-03-22 08:51:34 -06:00
Brian
1240eb2683 use _mesa_copy_instructions() 2007-03-22 08:50:20 -06:00
Alan Hourihane
985a2eff82 Ensure we have a valid ReadBuffer for CopyTexSubImage, and
if not bail accordingly.

Previously we'd only do this test on compressed textures.
2007-03-22 14:28:18 +00:00
Nian Wu
2eb656ef4f Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-22 17:00:33 +08:00
Xiang, Haihao
01b7f2ab2e fix for bug#10339
StateFlags has been updated in _mesa_add_state_reference
2007-03-22 11:01:51 +08:00
Brian
629ec2b06b added SWIZZLE_XYZW 2007-03-21 15:40:54 -06:00
Brian
2500d82d0d Support for user-defined structures.
struct == and != operators not finished yet.  Struct assignment works though.
2007-03-21 15:40:39 -06:00
Brian
97c9b3ecc6 disable apparently unused code 2007-03-21 15:38:46 -06:00
Brian
e02b989ff9 indent 2007-03-21 14:45:34 -06:00
Brian
23d31efc16 merge from master 2007-03-21 11:57:30 -06:00
Brian
180cc2f845 disable assertion 2007-03-21 11:41:41 -06:00
Brian
88db19a484 document 1D convolution fix 2007-03-21 09:45:58 -06:00
Brian
249b451d20 1D convolution (and post-conv scale/bias) were inadvertantly applied to 2D image transfers. 2007-03-21 09:44:03 -06:00
Roland Scheidegger
c5fe807e42 fix copy and paste bug from last commit in fog generation code for GL_LINEAR fog 2007-03-21 13:19:02 +01:00
Nian Wu
8ba06464ac Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-21 17:00:32 +08:00
Ben Skeggs
4b5d6c0435 nouveau: update for drm interface changes (0.0.5) 2007-03-21 17:54:57 +11:00
Ben Skeggs
6cadebbb67 nouveau: SwapBuffers() needs to perform a glFlush() 2007-03-21 15:07:12 +11:00
Xiang, Haihao
704cd61120 mesa: revert f9f79c8d77
to fix #10232

Table6.1(in gl2.1) has been applied for glGetTexImage
before calling into _mesa_pack_rgba_span_float.
2007-03-21 10:50:19 +08:00
Nicolai Haehnle
4bafc547df r300: Remove the program-global const_sin index
The index is no longer necessary to share constants between multiple
SIN/COS/SCS instructions inside a single fragment program, and storing
a tiny implementation detail like this in the fragment_program structure
itself was just nasty.
2007-03-21 00:58:02 +01:00
Nicolai Haehnle
cbe38dc0ce r300: Whitespace cleanup (remove trailing spaces) 2007-03-20 18:40:09 +01:00
Xiang, Haihao
cf4272d256 fix for bug#10347
not sure which brw surface for DXT3 & DXT5, so restore
the previous choice.(changed in commit
84081774e6)
2007-03-20 22:12:03 +08:00
Alan Hourihane
bec665d5b5 use passed target parameter 2007-03-20 13:15:58 +00:00
Nian Wu
76444d042c Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-20 13:10:46 +08:00
Ben Skeggs
ecb1a1c82f nouveau: fix typo 2007-03-20 16:08:14 +11:00
Ben Skeggs
4185037af2 nouveau: fail translate if we use too many params somehow 2007-03-20 16:08:07 +11:00
Ben Skeggs
9622a634f6 nouveau: NVSDBG macro 2007-03-20 16:08:01 +11:00
Nicolai Haehnle
61821a41c0 r300: Cleanup fragment program constant allocation, share constants
The constant/parameter allocation was significantly simplified, removing
one unnecessary copy operation of parameters. The dirty state tracking is
unchanged and far from optimal, since all state is always re-fetched.

Constants and parameters are now emitted only once, which significantly
reduces the resource pressure on larger programs.
2007-03-19 23:59:59 +01:00
Nicolai Haehnle
5a65478783 r300: Fix special case (tmp.x <= 0) in fragment program LIT instruction
Also, fix a typo in a related comment.
2007-03-19 22:29:34 +01:00
Nicolai Haehnle
b3acba87d7 r300: Clear fragment program instruction slots on first use
Make sure that instruction slots are fully initialized with NOPs during
find_and_prepare_slot(). This fixes a bug when a fragment program was
translated more than once (e.g. due to a second call to glProgramStringARB).

This partially fixes glean/fragProg1.
2007-03-19 22:29:21 +01:00
Brian
fdcbbeb55e Properly compute render_inputs_bitset when using a vertex program/shader.
This fixes a performance regression introduced early in glsl-compiler-1 work.
2007-03-19 14:44:15 -06:00
Nicolai Haehnle
826815a5d2 r300: Dump fragment program after translation if RADEON_DEBUG=pixel is set 2007-03-19 20:02:19 +01:00
Nicolai Haehnle
7b992d024b r300: Whitespace cleanup (remove trailing spaces) 2007-03-19 19:49:06 +01:00
Nicolai Haehnle
c4bf863f4c r300: Fix WRITEMASK handling when writing to result.depth
This is a necessary change to emit the right instructions when writing
to result.depth.

However, even with this test, Z-write doesn't work properly, and I don't
fully understand why. In addition to this, we'll at least have to disable
early-Z, but even that doesn't seem to be enough.
2007-03-19 19:48:58 +01:00
Nicolai Haehnle
b645e8c96d r300: Streamlined fragment program LIT implementation
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5)
and change the implementation around. In theory, the new implementation
needs as little as 5 instruction slots. Unfortunately, the dependency
analysis in find_and_replace_slot is not strong enough to look at
individual components of a register yet.
2007-03-19 19:10:21 +01:00
Nicolai Haehnle
ff6ab9b45b r300: Fix fragment program reordering
Do not move an instruction that writes to a temp forward past an instruction
that reads the same temporary.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
ec1a77c864 r300: Fragment program dumps format tex instructions 2007-03-19 18:38:07 +01:00
Nicolai Haehnle
a8e65a010c r300: Fix hw fragment program dump
Dumps of fragment programs were incorrect when the program consisted of multiple
nodes.

Also, improved the formatting a bit.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
7b430acd71 r300: Fix fragment program instruction pairing and register allocation
There were a number of bugs related to the pairing of vector and scalar
operations where swizzles ended up using the wrong source register,
or an instruction was moved forward and ended up overwriting an aliased
register.

The new algorithm for register allocation is quite conservative and may
run out of registers before necessary. On the plus side, It Just Works.

Pairing is done whenever possible, and in more cases than before, so
in practice this change should be a net win.
2007-03-19 18:38:07 +01:00
Michel Dänzer
07db8c9115 i915tex: The intended triple buffering fix.
Making modifications while the editor spawned by git-commit was suspended
didn't have the intended effect.
2007-03-19 18:34:27 +01:00
Michel Dänzer
9b42100c04 i915tex: Fix triple buffering after recent Mesa core changes.
Remove superfluous _mesa_resize_framebuffer call which is now harmful because
it causes the third renderbuffer to have width/height 0, so Mesa refuses to
render to it.

In the long term, it would be nice to remove the hack in
intel_alloc_window_storage in favour of a proper Mesa interface for flipping
between more than two colour buffers.
2007-03-19 17:23:44 +01:00
Nian Wu
e01ee3da57 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-19 17:00:19 +08:00
Keith Whitwell
77544d7b7d fix off-by-one in load_state_immediate 2007-03-18 20:13:45 +00:00
Keith Whitwell
c9e39aeaef fix typo in subrect_disable packet 2007-03-18 20:13:45 +00:00
Keith Whitwell
07265280a9 fix typo in subrect_disable packet 2007-03-18 20:13:45 +00:00
Miguel Marte
c41d6ab6f0 screen offset changes, bug 9965 2007-03-18 11:08:29 -06:00
Nicolai Haehnle
441f038748 fix assertion in read_depth_pixels() 2007-03-18 11:02:35 -06:00
Oliver McFadden
dd868b4100 r300: Removed the deprecated $XFree86$ CVS keywords. 2007-03-18 16:57:45 +00:00
Oliver McFadden
1062106521 r300: Corrected the string for polygon mode; it wasn't updated from unkXXX. 2007-03-18 16:45:32 +00:00
Ben Skeggs
bcf4f4de76 nouveau: avoid using uninitialised TexSrcUnit. 2007-03-19 00:13:41 +11:00
Xiang, Haihao
bb02092d74 mesa: SWAP_BUFF support when calling DrawPixels(DEPTH_COMPONENT)
or TexImage(DEPTH_COMPONENT)
2007-03-18 18:44:51 +08:00
Xiang, Haihao
b6fe1bdd4d mesa: enhance fxt1_quantize_ALPHA1
If possible, let minCol != maxCol
2007-03-18 18:34:21 +08:00
Xiang, Haihao
84081774e6 i965: fix for FXT1 & S3TC texture format
choose the right mesa texformat for FXT1 & S3TC
2007-03-18 18:26:16 +08:00
Nian Wu
fd1b1fce3f Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-18 17:00:18 +08:00
Oliver McFadden
cfe984dbd0 Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code. 2007-03-18 07:35:45 +00:00
Haihao Xiang
ee5b7f0574 fix some format conversion bugs in glGetTexImage(), bug 10288 2007-03-17 09:42:36 -06:00
Nian Wu
38889f5221 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-17 17:00:25 +08:00
Dave Airlie
6a9b0cd0b4 r300: change vendor string to DRI R300 Project 2007-03-17 16:46:24 +11:00
Brian
e5070bc3ca Assorted fixes for dealing with zero-size frame/renderbuffers.
In xmesa_check_and_update_buffer_size() handle xmctx==NULL correctly: still
call _mesa_resize_framebufer().  If we don't we can wind up in a situation
where the framebuffer size is non-zero but an attached renderbuffer size
is still initialized to zero.  This inconsistancy can later cause problems.
Check for zero-size renderbuffers in update_color_draw_buffers() and
update_color_read_buffer().
See bug 7205.
2007-03-16 11:00:07 -06:00
Brian
7573b58db6 Colortable re-org.
The pixel transfer path has three color table lookups.
Use an array [3] to store that info, rather than separate variables.
2007-03-16 09:36:12 -06:00
Brian
d7049431a0 added a renderbuffer comment 2007-03-16 08:36:22 -06:00
Mathias Hopf
f04979ae48 added null xmctx check to XMesaResizeBuffers(), bug 7205 2007-03-16 08:28:34 -06:00
Nian Wu
a02870f4f6 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-16 17:00:24 +08:00
Brian
e348016253 silently ignore DeleteProgram/Shader(id=0) 2007-03-15 16:07:39 -06:00
Brian
7ed292a4e9 in _mesa_GetColorTable, return silently if table size is 0 2007-03-15 16:06:58 -06:00
Oliver McFadden
95764262a7 Fixed a minor typo in the comment near _mesa_copy_instructions. 2007-03-15 21:57:31 +00:00
Oliver McFadden
0c25d9ab19 r300: Added _mesa_copy_instructions. 2007-03-15 20:55:30 +00:00
Oliver McFadden
1195caa274 r300: Renamed r300_vertexprog.c to r300_vertprog.c 2007-03-15 20:39:07 +00:00
Oliver McFadden
0e9ada1087 r300: Use _mesa_alloc_instructions/_mesa_init_instructions instead of malloc.
Note that insert_wpos in r300_vertexprog.c is still a little flaky and could be
improved.
2007-03-15 19:49:10 +00:00
Oliver McFadden
0d6d80ef3d r300: Updated R300 to use the new SWIZZLE macros. 2007-03-15 19:09:10 +00:00
Oliver McFadden
51693b22cd r300: Fixed an unused variable warning and removed some cruft, too. 2007-03-15 18:44:29 +00:00
Oliver McFadden
b3a9a90cdf r300: Fixed a printf conversion warning. 2007-03-15 18:30:33 +00:00
Oliver McFadden
7f08dd3fc6 r300: Fixed "no previous prototype for 'r300RefillCurrentDmaRegion'" warning. 2007-03-15 18:30:33 +00:00
Brian
fc6b8f2d30 added SWIZZLE_XXXX, YYYY, etc. macros 2007-03-15 11:51:54 -06:00
Oliver McFadden
4e4ab2a62b Committed Rune Petersen's fragment.position patch (Bug #10024) plus a few small
corrections.
2007-03-15 17:35:34 +00:00
Brian
4d2eb637a2 no-op clear if buffer width or height is zero (bug 7205) 2007-03-15 11:16:41 -06:00
Brian
038e981cac add some rb->Data null ptr checks (bug 7205) 2007-03-15 11:11:41 -06:00
Brian
90563d39cb Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-15 09:03:03 -06:00
Brian
0cfdf432e4 implement byteswapping for all multi-byte types in _mesa_pack_rgba_span_float(), bug 10298 2007-03-15 09:02:14 -06:00
Keith Whitwell
4a7fe4fcfa Fix off by one error in immediate state packet size. 2007-03-15 10:29:38 +00:00
Nian Wu
d63eef4b86 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-15 17:00:22 +08:00
Brian
32d196820f pixelmap code simplification 2007-03-14 14:56:39 -06:00
Brian
b6adf336f4 Re-org of gl_pixel_attrib struct.
Reorder fields according to the order in which the pixel transfer operations
take place.  Improve comments.
Move the pixel maps out of gl_pixel_attrib since they're not supposed to be
pushed/popped by glPush/PopAttrib.
New gl_pixelmap and gl_pixelmaps structs to contain the pixelmaps.
2007-03-14 14:33:46 -06:00
Brian
62b4601e53 s/Tranpose/Transpose/ 2007-03-14 13:34:30 -06:00
Brian
3049946fa7 clear the b->frontxrb->drawable field in xmesa_free_buffer(), see bug 7205 2007-03-14 12:52:53 -06:00
Brian
46fe008778 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-14 12:43:26 -06:00
Brian
47e0b606a8 move CLIENT_ID code in xmesa_delete_framebuffer(), see bug 7205 2007-03-14 12:42:30 -06:00
Brian
565d097d8f continue prev check-in: save ptr to slang_function for SLANG_OPER_CALL 2007-03-14 11:07:32 -06:00
Brian
2dc3e94470 After we've found the slang_function ptr for a SLANG_OPER_CALL node, save the ptr in the node for reuse.
This can save a tremendous amount of time when resolving types in complex
expressions.  One particular shader was taking several minutes to compile
but now compiles almost instantaneoulsy.
2007-03-14 10:49:35 -06:00
Brian
b1a955b518 make _slang_typeof_function() static 2007-03-14 10:16:18 -06:00
Brian
b01f146fd0 remove old assertion 2007-03-14 08:56:01 -06:00
Nian Wu
805b1cf482 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-14 17:00:15 +08:00
Brian
52363954bf more bug fixing, error checking 2007-03-13 16:50:24 -06:00
Brian
98650bdf89 fix a number of issues in _mesa_uniform() 2007-03-13 16:32:48 -06:00
Brian
5186529e57 remove bogus assertion 2007-03-13 16:31:30 -06:00
Brian
fdf513e07a document some bug fixes, lots of new features 2007-03-13 16:12:23 -06:00
Brian
8d9db3dd03 fix ctx->Pixel.PostConvolutionScale/Bias subscript bugs 2007-03-13 16:07:04 -06:00
Brian
fd08463dea Check for, simplify vec2/3/4(x). Only do call adapting for constructors. 2007-03-13 15:58:40 -06:00
Brian
c7b2cce418 improve literal printing 2007-03-13 15:57:09 -06:00
Brian
000b2899b9 disable some debug output 2007-03-13 15:55:54 -06:00
Brian
a49a865cf5 better error msg for undefined function, disable some debug output 2007-03-13 15:55:41 -06:00
Brian
948c60badc get rid of float_multiply, float_add, float_divide 2007-03-13 15:00:14 -06:00
Roland Scheidegger
a6cc9ab493 sync up t_vp_build.c brw_vs_tnl.c a bit
Bring over the optimizations for fog and normalized spot dir
from t_vp_build.c to brw_vs_tnl.c. Likewise, port a fix for point size
calc from brw_vs_tnl.c to t_vp_build.c (use ABS(eyez) instead of -eyez). Leave
the now differing point size calcs alone though, not sure what's better (it's
basically MOV, ABS, MUL, DP3 vs. ABS, MAD, MAD).
2007-03-13 19:04:28 +01:00
Brian
d8070889d7 alloc an extra byte in _mesa_ShaderSourceARB() to silence a valgrind warning 2007-03-13 11:00:21 -06:00
Brian
c000843a14 be smarter about which fragment attribs are interpolated before running frag progs 2007-03-13 10:58:48 -06:00
Brian
da55430952 comment about SPAN_* vs FRAG_BIT_* values 2007-03-13 10:58:23 -06:00
Brian
17ad1d12eb Check if FRAG_RESULT_COLR is written and update span->interpMask, arrayMask.
Also, fix an assertion.
2007-03-13 10:53:16 -06:00
Brian
8b9842a256 Shuffle some code around in the emit_tex() and emit_move() instructions.
Note that the inst ptr returned by new_instruction() may become invalid
after calling emit_() since the emit functions may allocate new instructions
which is done vial realloc().
Also, add some new assertions to try to catch this kind of bug.
2007-03-13 10:49:08 -06:00
Roland Scheidegger
37e6f760fd enable ARB_vertex_buffer_object for more dri drivers
ARB_vertex_buffer_object looks like a useful extension even for old chips.
The drivers should not need any code to be able to use this extension since
they just use mesa's vbo code anyway.
Newly enabled for i810, mach64, mga, r128, radeon, savage, sis and unichrome.
2007-03-13 17:44:22 +01:00
Brian
7265e6928e properly compute ctx->Texture._EnabledCoordUnits 2007-03-13 10:28:26 -06:00
Oliver McFadden
4c18d9056b r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
enough information is known about them to be sure as to what the values mean.
2007-03-13 14:48:29 +00:00
Roland Scheidegger
14f0b7ea98 use movdqu instead of movdqa for unaligned load avoiding a segfault (bug 10265) 2007-03-13 13:44:23 +01:00
Nian Wu
4110fac389 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-13 17:00:18 +08:00
Oliver McFadden
eb4db4c4ec Add defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
Note that just like the values written to R300_RB3D_DSTCACHE_CTLSTAT these
values are really unknown; ideally more reverse engineering should be done to
determine what these values mean and when they should be set.
2007-03-13 06:24:56 +00:00
Oliver McFadden
19fbe9732c Documented the value written for R300_TX_CNTL cache flush. 2007-03-13 06:10:23 +00:00
Xiang, Haihao
53f83b435c mesa: _mesa_unpack_image
1. take packed pixel data as a component
2. fix for GL_BITMAP when compiling glTexImage, etc into
a display list:  a. flip byte if lsbFirst is true since
DefaultPacking->lsbFirst is false. b. handle SkipPixels
2007-03-13 13:39:34 +08:00
Oliver McFadden
cd66604756 Corrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
R300_RB3D_DSTCACHE_02 or R300_RB3D_DSTCACHE_0A, rather than hexadecimal values.
2007-03-13 01:31:38 +00:00
Oliver McFadden
0c750ca98d Guess another unknown register used for R300 pacification. 2007-03-13 00:48:17 +00:00
Brian
b3a22d0ed6 Implement GL_ARB_texture_rectangle support
This includes the sampler2DRect and sampler2DRectShadow types and
the texture2DRect(), texture2DRectProj(), etc. built-in functions.
2007-03-12 17:29:50 -06:00
Michel Dänzer
708d836e6b i915tex: Don't crash when intel_fb->color_rb[i] is NULL.
This can be the case on some systems when running glxinfo.
2007-03-12 19:08:28 +01:00
Brian
8946d7f029 Add array bounds checking, fix memleaks, add null ptr checks. 2007-03-12 10:52:52 -06:00
Brian
d2a6f43eaf extra stuff for drawbuffers test 2007-03-12 10:30:36 -06:00
Brian
17fb7821d7 clean-up, simplify _mesa_image_row_stride() 2007-03-12 09:50:27 -06:00
Brian
c1a5447337 take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for GL_BITMAP type (bug 10261) 2007-03-12 09:50:27 -06:00
Alan Swanson
d0a3400f66 r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300. 2007-03-12 10:03:01 +01:00
Alan Swanson
33ea9dccaf r200: Adapt cliprect fixes from r300. 2007-03-12 09:59:45 +01:00
Alan Swanson
88501887e4 radeon: Adapt cliprect fixes from r300. 2007-03-12 09:59:28 +01:00
Nian Wu
5a5b55943d Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-12 09:03:27 +08:00
Brian
3f7ef618b6 added drawbuffers.c 2007-03-11 17:30:13 -06:00
Brian
15aa7aaa93 add NULL ptr check 2007-03-11 17:29:54 -06:00
Brian
ccb80d7ec4 Test the GL_ARB_draw_buffers extension.
Also requires GL_EXT_framebuffer_object and OpenGL 2.0 (for GLSL).
2007-03-11 17:03:29 -06:00
Brian
1c09bcfdda Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.
GL_MAX_DRAW_BUFFERS is currently 4.
Added gl_FragData[] output for fragment programs.
In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
2007-03-11 17:00:39 -06:00
Xiang, Haihao
61ec23cc63 fix for bug#10196
Compute half if LOCAL_VIEWER is enabled and the light is
a directional source.
2007-03-11 22:41:26 +08:00
Aapo Tahkola
69e57cf6ae Guess another unknown register in R300 command buffer initialization. (Oliver McFadden) 2007-03-11 11:47:03 +02:00
Oliver McFadden
e64166703a Renamed some of the unkXXX variables in the command buffer init
ialization code.

Note that there are still plenty of actual unknown variables left that should
probably be deciphered.

There are a number of things incomplete in the driver; the different polygon
offset modes (line, point, etc), the other texture filter, texture chroma key,
etc. These should probably be fixed in the future, or at least added to the TODO
list.
2007-03-11 12:18:27 +11:00
Brian
d23dd812ad Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1 2007-03-10 14:07:28 -07:00
Brian
7d39c1ae76 Fix TEXREL issues.
Patch submitted by Christoph Brill.
See http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml
2007-03-10 11:50:50 -07:00
Brian
823c041fde check for EXT_blend_equation_separate for 2.0 2007-03-10 11:48:59 -07:00
Brian
10b5895597 Implement gl_FrontFacing for fragment shaders.
For the time being, we put the gl_FrontFacing value in the FOGC.Y input
register.  Combining FOGC and FrontFacing in one register is a bit of a
hack and may need to be changed someday.
2007-03-10 11:30:19 -07:00
Brian
1fcb4ecc07 clean-up formatting 2007-03-10 10:56:06 -07:00
Brian
c9872b80c8 add NULL ptr check in emit_cond() 2007-03-10 10:37:18 -07:00
Michel Dänzer
38f7f81518 i915tex: Fix build against libdrm git... 2007-03-10 17:12:58 +01:00
Michel Dänzer
beffb4e88c i915tex: Fix intel_wait_flips being declared implicitly. 2007-03-10 16:40:22 +01:00
Michel Dänzer
97775f9904 i915tex: Fix build against released version of libdrm. 2007-03-10 16:08:11 +01:00
Stephane Marchesin
ced8870a6a nouveau: fix nv04 swtcl. 2007-03-10 13:46:26 +01:00
Stephane Marchesin
4f12b37a56 nouveau: fix the nv04 swtcl code. 2007-03-10 01:30:34 +01:00
Stephane Marchesin
581a594033 nouveau: oops don't debug by default. 2007-03-10 01:30:34 +01:00
Stephane Marchesin
df1c3ff3dd nouveau: some fixes to the nv04 state code. 2007-03-10 01:30:33 +01:00
Stephane Marchesin
e61f674844 nouveau: add a fifo size debug check. 2007-03-10 01:30:33 +01:00
Brian
46bd63819e use gl_ModelViewProjectionMatrixTranspose in ftransform() 2007-03-09 17:02:12 -07:00
Brian
ff95925e70 add NULL ptr check 2007-03-09 16:53:44 -07:00
Michel Dänzer
30b914e2ca Merge branch 'i915tex-pageflip' 2007-03-10 00:19:17 +01:00
Brian
b9ea936150 added GL_CURRENT_PROGRAM 2007-03-09 15:41:25 -07:00
Michel Dänzer
6e0878becf i915tex: Wait for pending scheduled flips before switching vsync pipe.
This avoids hangs when the vblank sequence numbers are not in sync between
pipes, in particular when they run at different refresh rates.
2007-03-09 20:00:13 +01:00
Michel Dänzer
bb0760ca4f i915tex: Set intel_fb->vbl_waited to current instead of what we aimed for. 2007-03-09 19:56:55 +01:00
Brian
2cf5fd48d1 Merge branch 'origin' into glsl-compiler-1
Conflicts:

	src/mesa/main/context.c
2007-03-09 11:43:53 -07:00
Brian
9f44247acf fix _mesa_uniform_matrix() transpose bug 2007-03-09 11:34:18 -07:00
Michel Dänzer
36b4e25da3 i915tex: Sync pages between pipes immediately again.
This should be safe now that we no longer use the MI_WAIT_FOR_EVENT instruction
incorrectly and should also work correctly with applications that render to the
front buffer.
2007-03-09 17:52:29 +01:00
Brian
b03e1712b2 gl_ClipVertex not supported yet 2007-03-09 09:51:55 -07:00
Michel Dänzer
81536789d2 i915tex: Do not wait for pending flips on both pipes at the same time.
The MI_WAIT_FOR_EVENT instruction does not support waiting for several events
at once, so this should fix the lockups with page flipping when both pipes are
enabled.
2007-03-09 17:42:55 +01:00
Brian
f9f79c8d77 New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to fix glGetTexImage(GL_LUMINANCE) bug #10232. 2007-03-09 09:13:49 -07:00
Michel Dänzer
4d9901a1ca r300: Also update window state when it's already bound but its stamp changed.
And set new cliprects before deriving other state from them. This ensures
cliprects aren't accessed after having been freed.

Thanks to Panagiotis Papadakos for testing various iterations of this.
2007-03-09 09:43:17 +01:00
Brian
a706b0b8bd added missing bvec2/3/4 constructors 2007-03-08 16:08:55 -07:00
Brian
05b74e4ae4 fix broken vec4_seq, vec4_sne instructions 2007-03-08 15:59:20 -07:00
Brian
2f35a17f38 Update lessThan(), lessThanEqual() functions, improve some matrix constructors. 2007-03-08 15:53:05 -07:00
Brian
5761a93bba Added IR_SLE and IR_SLT for <= and < operations.
Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm
calls don't do argument matching by name, but by position.
This fixes the broken lessThan() and lessThanEqual() functions.
2007-03-08 15:52:22 -07:00
Brian
3e0fbc7efc fix tmp storage problem for IR_I_TO_F 2007-03-08 15:45:25 -07:00
Brian
19a9050548 fix assertion 2007-03-08 15:19:34 -07:00
Brian
ee931f8d4d ; and {} statements were broken 2007-03-08 14:48:34 -07:00
Brian
ec89aba7c6 remove unused new_cjump() 2007-03-08 11:29:22 -07:00
Brian
cce4e50569 IR_CJUMP0/1 no longer used/needed 2007-03-08 11:16:13 -07:00
Brian
63772e2a2c rewrite _slang_gen_select() to use IF node 2007-03-08 11:07:52 -07:00
Brian
b3dd49429b s/_slang_gen_hl_if/_slang_gen_if/ 2007-03-08 10:53:50 -07:00
Brian
609306de17 s/_slang_gen_hl_if/_slang_gen_if/ 2007-03-08 10:43:57 -07:00
Brian
c9f486c38f remove old assertion 2007-03-08 10:40:37 -07:00
Brian
bf86ddaa20 check for attempted writes to read-only vars 2007-03-08 10:40:25 -07:00
Brian
de8172673e Rework matrix-related code.
GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program
use row-major.  So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices.
Unfortunately, this means that the expression M * V isn't very efficient since we
need to extract the rows out of M.  And that's the typical expression for vertex
transformation:  gl_ModelViewProjectionMatrix * gl_Position.
Solve this inefficiency by looking for M*V expressions and replacing them
with V*Transpose(M).
Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose
matrices.
2007-03-08 09:38:35 -07:00
Xiang, Haihao
d85667950f remove a if-statement
glMaterial changes the current specular exponent or glLight changes
    the intensity distribution of the light, but _mesa_update_state doesn't
    update the corresponding light table. So they must be updated at this time.
2007-03-08 22:54:14 +08:00
Brian
6ff0a04f7c fix ProjectionMatrix typo 2007-03-08 07:53:30 -07:00
Brian
7e66cad998 fix gl_TextureMatrix indexing 2007-03-08 07:51:39 -07:00
J.Jansen
79d59d0173 Updates of the OpenVMS makefiles.
-include missing definitions
	 -add files to compile
	 -remove files from compile list which are removed from the repositry
	 -add support for vbo

	new file:   src/mesa/vbo/descrip.mms
	modified:   src/mesa/descrip.mms
	modified:   src/mesa/drivers/osmesa/descrip.mms
	modified:   src/mesa/drivers/x11/descrip.mms
	modified:   src/mesa/swrast_setup/descrip.mms
	modified:   src/mesa/tnl/descrip.mms
2007-03-08 09:53:28 +01:00
Brian
9637c963f5 more DEBUG_PROG 2007-03-07 17:40:57 -07:00
Brian
fb3f0beb42 update comments 2007-03-07 17:37:24 -07:00
Brian
0aec2bb8f2 remove unneeded return stmt 2007-03-07 16:13:33 -07:00
Brian
da899d190e add missing gl_Point state, fix IR storage bug 2007-03-07 16:13:22 -07:00
Nian Wu
1e055089a3 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-07 16:01:36 -05:00
Brian
29bc4b8974 s/diffuset/diffuse/ 2007-03-07 13:35:49 -07:00
Brian
c3412e9a08 regenerated 2007-03-07 13:07:40 -07:00
Brian
842c782cee use 2.0, 2.1 version strings 2007-03-07 13:07:07 -07:00
Brian
faeea574af remove end_label field 2007-03-07 13:00:06 -07:00
Brian
35d25c0ce4 Fix problem with nested function calls such as y = f(f(x))
Replace CurFunction with curFuncEndLabel.
2007-03-07 12:59:01 -07:00
Brian
5b5a80d011 s/equal/EQUAL/, fix bugs in logical or/and code. 2007-03-07 11:26:47 -07:00
Brian
ab673c8527 fix broken __postDecr() 2007-03-07 11:25:37 -07:00
Brian
1dca089149 fix deferredTexture bug 2007-03-07 10:42:44 -07:00
Michel Dänzer
fb3410297b i915tex: Set framebuffer size to match window before calling _mesa_make_current.
Fixes issues with apps that don't call glViewport by default.
2007-03-07 18:01:39 +01:00
Brian
3efd0c7b8d fix swizzled writemask bug 2007-03-07 09:59:26 -07:00
Brian
f3da222839 remove bogus assertion 2007-03-07 09:58:45 -07:00
Michel Dänzer
9adf6e9d6c i945_miptree_layout: Adapt cubemap fixes from i915_miptree_layout.
Cubemaps aren't working fully correctly yet, but at least they don't seem to
cause crashes anymore.
2007-03-07 17:52:44 +01:00
Brian
d25046b648 fix incorrect HPOS write test 2007-03-07 08:56:09 -07:00
Brian
e61ec95deb additional error detection 2007-03-07 08:55:42 -07:00
Brian
cec81eef31 check for null program ptrs in _mesa_uniform() 2007-03-07 08:04:06 -07:00
Brian
55821d021d Generate an error if the vertex shader does not write to gl_Position. 2007-03-07 07:52:24 -07:00
Brian
2282d81536 destroy window during cleanup 2007-03-06 16:33:00 -07:00
Brian
6cb0aa12b8 more integer arithmetic updates 2007-03-06 16:32:03 -07:00
Brian
0af1c6b5d1 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-06 16:27:23 -07:00
Brian
e69da9d02e explicit calls to _mesa_unreference_framebuffer() not always needed now 2007-03-06 16:26:22 -07:00
Brian
1a6baf092b unreference old framebuffer, if needed, in _mesa_reference_framebuffer() 2007-03-06 16:26:02 -07:00
Brian
955906aa64 fix renderbuffer mem leak 2007-03-06 16:25:07 -07:00
Brian
37fd6be411 formatting fix 2007-03-06 16:24:48 -07:00
Brian
e10a1457e8 fix some int arithmetic problems 2007-03-06 14:07:48 -07:00
Nian Wu
87c9ad6fd5 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-06 16:01:23 -05:00
Ian Romanick
fa8961069c Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa 2007-03-06 11:50:33 -08:00
Ian Romanick
091be11190 Fix cut-and-paste error in the name of GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB. 2007-03-06 11:50:21 -08:00
Brian
28ab1125c2 more DEBUG_PROG code 2007-03-06 12:15:30 -07:00
Brian
c6d930a114 fix vert/frag typo 2007-03-06 11:53:27 -07:00
Brian
a510bc3ee1 Fix/improve framebuffer object reference counting.
Use _mesa_reference_framebuffer() and _mesa_unreference_framebuffer() functions
to be sure reference counting is done correctly.  Additional assertions are
done too.  Note _mesa_dereference_framebuffer() renamed to "unreference" as
that's more accurate.
2007-03-06 10:07:59 -07:00
Brian
593802c0b0 Take care of texObj reference in _mesa_free_framebuffer_data() 2007-03-06 09:49:15 -07:00
Brian
330d7e2080 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-06 09:03:18 -07:00
Nian Wu
c05b6f800a Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-06 07:43:03 -05:00
Michel Dänzer
6f9b1afc86 r300: Call radeonSetCliprects from radeonMakeCurrent.
Based on a patch by Panagiotis Papadakos.

Among other things, this makes sure the framebuffer object associated with the
drawable has the correct size when _mesa_make_current is called, so the default
viewport is set up correctly.

Also update radeon->lastStamp in radeonSetCliprects.
2007-03-06 13:22:35 +01:00
Xiang, Haihao
1c70cde888 fix for bug#10182
call _mesa_dereference_framebuffer instead of _mesa_dereference_framebuffer
in i810, i915, i915tex, i965 drivers.
2007-03-06 15:47:37 +08:00
Xiang, Haihao
a783713432 fix for bug#9971
call swsetup_Wakeup before falling back to software rendering
2007-03-05 22:18:21 +08:00
Nian Wu
540e1c70cc Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-05 09:01:31 -05:00
Keith Whitwell
7ecdfb2f08 Propogate UsesKill information. 2007-03-04 21:50:51 +00:00
Nian Wu
180c0d70c4 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-02 09:01:27 -05:00
Christoph Bill
9557706404 r300: Use register name & add a register about shading. 2007-03-01 21:11:45 +01:00
Christoph Bill
0d2a68fc61 r300: Use reg definition when available & add missing reg definition. 2007-03-01 20:45:04 +01:00
Christoph Bill
ad3f2107ed Add early register descritpion.
This need more work on case where we can disable
or enable early  (stencil, alpha might need it to
be disable).
2007-03-01 20:40:25 +01:00
Rune Petersen
5cb01764f6 Optimize cos&sin instruction a bit more. 2007-03-01 20:36:19 +01:00
Brian
a8ba888a35 move oldFb decl into tighter scopes 2007-03-01 09:40:21 -07:00
Brian
9fbb2e9e76 fix bad n_dot_h normalization code (bug 9977), plus clean-up the code in general 2007-03-01 09:17:01 -07:00
Brian
d592eaeb83 fix clipping, display name, warnings 2007-03-01 07:56:11 -07:00
Brian
887d3c67cb s/unsigned int/size_t/ (bug 10135) 2007-03-01 07:42:42 -07:00
Brian
03b9e16507 include assert.h 2007-03-01 07:39:27 -07:00
Nian Wu
6a47e35065 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-01 09:01:58 -05:00
Brian
38a88db1fc Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-28 11:58:30 -07:00
Brian
9f37be694e s/ARB/MESA/ in extension check (bug 10126) 2007-02-28 11:58:06 -07:00
Michel Dänzer
0609b6afa8 i915tex: Sync pages differently when crossing pipe borders.
Don't flip (up to twice) immediately but just arrange things such that the
pages will be in sync on both pipes on the next flip.
2007-02-28 17:46:07 +01:00
Michel Dänzer
3c578455e1 i915tex: Check that intel_rb is valid before trying to add it to an fbo. 2007-02-28 17:42:54 +01:00
Michel Dänzer
edf676cc5a i915tex: Also update intel_rb->vbl_pending when scheduled swap is not a flip. 2007-02-28 16:05:49 +01:00
Ben Skeggs
afa780c09d nouveau: drm interface changes 2007-02-28 15:31:28 +11:00
Brian
07e62084bb info about how the compiler works 2007-02-27 16:45:40 -07:00
Nian Wu
381b4b0c91 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-02-27 14:42:16 -05:00
Brian
59e56ee3e5 fix comment 2007-02-27 11:09:48 -07:00
Brian
f30e312763 assert that fb->RefCount==0 in _mesa_free_framebuffer_data() 2007-02-27 11:09:28 -07:00
Brian
0e1bd23025 s/matrix_stack/gl_matrix_stack/ and s/mesa_list_state/gl_dlist_state/ 2007-02-27 09:54:50 -07:00
Brian
2cf8d24131 remove unused DriverMgrCtx 2007-02-26 18:35:34 -07:00
Brian
fa4d036424 Add EmitHighLevelInstructions, EmitComments booleans to gl_shader_state.
These control code generation options.  May be overridden by drivers, debuggers, etc.
2007-02-26 18:33:50 -07:00
Brian
4f26a52908 re-enable var scope destruct in slang_operation_destruct() 2007-02-26 18:08:09 -07:00
Brian
553fe132d4 Fix a few bugs in slang_operation variable scoping. Seems to fix a double-free. 2007-02-26 18:07:26 -07:00
Brian
aa6f4241f8 formatting fixes 2007-02-26 17:32:45 -07:00
Brian
e21096b07c fix mem leak 2007-02-26 17:05:52 -07:00
Brian
b58ea057fe fix mem leak in _mesa_ShaderSourceARB() 2007-02-26 17:00:06 -07:00
Brian
4b8d75e2e6 fix logic for reporting errors 2007-02-26 16:32:00 -07:00
Brian
f446e58e45 disable execute bit 2007-02-26 15:13:34 -07:00
Brian
6817407d49 fix error flagging 2007-02-26 15:06:56 -07:00
Brian
365f8fb0dd re-enable some code 2007-02-26 15:02:36 -07:00
Brian
ed0ae62ad7 Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1 2007-02-26 14:34:57 -07:00
Brian
ca279b80e6 Remove old error logging code. New slang_log.[ch] files. 2007-02-26 14:33:52 -07:00
Brian
c4ac5ac9d7 Overhaul of error handling. 2007-02-26 14:32:53 -07:00
Brian
7f01ef171f Overhaul of error logging. 2007-02-26 14:32:29 -07:00
Brian
e63c7e0893 Use new slang_emit_info struct for passing context info around. 2007-02-26 14:22:05 -07:00
Brian
25ea5ea27e Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1 2007-02-26 13:11:20 -07:00
Brian
928a70e435 Rewrite code related to buffer destruction.
Do proper reference counting so that we don't wind up with dangling
references to deleted windows/framebuffers.  Should help with bug 7205.
2007-02-26 11:39:17 -07:00
Brian
f30e8a4bdf if renderbuffer ptr is null, just return 2007-02-26 11:37:52 -07:00
Brian
e6a9381f78 Do proper framebuffer refcounting in _mesa_make_current().
Also, added DeletePending field to gl_framebuffer used when a window has been
deleted, but there still may be rendering contexts attached to the
gl_framebuffer object.
2007-02-26 11:37:37 -07:00
Brian
344c3f7379 updated version with new Khronos license/copyright 2007-02-26 09:19:32 -07:00
Panagiotis Papadakos
1a72c8ed3f s/pdp/prp/ in DoBindContext() 2007-02-26 07:59:14 -07:00
Panagiotis Papadakos
3528d61820 add missing param to _mesa_warning() 2007-02-26 07:57:31 -07:00
Brian
46d4880201 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-26 07:56:43 -07:00
Brian
4e53ce81cf remove unneeded includes 2007-02-25 20:05:22 -07:00
Brian
3c1c999226 update comments 2007-02-25 19:11:44 -07:00
Brian
313d50e903 fix bounds checking in get_register_pointer() 2007-02-25 19:01:16 -07:00
Brian
b85d4d61a7 define and use MAX_PROGRAM_ADDRESS_REGS 2007-02-25 18:56:57 -07:00
Brian
33eac56e4a Add EnvParams field to gl_program_machine, avoid passing ctx to a bunch of functions. 2007-02-25 18:52:41 -07:00
Brian
6774f32adb simplify _mesa_get_program_register() 2007-02-25 18:39:46 -07:00
Brian
21bcb2e1f6 s/GetFragmentProgramRegister/GetProgramRegister/ 2007-02-25 18:35:47 -07:00
Brian
cfd0011f2f minor clean-ups in _mesa_execute_program() 2007-02-25 18:30:45 -07:00
Brian
8b34b7da41 remove 'maxInst' parameter from _mesa_execute_program() 2007-02-25 18:26:50 -07:00
Brian
085d7d59f0 remove unused 'element' parameter from _mesa_execute_program() 2007-02-25 18:23:37 -07:00
Brian
12fd8faa5d s/attribs/results/ 2007-02-25 18:08:16 -07:00
Brian
29796b62bd remove unused VaryingPtr 2007-02-25 17:33:46 -07:00
Brian
e71a33bbf8 Optimize the loop for copying output results. 2007-02-25 17:29:00 -07:00
Brian
f68067e101 add texture rotation 2007-02-25 17:24:40 -07:00
Aapo Tahkola
c080123998 Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis) 2007-02-26 01:51:39 +02:00
Brian
9854a17f29 only copy used outputs 2007-02-25 12:47:25 -07:00
Brian
21625d729c output texcoord in vertex program 2007-02-25 12:46:56 -07:00
Nian Wu
675f7f627b Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-02-25 09:40:28 -08:00
Brian
9d8df47996 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-24 18:29:57 -07:00
Brian
32fbbf38b4 Revert "option to test mipmapping"
This reverts commit a127537efb.
Meant to do this on the trunk.
2007-02-24 18:27:46 -07:00
Brian
a127537efb option to test mipmapping 2007-02-24 18:20:35 -07:00
Brian
d9fb113e05 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-24 18:15:45 -07:00
Brian
53170942e3 Fix broken cubemap mipmap layout (the cubemap.c demo was segfaulting).
In i915_miptree_layout() change the width, height parameters that are passed
to intel_miptree_set_level_info().  As it was, the width, height values were
larger than the source image dimensions and we segfaulted in memcpy() when
copying the original texture data into the texture buffer region.
This fix should probably be checked by someone more familiar with the code (Keith?)
2007-02-24 18:14:53 -07:00
Brian
aeaad937b9 clean-up, comment code 2007-02-24 18:11:09 -07:00
Brian
5cd30a2b20 make src ptr const 2007-02-24 18:10:41 -07:00
Brian
fbc4929185 add missing code for newer STATE_INTERNAL items 2007-02-24 17:00:50 -07:00
Brian
efcfdbd4d1 Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing. 2007-02-24 15:51:41 -07:00
Brian
292a80466d Outputs[] array wasn't large enough, define MAX_PROGRAM_OUTPUTS, new assertions. 2007-02-24 15:49:54 -07:00
Brian
5e80c62f31 Remove unneeded _Fragment/VertexShaderPresent fields, update comments. 2007-02-24 15:39:37 -07:00
Brian
197af3dc32 Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated to
handle branch instructions, etc.
2007-02-24 11:16:58 -07:00
Brian
824dcd4399 remove comment 2007-02-24 11:15:27 -07:00
Brian
761728afe8 Fix assertion in get_register_pointer(), fix EXP case.
Note that GL_ARB_v_p and GL_NV_v_p define the z component of the EXP instruction
differently.  We follow the ARB extension.
2007-02-24 11:14:57 -07:00
Brian
f183a2d7ea added ARL, EXP, LOG, relative indexing 2007-02-23 17:14:30 -07:00
Brian
a2786a97d7 add some missing cases in _mesa_program_state_string() 2007-02-23 17:13:30 -07:00
Brian
f1390a3424 fix fog breakage 2007-02-23 17:11:01 -07:00
Brian
e80d901d98 reindent 2007-02-23 16:53:24 -07:00
Brian
6df328e84d don't pass program ptr to fetch_vector[14]() 2007-02-23 16:48:07 -07:00
Ian Romanick
3f8c5969ff Fix GLAPIENTRYP for OS X.
Fix build problems related to incorrect define of GLAPIENTRYP on OS X.
Reported by bushing on IRC.
2007-02-23 15:15:50 -08:00
Brian
064ae479a7 Update DRI drivers for new glsl compiler.
Mostly:
- update #includes
- update STATE_* token code
2007-02-23 13:40:13 -07:00
Brian
36a0ee199d expose _mesa_load_tracked_matrices() 2007-02-23 13:38:37 -07:00
Brian
15b3bd1689 added linux-dri-debug 2007-02-23 11:58:46 -07:00
Brian
cc6a08b2a0 SWvertex no longer has texcoord field, use attrib field instead 2007-02-23 11:45:15 -07:00
Brian
fce8409cbb s/GLint/gl_state_index/, length is now 5 not 6 2007-02-23 11:44:44 -07:00
Brian
9fe3e2efc3 s/GLint/gl_state_index/, length is now 5 not 6 2007-02-23 11:44:14 -07:00
Brian
0020d1022f re-expose _mesa_print_alu_instruction() 2007-02-23 11:43:44 -07:00
Brian
ef0cc9db54 remove dead code 2007-02-23 11:43:14 -07:00
Brian
aa9d22a1c0 replace GLint with gl_state_index 2007-02-23 11:21:03 -07:00
Brian
99902198de comments, clean-up 2007-02-23 10:19:55 -07:00
Brian
5186ae9bbe remove unused slang_atom_pool_gen() 2007-02-23 10:12:38 -07:00
Brian
308be21c2f added slang_label.c 2007-02-23 10:04:18 -07:00
Brian
c2a261f493 comments, clean-up 2007-02-23 09:55:21 -07:00
Brian
75d4ed968d Replace slang_ir_node::Target w/ Field. Remove Comment field. Clean-up. 2007-02-23 09:42:11 -07:00
Brian
c18c75b0b7 remove old _slang_gen_if() 2007-02-23 09:38:46 -07:00
Brian
afbf7c7e6b Re-implement branching with slang_labels.
This eliminates the NOP instructions that had been used as placeholders for
branch targets.
Also, fix "return" statement bug.
2007-02-23 09:38:17 -07:00
Brian
d8d07b2a8a label routines for implementing branches, jumps 2007-02-23 09:36:29 -07:00
Brian
0cc9419631 debug code for emitting variable allocation comments 2007-02-22 17:46:20 -07:00
Brian
059376c855 expose _mesa_swizzle_string() 2007-02-22 17:45:32 -07:00
Roland Scheidegger
5e66843733 r200 fix broken (by new input handling) fogcoord 2007-02-23 01:45:19 +01:00
Brian
ff0cc92757 glslcompiler build instructions 2007-02-22 16:29:48 -07:00
Brian
bc18ac45a3 updated for vbo 2007-02-22 16:29:25 -07:00
Brian
da46353056 Remove obsolete files. 2007-02-22 16:14:02 -07:00
Brian
13e3b21b16 New, unified interpretor/executor for vertex and fragment programs.
This replaces the code formerly in nvvertexec.c and s_fragprog.c.
Currently, DDX, DDY don't work.
2007-02-22 16:09:40 -07:00
Brian
7aaefcbe48 use _mesa_get_program_register() 2007-02-22 16:08:30 -07:00
Brian
f6803de739 Use the new unified vertex/fragment program interpreter from prog_execute.c.
Currently, DDX, DDY don't work.
2007-02-22 16:08:01 -07:00
Brian
e382efc85d use new _mesa_execute_program() function 2007-02-22 16:07:17 -07:00
Brian
6cfe2114f1 FORCE_PROG_EXECUTE_C cpp flag, misc changes 2007-02-22 16:06:54 -07:00
Brian
fd89396012 fix assertion 2007-02-22 16:02:18 -07:00
Brian
7c86e10193 emit high-level IF/ELSE/ENDIF for vertex progs now 2007-02-22 16:02:08 -07:00
Brian
740a8b0b66 _mesa_ExecuteProgramNV is now a no-op 2007-02-22 16:00:54 -07:00
Brian
ef64cda978 remove nvvertexec.c, add prog_execute.c 2007-02-22 16:00:31 -07:00
Brian
3ed1acd13c use MAX_PROGRAM_ENV_PARAMS 2007-02-22 14:57:40 -07:00
Brian
b7aeac0de1 added MAX_PROGRAM_ENV_PARAMS 2007-02-22 14:57:19 -07:00
Brian
79fb4527ca added CallStack, StackDepth 2007-02-22 14:56:43 -07:00
Brian
29925c6dcd remove unneeded #includes, misc clean-up 2007-02-22 14:56:22 -07:00
Brian
e47c60443f reorg/clean-up/indent 2007-02-22 14:55:35 -07:00
Brian
11b9ef9454 start implementing conditions, branching 2007-02-22 14:43:41 -07:00
Brian
2eeaae6cbc get rid of some unused slang_variable fields 2007-02-22 11:00:10 -07:00
Brian
50040573d7 Replace slang_allocate_storage() with simpler _slang_attach_storage() 2007-02-22 10:56:41 -07:00
Brian
b618ac8c0b updated debug code 2007-02-22 09:39:25 -07:00
Brian
776bc9cf55 Undo some STATE_POINT/FOG changes. Max length of state token array is now 5. 2007-02-22 09:29:46 -07:00
Michel Dänzer
641c966e3d i915tex: Schedule flips when possible.
Also move vsync related state from context to window, so it's possible to
schedule several flips ahead of time with triple buffering.
2007-02-22 17:24:09 +01:00
Brian
3f4826a358 XXX comments about shaders 2007-02-22 09:10:38 -07:00
Brian
6ec7484ae8 use ctx->VertexProgram._Current instead of ctx->VertexProgram._Enabled 2007-02-22 09:10:24 -07:00
Brian
96abc6bf72 merge fix: add STATE_FOG_PARAMS_OPTIMIZED, STATE_SPOT_DIR_NORMALIZED 2007-02-22 09:08:53 -07:00
Brian
7b30053b26 fix negative indentation problem 2007-02-22 09:08:36 -07:00
Brian
53bcdedc32 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-22 08:57:36 -07:00
Brian
29c471aafc Merge branch 'origin' into glsl-compiler-1
Conflicts:

	src/mesa/main/state.c
	src/mesa/shader/program.c
	src/mesa/shader/program.h
	src/mesa/shader/programopt.c
	src/mesa/shader/slang/slang_execute.c
	src/mesa/sources
	src/mesa/swrast/s_arbshader.c
	src/mesa/swrast/s_context.c
	src/mesa/swrast/s_span.c
	src/mesa/swrast/s_zoom.c
	src/mesa/tnl/t_context.c
	src/mesa/tnl/t_save_api.c
	src/mesa/tnl/t_vb_arbprogram.c
	src/mesa/tnl/t_vp_build.c
	src/mesa/tnl/t_vtx_eval.c
2007-02-22 08:53:33 -07:00
Dave Airlie
4a1d7d6641 r300: get rid of CB_DPATH legacy 2007-02-22 19:33:50 +11:00
Brian
6d4cf6be4e updated info about arrays, predefined uniforms 2007-02-21 16:07:03 -07:00
Brian
5a2c1ad625 disable debug 2007-02-21 16:05:56 -07:00
Brian
917a5086b3 Use gl_LightSource[0].position intead of a light position uniform. 2007-02-21 15:57:55 -07:00
Brian
5d89b027ee remove unneeded #includes 2007-02-21 15:42:50 -07:00
Brian
502c132738 fix copy&paste errors 2007-02-21 15:42:10 -07:00
Brian
f958aabdf3 more minor changes to STATE_ indexing 2007-02-21 15:23:11 -07:00
Brian
78399d23dc remove dead code 2007-02-21 15:22:17 -07:00
Brian
f941892829 Reimplement the _slang_alloc_statevar() function.
After several tries at making a table-based system for examining pre-defined
uniforms to find statevar indexes, give up and do it the simple way (lots of
strcmp() calls).  Not terribly elegant, but perfectly functional.
2007-02-21 15:21:58 -07:00
Brian
6531952b3c adjustments to STATE_ token layout/format so token[1] is always the array index 2007-02-21 11:08:21 -07:00
Brian
c3301d038d checkpoint overhaul of pre-defined uniform code 2007-02-21 09:15:39 -07:00
Brian
aa7ddbd0ff clean-up, move IR_ELEMENT code 2007-02-20 17:00:16 -07:00
Brian
760c114b24 alloc IR_FIELD's Storage in codegen, like IR_ELEMENT 2007-02-20 16:56:49 -07:00
Ian Romanick
a4b344baa2 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa 2007-02-20 15:19:23 -08:00
Ian Romanick
f0bcee5db0 Delete two invalid assertions.
These two assertions are invalid for a couple reasons.  Primarily,
when this code is compiled into the X-server, the symbols
"glSecondaryColor3fEXT" and "glPointParameterivNV" do not exist.
2007-02-20 15:18:53 -08:00
Brian
10f42ddb9e work on struct/array handling 2007-02-20 15:22:38 -07:00
Brian
361b60678e forgot to return length in parse_array_len() 2007-02-20 15:20:46 -07:00
Patrice Mandin
440759c2cd nouveau: nv10: grr, ctx->DrawBuffer invalid? 2007-02-20 23:17:09 +01:00
Patrice Mandin
79870d100f nouveau: nv10: also check ctx->DrawBuffer in nv10ViewportScale 2007-02-20 23:13:48 +01:00
Patrice Mandin
102ad2e066 nouveau: nv10: keep 24/8 depth/stencil value, don't check for depth bits 2007-02-20 23:04:21 +01:00
Brian
243c2dd746 implement support for pre-defined uniform structs (state vars) 2007-02-20 14:03:43 -07:00
Brian
48d65aabbc added slang_builtin.c 2007-02-20 14:03:10 -07:00
Michel Dänzer
e33a9d6894 i915tex: Triple buffering support, only effective with page flipping so far.
Pending flips are tracked per renderbuffer and the colour renderbuffer
attachments of window framebuffer objects are rotated on flips to avoid
stalling the pipeline for pending flips unnecessarily.
2007-02-20 19:15:44 +01:00
Michel Dänzer
356bf9563e intelWindowMoved: Some debugging output was accidentally left always enabled. 2007-02-20 19:15:44 +01:00
Michel Dänzer
bfbc1de02e intelRotateWindow: Only use back buffer and cliprects in very specific cases. 2007-02-20 19:15:44 +01:00
Michel Dänzer
6f2bf34748 intelCopyBuffer: Remove incorrect intel_fb->pf_current_page tests.
intel_get_rb_region already takes the current page into account.

This would result in broken rendering when multiple 3D windows are visible
and the pages are reversed.
2007-02-20 19:15:44 +01:00
Michel Dänzer
6b99cafd69 i915tex: Support page flipping on both CRTCs independently.
No longer track page flipping state per context but per window, via struct
intel_framebuffer which wraps struct gl_framebuffer for windows.
2007-02-20 19:15:44 +01:00
Michel Dänzer
af64dd2ae0 i915tex: Make page flipping work again. 2007-02-20 19:15:44 +01:00
Adam Jackson
d44027dbbd Fix parallel make in r300 driver. 2007-02-20 12:48:50 -05:00
Brian
bd894c4705 added SWIZZLE_XXXX, SWIZZLE_YYYY, etc 2007-02-20 10:40:08 -07:00
Brian
18e9ca5fb0 more branch info 2007-02-20 09:24:06 -07:00
Brian
906fd23e1d glxext.h version 18 2007-02-20 08:41:15 -07:00
Brian
45b1f169b4 updated to version 18 2007-02-20 08:40:55 -07:00
Brian
d2ffe4ca07 glext.h version 39 2007-02-20 08:38:46 -07:00
Brian
c226e44437 updated to version 39 2007-02-20 08:38:29 -07:00
Christian Neumair
20e851bb9a set log level w/ env var 2007-02-20 08:11:11 -07:00
Brian
174c555414 remove accidental check-in 2007-02-20 08:05:29 -07:00
Brian
3d001b81c2 Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1 2007-02-20 08:04:40 -07:00
Thomas Hellstrom
d2b06403c6 i915tex: Fix performance regression with new vbo code and latest drm.
With current memory preferences, vbos ended up in AGP space
where reading from them got a bit slow.

Make sure buffer objects are initially created in system memory.
2007-02-19 19:57:30 +01:00
Brian
9449a4d894 s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/ 2007-02-17 09:41:59 -07:00
Brian
61d31ae10d info about stand-alone compiler 2007-02-17 09:41:19 -07:00
Brian
cc153541a2 stand-alone GLSL compiler 2007-02-17 09:15:39 -07:00
Brian
501ee87180 Lots of changes to prog_print.c code.
Mainly, allow printing programs in either ARB, NV or "debug" formats.
2007-02-17 09:15:00 -07:00
Sean D'Epagnier
43c6b2f67f Merge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa 2007-02-16 17:46:11 -07:00
Sean D'Epagnier
7ae8f388cf Commiting a few minor fixes to glut fbdev (segfault on a separate stack)
Updated all drivers that used the old _ac_ functions to use
the new _vbo_  functions. I know this fixed the fbdev driver,
it looks like it might fix some other drivers too.
2007-02-16 17:44:13 -07:00
Jerome Glisse
515f495f4e doxygen: update doxygen project number to 6.5
doxygen number was laggin behind a bit.
2007-02-16 23:22:04 +01:00
Jerome Glisse
c2e0570831 Update doxygen doc to reflet vbo changes.
Update doxygen doc, array_cache no longuer exist,
new shiny vbo modules is there. Tested on unix,
but i think i didn't broke that bat :).
2007-02-16 23:19:05 +01:00
Patrice Mandin
21f2f7f26b nouveau: nv50: update 2007-02-16 22:39:28 +01:00
Patrice Mandin
4cc4a753fa nouveau: nv10,20: wrong viewport clip setup 2007-02-16 22:39:12 +01:00
Patrice Mandin
0fccb646e0 nouveau: nv20: texture matrix 2007-02-16 22:09:42 +01:00
Patrice Mandin
66d8e55184 nouveau: nv20: update 2007-02-16 22:03:31 +01:00
Patrice Mandin
f942dc5522 nouveau: nv10: set clear value for 16 and 24 bits depth 2007-02-16 20:26:57 +01:00
Patrice Mandin
9131536f00 nouveau: nv10: rescale depth near and far 2007-02-16 19:54:55 +01:00
Patrice Mandin
252d1de054 nouveau: nv10: fix viewport scale and origin 2007-02-16 19:46:54 +01:00
Brian
00647c39de remove dead code 2007-02-16 09:59:27 -07:00
Brian
c177191804 s/_slang_link2/_slang_link/ 2007-02-16 09:56:19 -07:00
Brian
1c1a0a23d3 change all enum tokens to uppercase 2007-02-16 09:31:35 -07:00
Brian
d15059b128 abort upon errors (temporary) 2007-02-16 09:06:09 -07:00
Brian
d30806b0c5 added a comment 2007-02-16 09:05:11 -07:00
Brian
9ea2315d2d Allow int->float argument conversion in _slang_locate_function(). 2007-02-16 09:04:53 -07:00
Brian
d003877c66 implement IR_I_TO_F 2007-02-16 08:58:42 -07:00
Rune Peterson
e4c772bead r300: Fix cos & add scs to fragment program.
So this do :
 - Fixes COS.
 - Does range reductions for SIN & COS.
 - Adds SCS.
 - removes the optimized version of SIN & COS.
 - tweaked weight (should help on precision).
 - fixed a copy paste typo in emit_arith().
2007-02-14 23:10:52 +01:00
Etienne Clement
1e2b469635 test for POT before using sample_2d_linear_repeat() 2007-02-14 13:21:12 -07:00
Roland Scheidegger
7d8ed0f5f5 fix typo preventing generic arrays from working with ARB_vp (bug #9952) 2007-02-14 20:36:29 +01:00
Patrice Mandin
83cf4ce6e4 nouveau: nv10: there are 8 clipping regions 2007-02-14 20:28:31 +01:00
Roland Scheidegger
99dfca1e7f fix stupid bug in the optimized per-vertex fog generation code 2007-02-14 16:38:32 +01:00
Thomas Hellstrom
bc82b44db9 i915tex: Take into account various mapping states when dropping the
batch buffer after a resolution / rotation switch.
2007-02-14 11:11:37 +01:00
Brian
ed490e4643 remove dead code 2007-02-13 09:23:00 -07:00
Xiang, Haihao
1e6688742e I965: fix a failure on waiting irq.
Wait until getting the right fence if drm/i915 resets the
counter.
2007-02-12 16:38:50 +08:00
Zou Nan hai
ebcc9b5d12 fd.o #BZ 9684
gcc may cast an overflowed float value to an negative int value on i386,
  fix it to make sure at least some apps will not crash if it contains wrong normal data.
2007-02-12 12:16:49 +08:00
Rune Peterson
ee5417bca8 r300: Add proper support for sin/cos instruction in fragment program
Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
 combine the two and have the swizzle resolve any issues.
 (saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].
2007-02-12 00:24:36 +01:00
Rune Peterson
3bacb68c70 ctx->Point._Size fix 2007-02-10 18:19:43 -07:00
Brian
5620392d67 add prog_debug.c 2007-02-09 15:40:15 -07:00
Brian
942ee02590 move GL_MESA_program_debug funcs to prog_debug.c 2007-02-09 15:40:00 -07:00
Brian
383ecc0374 Move experimental GL_MESA_program_debug functions into new file. 2007-02-09 15:39:32 -07:00
Brian
b3893baf80 comments, etc 2007-02-09 14:19:12 -07:00
Brian
3d479b9638 re-enable free'ing of IR trees 2007-02-09 14:18:41 -07:00
Brian
cf490a7f81 always init param vars to silence valgrind warnings 2007-02-09 12:04:52 -07:00
Roland Scheidegger
b2d30ca0cb optimize per-pixel fog program
use the same internal state as for vertex fog. From the old implemenentation,
this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
plus saves a (constant) parameter. While here, fix the broken (forgotten)
swizzling. (untested)
2007-02-09 19:21:29 +01:00
Zou Nan hai
fcccf89432 array overflow fix 2007-02-09 13:28:56 +08:00
Brian
5e6908944b do full swizzled matching in _mesa_lookup_parameter_constant() 2007-02-08 20:39:42 -07:00
Brian
bd9615bbc5 Check for constant-valued while/do loop conditions.
Allows us to:
1. avoid generating constant-valued BRK test for while(1)..
2. discard entire loop for while(0).
3. detection infinite loops at compile-time.
2007-02-08 17:40:29 -07:00
Brian
c0a9f554be optimize conditional breaks/continues 2007-02-08 17:11:18 -07:00
Roland Scheidegger
421ce180f5 r200: simplify / unify input map handling for vp and fftnl
Use the same input map handling for fftnl and vertex programs. It doesn't
enable any new functionality (should make it easy to support per-vertex
materials though), but the code is much cleaner.
2007-02-09 00:36:53 +01:00
Roland Scheidegger
54dac2c843 optimize generated vertex programs a bit
Use new internal state to avoid per-vertex normalization of static spot
direction vector. Use internal state for simpler per-vertex fog computations
(MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
there fix it up (RSQ instead of RCP). All untested...
2007-02-09 00:36:40 +01:00
Roland Scheidegger
6cf892eeb6 fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...
2007-02-09 00:25:53 +01:00
Brian
6230ae7faf cont at top of loop, little clean-ups 2007-02-08 15:09:47 -07:00
Brian
a1c2e87c4b remove some cruft 2007-02-08 15:08:16 -07:00
Brian
fbf0f400b7 fix broken BRA for return stmts 2007-02-08 14:10:54 -07:00
Brian
34af2b7194 consolidate BRA with BRK, CONT 2007-02-08 14:10:19 -07:00
Brian
c81aedeaec change BranchTarget to GLint 2007-02-08 14:09:34 -07:00
Brian
b768c48547 Use conditional break in for/do/while loops. 2007-02-08 13:23:17 -07:00
Brian
97125fb370 Simplify code with eval_condition(). Implement conditional BRK. 2007-02-08 13:22:31 -07:00
Brian
2c75ef62ea remove old loop break/cont stuff 2007-02-07 16:19:19 -07:00
Brian
b35b4566c2 high vs. low level if/then/else code emit 2007-02-07 16:11:00 -07:00
Brian
c5e6bf63e6 s/%f/%g/ 2007-02-07 16:09:13 -07:00
Brian
a7c2c7d6b2 Remove old functions for generating BRA-based looping. 2007-02-07 15:14:20 -07:00
Brian
4aa487e796 Use IR_LOOP to represent do-while and for-loops.
Also, start moving high vs. low-level instruction selection into slang_emit.c
2007-02-07 15:12:13 -07:00
Brian
1f99a7514e BRK and CONT work the same 2007-02-06 22:34:09 -07:00
Brian
f22ed0986a Implement CONT, improve BRK.
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes.
After emitting loop, walk over the linked list, filling in the CONT/BRK
instruction's BranchTarget field (location of the ENDLOOP instruction, or
one past).
2007-02-06 22:31:19 -07:00
Brian
5f7d4668c4 replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP 2007-02-06 21:33:29 -07:00
Brian
7e73bc32f5 new_node[0123]() functions 2007-02-06 20:53:09 -07:00
Brian
2043364516 redo IR_IF node, removing IR_ELSE, IR_ENDIF 2007-02-06 20:45:43 -07:00
Ben Skeggs
f46c19d965 nouveau: a couple of NV3x fixes 2007-02-06 14:01:19 +11:00
Brian
d434019633 additional comments for BranchTarget 2007-02-05 18:04:35 -07:00
Brian
2755c798f3 BRK instruction's BranchTarget field now used for efficiently breaking out of loops.
BRK's BranchTarget field actually points to the top of the loop, not the
bottom, since we don't know the later's location yet.  In the interpreter,
basically do an indirect jump to update the PC.
2007-02-05 18:01:02 -07:00
Brian
8608079647 Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.
This allows us to back-patch the IF/ELSE instruction's BranchTarget field
to point to the location of the ELSE/ENDIF instructions.  No longer have to
search for ELSE/ENDIF in the interpreter.  Also makes it trivial to translate
IF/ELSE instructions into conditional/unconditional BRA instructions.
2007-02-05 17:18:10 -07:00
Jakob Bornecrantz
8518ddda7b Add support for CN700 chipset in miniglx 2007-02-06 10:22:47 +11:00
Brian
d9731b26e7 minor formatting changes 2007-02-05 15:17:06 -07:00
Brian
5e73284cee set UseHighLevelInstructions = false for now 2007-02-05 15:00:48 -07:00
Brian
cf92c72797 Initial implementation of high-level flow-control instructions.
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work.
Disabled by default though until better tested.
Implemented IR_NOT, but needs optimization.
2007-02-05 15:00:07 -07:00
Brian
5db088d70f indentation for program instructions (if/else, loops) 2007-02-05 14:58:15 -07:00
Roland Scheidegger
17c13b406f fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)
ARB_vp requires vertex transformation to be invariant to fixed function tnl
if the position_invariant option is used. So the same function needs to be
used, otherwise z-fighting artifacts may happen with applications which rely
on the results being really the same due to precision issues when dealing with
floating point values (may not be a problem when using a non-optimizing
compiler strictly following IEEE rules).
2007-02-05 21:29:25 +01:00
Brian
01001d80e2 Initial support of loop and subroutine instructions.
New high-level flow-control instructions, both at IR level and GPU instructions
for looping and subroutines.
2007-02-05 11:28:15 -07:00
Brian
5b8a50572d Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-05 10:29:58 -07:00
Panagiotis Papadakos
d0b5c77c68 fix mem leak 2007-02-05 10:29:10 -07:00
Brian
dd34fe8679 Merge SWvertex texcoord and varying fields into attrib[] array field.
Fragment texcoords and varying code is now unified in the point/line/triangle
rasterization code.  In the future, merge color, fog, etc. attribs.
2007-02-05 10:10:01 -07:00
Ben Skeggs
4b3679c6c5 nouveau: OUT_RINGp expects the size in dwords, not bytes.
This fixes the *actual* bug that the previous commit was supposed to fix..
2007-02-06 02:29:20 +11:00
Panagiotis Papadakos
eab92fcdc2 fix mem leaks 2007-02-05 08:17:50 -07:00
Ben Skeggs
47bd759fc9 nouveau: fix a small bug in nv10 swtcl 2007-02-06 01:57:04 +11:00
Ben Skeggs
e7654b22aa nouveau: new bufferobj code.
The old code suffered from a number of issues, the most severe being that
with the Mesa VBO merge even swtcl used the driver's bufferobj interface.
On most VBO types (or non-AGP cards) the buffer ended up in vram, and
killed swtcl performance greatly.  All bufferobj's start in system memory
now, until they get referenced as a "real" VBO.

The other big change is that only potentially "damaged" areas are
uploaded/downloaded to/from the hardware.
2007-02-06 00:39:50 +11:00
Panagiotis Papadakos
3805ccf020 break if we removed driver from Drivers list in driDestroyDisplay
Else we read memory we just released, in for statement.
2007-02-05 10:35:52 +01:00
Patrice Mandin
296eeb882f nouveau: nv10: add init for unknown 0x120 2007-02-04 13:10:23 +01:00
Stephane Marchesin
6356874586 nouveau: fix nv04 and nv10 swtcl, more work on nv04 state. 2007-02-04 03:20:01 +01:00
Brian
93b975a1d9 Add literal_size field to slang_operation.
Used to track the number of components in a float/int/bool literal.
Helps with some typechecking things.
Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
2007-02-03 17:24:24 -07:00
Brian
5ee684cba9 minor tweaks to distance() funcs 2007-02-03 17:21:33 -07:00
Brian
82f53f45d9 remove unused slang_operation fields 2007-02-03 16:25:44 -07:00
Patrice Mandin
f8ec7f1398 nouveau: forgot function declaration 2007-02-03 23:46:58 +01:00
Patrice Mandin
be85770f14 nouveau: nv50: use nv50 state 2007-02-03 23:32:12 +01:00
Brian
edf24e699e shading language texture demo/test 2007-02-03 11:36:16 -07:00
Brian
00d63aafc6 added FLUSH_VERTICES() in _mesa_use_program() 2007-02-03 11:35:02 -07:00
Brian
8e0c6fc0be added texdemo1 2007-02-03 11:33:13 -07:00
Brian
68fc4ff1d7 Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
2007-02-03 10:31:16 -07:00
Brian
49a17a45fb Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
2007-02-03 10:30:50 -07:00
Michel Dänzer
5aa997dafb Merge branch 'origin' 2007-02-03 17:37:01 +01:00
Michel Dänzer
cf4ccd5020 Fall back to software rasterization if r300_translate_fragment_shader() fails.
Aborting immediately is a bad idea with AIGLX.
2007-02-03 17:32:02 +01:00
Michel Dänzer
beffa17bb9 Remove unused r200 files from r300 driver directory. 2007-02-03 17:24:22 +01:00
Michel Dänzer
0afc2d37c3 r300CreateContext: Really initialize r300->initialMaxAnisotropy. 2007-02-03 17:23:19 +01:00
Patrice Mandin
de24b01b05 nouveau: fix viewport clipping initialization 2007-02-03 13:22:42 +01:00
Patrice Mandin
1c25561e30 nouveau: use color pitch as depth pitch if depth disabled 2007-02-03 13:20:16 +01:00
Roland Scheidegger
2a441c488f disable r200 materials-between-begin-end check if vertex progs are enabled 2007-02-03 03:31:31 +01:00
Roland Scheidegger
f697308ae5 remove now unused vtxfmt stuff from radeon/r200 header files 2007-02-03 03:15:45 +01:00
Roland Scheidegger
09e4df2c65 fix errorneously adding fog state params to all vertex programs... 2007-02-03 03:15:14 +01:00
Brian
fee9bbe475 Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise. 2007-02-02 18:05:43 -07:00
Brian
a90e4c3ddf add vec4_texcube to AsmInfo[] 2007-02-02 18:00:26 -07:00
Brian
1b3092e4bb add _slang_multiply_swizzles() 2007-02-02 18:00:03 -07:00
Brian
bf823b6b77 clean-ups 2007-02-02 16:46:50 -07:00
Brian
670e900719 clean-ups 2007-02-02 16:45:07 -07:00
Brian
31d2a00192 clean-ups 2007-02-02 16:41:52 -07:00
Brian
b4f38a4d60 remove slang_builtin_vec4.gc 2007-02-02 16:38:04 -07:00
Brian
4bbef7a644 remove slang_builtin_vec4.gc 2007-02-02 16:38:00 -07:00
Brian
d9dbb3e154 remove slang_export.[ch] 2007-02-02 16:14:55 -07:00
Brian
e1b47b68ec reformat, clean-up comments 2007-02-02 16:12:20 -07:00
Brian
1f9def3163 move _slang_locate_function() 2007-02-02 16:10:02 -07:00
Brian
9cfee527f6 remove multibyte chars 2007-02-02 16:08:45 -07:00
Brian
3f71282850 remove unused field 2007-02-02 15:33:16 -07:00
Brian
72c3672857 remove slang_asm_string() 2007-02-02 15:32:32 -07:00
Brian
0d1cd6d41c s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/ 2007-02-02 15:31:21 -07:00
Brian
1bc71e32ea s/slang_assembly_typeinfo/slang_typeinfo/ 2007-02-02 15:30:50 -07:00
Brian
fe45343df9 s/slang_assembly_name_space/slang_name_space/ 2007-02-02 15:29:48 -07:00
Brian
884fdfeb22 remove slang_library_texsample.[ch] 2007-02-02 15:23:38 -07:00
Brian
4a2ef4fd88 remove slang_library_texsample.[ch] 2007-02-02 15:23:33 -07:00
Brian
6c52dd3852 rename slang_link2.c slang_link.c 2007-02-02 15:22:05 -07:00
Brian
5c1763e7b5 rename slang_link2.c slang_link.c 2007-02-02 15:22:02 -07:00
Brian
f65091c947 rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch] 2007-02-02 15:19:58 -07:00
Brian
7ace638da2 rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch] 2007-02-02 15:19:48 -07:00
Brian
4f22bdf3e5 remove more slang assembly-related code 2007-02-02 15:17:46 -07:00
Brian
640afdf4f2 remove more slang assembly-related files, codee 2007-02-02 15:16:51 -07:00
Brian
452217e29a removed obsolete shader assembly files 2007-02-02 15:10:34 -07:00
Brian
11e92390f6 remove more assembly-related code 2007-02-02 15:05:46 -07:00
Brian
b94c14114f remove slang_assemble*.c files 2007-02-02 14:51:34 -07:00
Brian
8d39610037 move some functions, disable some code in preparation for removing assembly code 2007-02-02 14:51:09 -07:00
Brian
fa1fe5f6f3 fix emit_tex() breakage 2007-02-02 14:47:03 -07:00
Brian
1b24e2d5a7 remove slang_export.c and related code 2007-02-02 14:24:24 -07:00
Brian
5072fd3a64 Remove old slang linker code. 2007-02-02 14:05:55 -07:00
Brian
8b60787e85 remove slang_link.c and slang_analyse.c 2007-02-02 14:05:25 -07:00
Brian
d79fd74871 remove old linker stuff 2007-02-02 14:04:58 -07:00
Brian
a4f4ca7767 added newline at end 2007-02-02 13:54:24 -07:00
Brian
ccd3e7dcef Remove obsolete files. 2007-02-02 13:53:28 -07:00
Brian
650d46a107 remove slang_execute.c, slang_execute_x86.c 2007-02-02 13:49:39 -07:00
Brian
d265bdf81a Remove all dependencies on the old slang interpreter/executor. 2007-02-02 13:49:07 -07:00
Brian
aa6866d63c reindent 2007-02-02 12:08:26 -07:00
Brian
b12b13f832 _slang_evaluate_int() no longer used 2007-02-02 12:07:57 -07:00
Brian
06daf74a71 use _slang_simplify() to evaluate array sizes 2007-02-02 12:02:53 -07:00
Brian
70570d4199 Move guts of slang_lookup_constant() into a new function in slang_simplify.c 2007-02-02 12:01:29 -07:00
Brian
5c21747783 replace abort() with _mesa_problem() 2007-02-02 11:42:04 -07:00
Brian
2f5b3c9607 fix maxInst argument 2007-02-02 11:37:58 -07:00
Brian
e53ec3a862 try to simplify variable initializers 2007-02-02 11:32:59 -07:00
Brian
6147ccba63 unroll inner loop of interpolate_varying() 2007-02-02 11:23:16 -07:00
Brian
531348e814 simplify derivative-related code 2007-02-02 11:20:08 -07:00
Brian
e4f976b8b9 simplify interpolate_texcoords() 2007-02-02 11:19:43 -07:00
Brian
9ab512ad8c Replace color, z, w, texture interpolants with new generic attrib interpolants. 2007-02-02 11:01:01 -07:00
Brian
462d8f5faf New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. fields. More to come. 2007-02-02 09:46:43 -07:00
Brian
4e7fd7ad96 get rid of unused span->start field 2007-02-02 09:09:13 -07:00
Keith Whitwell
b59657ad96 Merge branch 'vbo-0.2'
Conflicts:

	src/mesa/main/texcompress_s3tc.c
	src/mesa/tnl/t_array_api.c
2007-02-02 12:26:10 +00:00
Keith Whitwell
2ddc8799a8 Merge branch 'vbo-0.2-origin' into vbo-0.2 2007-02-02 11:06:37 +00:00
Keith Whitwell
47d463e954 Modify assert to reflect rebase criteria 2007-02-02 10:59:58 +00:00
Zou Nan hai
325196f548 push commit 2dfb3a217f to i915tex 2007-02-02 14:37:24 +08:00
Wang Zhenyu
51bfb8fc8c Add Intel 965GM chipset info 2007-02-02 10:04:48 +08:00
Wang Zhenyu
6b6760d6bc Revert origin crestline pci id patch 2007-02-02 10:01:42 +08:00
Zou Nan hai
2dfb3a217f Fix fd.o #9686, when fall into vertex fog,
fog factors are precomputed in t_vb_fog.c compute_fog_blend_factors,
  which is incompatible with appended fragment fog code.
  That will make GoogleEarth display abnormally.
  always use pixel fog.
2007-02-02 09:35:17 +08:00
Brian
9742547245 Fix logic in _slang_simplify(): vec2() constructor case wasn't getting used. 2007-02-01 18:11:19 -07:00
Roland Scheidegger
8ebda479d9 fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo. 2007-02-01 20:59:45 +01:00
Brian
abeca8d17d comments 2007-02-01 10:08:07 -07:00
Brian
496aa47042 remove slang_label.c until it's ready 2007-02-01 09:52:26 -07:00
Brian
f3e507ef9f New SWspanarrays attribs[] array.
Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed
by FRAG_ATTRIB_* values.
Eliminates need to copy data into fragment program machine input registers.
Will lead to future clean-ups.
2007-02-01 09:51:48 -07:00
Brian
81ef03be65 silence uninitialized var warning 2007-02-01 09:25:55 -07:00
Brian
8fa6f7363e silence uninitialized var warning 2007-02-01 09:24:41 -07:00
Brian
3866558c98 move span-related types/tokens into s_span.h 2007-02-01 08:24:02 -07:00
Brian
f673b24017 additional assertions, bump up MAX_EXEC 2007-02-01 08:18:03 -07:00
Brian
af1d1e08e4 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-01 07:22:50 -07:00
Brian
0930248bb1 fix mem leak in __glXReportDamage (Panagiotis Papadakos) 2007-02-01 07:22:25 -07:00
Keith Whitwell
5368ae5ec3 Correct usage/meaning of max_index parameter. 2007-02-01 14:21:14 +00:00
Keith Whitwell
605d428d20 Cope with internally-generated null inputs. 2007-02-01 14:20:31 +00:00
Michel Dänzer
8628b382e4 driDestroyDisplay: Fix comment, it is called now. 2007-02-01 10:45:51 +01:00
Michel Dänzer
bed026e7dd driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.
This fixes a regression from commit f81b1dbe37:
Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It
dlcloses the handles associated with the display but fails to remove their
references from the Drivers list, so subsequent calls to OpenDriver return a
stale handle and an invalid createNewScreenFunc pointer. The attempt to call
the latter results in a segfault when running amoeba, e.g.
2007-02-01 10:43:10 +01:00
Roland Scheidegger
a2104dc6e1 fix unitialized values in radeonClear 2007-02-01 01:09:26 +01:00
Brian
d9d33b6fc8 disable all x86 code, broken and will eventually be removed 2007-01-31 17:01:52 -07:00
Brian
b63c100677 Overhaul handling of writemasks/swizzling. This fixes two problem cases:
vec2 v;  v.x = v.y = 1.0;  // chained assignment
vec4 v;  v.zx = vec2(a,b);  // swizzled writemask
2007-01-31 16:34:54 -07:00
Brian
309d5b6650 New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with instruction saturate-write option. Not finished yet. 2007-01-31 08:55:10 -07:00
Brian
9d5853813f allow fragment-only and vertex-only programs 2007-01-31 08:47:12 -07:00
Xiang, Haihao
5893474c74 _mesa_pack_rgba_span_float: fix for packing data into group 2007-01-31 09:47:02 +08:00
Brian
7162398778 fix _mesa_get_uniform_location() so it uses the given program handle 2007-01-30 16:55:03 -07:00
Keith Whitwell
893526b8a8 Use new rebase helper. Remove other rebase code. 2007-01-30 20:22:55 +00:00
Keith Whitwell
240641de0c Helper for rebasing draw requests where min_index != 0. 2007-01-30 19:27:53 +00:00
Keith Whitwell
48c638b671 New tests for the array functions which also provoke rebasing. 2007-01-30 19:19:51 +00:00
Brian
876e372567 regenerated 2007-01-30 08:13:49 -07:00
Brian
d2c62e6065 s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:13:02 -07:00
Brian
8811a9e38a bump version to 6.5.3 2007-01-30 08:11:50 -07:00
Brian
fea6a8e1f1 s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:10:03 -07:00
Brian
8be177a694 s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:09:25 -07:00
Brian
832417f31e s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:02:20 -07:00
Ben Skeggs
a4ddd64f36 nouveau: argh 2007-01-30 16:51:50 +11:00
Ben Skeggs
f9345c7c4e nouveau: misc NV40 fixes 2007-01-30 16:49:27 +11:00
Ben Skeggs
d2c4d9ff9b nouveau: NV40 glClipPlane support. 2007-01-30 16:41:55 +11:00
Ben Skeggs
ede8017d2c nouveau: rework shader param handling
Conflicts:

	src/mesa/drivers/dri/nouveau/nouveau_shader_0.c
2007-01-30 16:41:20 +11:00
Ben Skeggs
de0cf18b09 nouveau: oops, build attrib map after we know how the final shader will look.. 2007-01-30 16:39:31 +11:00
Ben Skeggs
2d8b316109 nouveau: remove an unused table 2007-01-30 16:39:05 +11:00
Ben Skeggs
7fbf8d3324 nouveau: oops 2007-01-30 16:38:46 +11:00
Ben Skeggs
cafbc459f5 nouveau: maintain a map of which vtxprog input corresponds to which array 2007-01-30 16:38:30 +11:00
Ben Skeggs
0c5b42a991 nouveau: unhardcode some more NV30TCL_FP_CONTROL values 2007-01-30 16:03:13 +11:00
Matthieu Castet
aa397fe472 nouveau : NOUVEAU_RING_TRACE
allow to print what we are really sending to the fifo.
2007-01-29 23:26:35 +01:00
Matthieu Castet
c97540065c nouveau : nv10 comment icomplete command 2007-01-29 23:19:12 +01:00
Brian
fc5a7ea5de noise() works now 2007-01-28 19:02:03 -07:00
Brian
7aece10039 noise functions 2007-01-28 19:01:35 -07:00
Brian
f94e4f216f simple noise test 2007-01-28 19:01:04 -07:00
Brian
a06f929362 combine emit_unop(), emit_binop(), emit_triop() into emit_arith() 2007-01-28 16:26:09 -07:00
Brian
62e7c033c0 implement mix() with LRP instruction 2007-01-28 16:11:11 -07:00
Matthieu Castet
c7c0a6ddcd nouveau : nv10 mixing cached stuff with not cached stuff is bad. 2007-01-28 23:26:21 +01:00
Brian
4de6fac4da Lots of vartable clean-ups, fixes. Report an error message when we run out
of registers, rather than crash.
2007-01-28 12:49:47 -07:00
Brian
602dc1a638 minor clean-ups 2007-01-28 12:13:27 -07:00
Brian
bbec2fdb3a minor updates 2007-01-28 12:11:10 -07:00
Ben Skeggs
b0e86b2dbd nouveau: fix nv30 line width 2007-01-28 22:55:35 +11:00
Ben Skeggs
aacea52181 nouveau: initial GL_ARB_occlusion_query support
Only enabled on NV40, NV20/NV30 code is untested.. However, NV30
should be identical to NV40.
2007-01-28 17:02:40 +11:00
Ben Skeggs
1879069eab nouveau: extend notifier interface to allow multiple notifiers in a memory block. 2007-01-28 16:35:32 +11:00
Brian
513325fa32 Clean-up of var/temp allocation function parameters. 2007-01-27 20:29:33 -07:00
Brian
d6772f157a Improved register allocation: allow four 'float' vars or temporaries to share a single register. Clean-up needed. 2007-01-27 20:06:41 -07:00
Claudio Ciccani
ea55de3d65 Updated copyright header.
Switched to LGPL (GPL header was a cut-&-paste mistake).
2007-01-27 19:32:05 +01:00
Brian
04d60ea54c note that non-member posts are auto-rejected 2007-01-27 06:25:31 -07:00
George Sapountzis
c00169fd25 Bug 9628: no entry for GetVertexAttribPointerv
This is because (in glX_API.xml) GetVertexAttribPointerv is aliased to
GetVertexAttribPointervARB which is then aliased to GetVertexAttribPointervNV.

Make GetVertexAttribPointerv alias GetVertexAttribPointervNV directly. Patch
by Ian Romanick <idr@us.ibm.com> and regenerate.
2007-01-27 09:12:57 +02:00
Brian
d8df84aae1 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-01-26 19:08:58 -07:00
Brian
1b62353dd8 fix typo 2007-01-26 19:08:34 -07:00
Stephane Marchesin
0931e21eb6 nouveau: more work on nv04, this time buffer format/pitches/... 2007-01-27 03:08:01 +01:00
Brian
99c9bc386f document, re-indent _mesa_ffsll() 2007-01-26 19:01:55 -07:00
Brian
1d74e565db Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-01-26 18:55:12 -07:00
Eric Anholt
5a3d985395 Bug #9604: Fix a static buffer allocation failure.
The pool that the static buffer got allocated from was sized by pitch * height,
but the buffer generated from it had its size aligned to a tile boundary, so
allocation failed if pitch * height wasn't aligned.  However, the 2d driver
ensures that the size ends at a tile boundary, so just pass the 2d driver's
buffer size rather than calculating it.
2007-01-26 14:23:29 -08:00
Eric Anholt
869b8ad499 Add _mesa_ffsll() for compatibility on OSes without ffsll(), and use it. 2007-01-26 14:18:24 -08:00
Eric Anholt
dbb54b234c Remove dead code causing a warning. 2007-01-26 14:18:24 -08:00
George Sapountzis
507167d7e2 Override Const.CheckArrayBounds for Xserver in XMesaCreateContext().
This leaves one last XFree86Server ifdef in Mesa core.

---

Bug 9285: misc glcore, xmesa cleanups

ACKed by Ian Romanick.
2007-01-26 18:31:44 +02:00
George Sapountzis
c9b33ecd7c Drop old (pre-AIGLX) GLcore interface.
The old GLcore interface was replaced in Xorg 7.1 with the addition of AIGLX,
it is only used by DDX's which are known not to work with the new DIX glx code.

---

Bug 9285: misc glcore, xmesa cleanups

ACKed by Ian Romanick.
2007-01-26 18:31:00 +02:00
Zou Nan hai
c6c65e7b22 Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa 2007-01-26 07:05:02 +08:00
Zou Nan hai
6aa62ba43f ARB_Occlusion_query should support multiple query at same time 2007-01-26 07:04:15 +08:00
Brian
ea8b68e0f7 asst fixes, tranpose span->varying array indexes 2007-01-25 10:54:52 -07:00
Brian
ff13f0ea4d fixes, clean-ups, transpose span->varying array indexing 2007-01-25 10:52:48 -07:00
Roland Scheidegger
38e9f8b6f2 do not rebase index buffers as it does not work currently (tested with r200 and sw mesa) 2007-01-25 18:52:40 +01:00
Brian
5ef553da9a new comments, ideas 2007-01-25 10:51:53 -07:00
Roland Scheidegger
78b64d911b allocate larger minimum dstelt buffer
increase the minimum dstelt buffer size to avoid triggering an assertion later
because the split is triggered before the buffer is full. This fixes cases
where the vbo_split_copy path is hit because of maximum index limit, where the
dstelt buffer size needed could be very small (doom3 hit that assertion with a
vertex count of just 3)
2007-01-25 16:39:02 +01:00
Roland Scheidegger
db79d7dea0 fix dstelt memory allocation to avoid hash corruption 2007-01-25 14:32:06 +01:00
Roland Scheidegger
327462d901 remove tnl/t_vtx_x86_gcc.S file from sources as it no longer exists 2007-01-25 12:12:54 +01:00
Roland Scheidegger
5970400476 re-fix bug 9062 in vbo code 2007-01-25 12:11:03 +01:00
Ben Skeggs
d5db167c2c nouveau: unbreak NOUVEAU_RING_DEBUG 2007-01-25 15:12:49 +11:00
Ben Skeggs
86996dfe32 nouveau: add result scaling to shader backend, use it in RSQ emul for NV40. 2007-01-25 13:40:51 +11:00
Ben Skeggs
2d7687865e nouveau: and here's the "oops, I suck" commit :) 2007-01-25 12:08:49 +11:00
Ben Skeggs
42bd32dad7 nouveau: some extra debug output 2007-01-25 11:56:45 +11:00
Brian
e713c21bd0 remove some parenthesis 2007-01-24 14:15:01 -07:00
Brian
ff917003f6 use FRAG_BIT_TEX() 2007-01-24 14:14:14 -07:00
Brian
ccea3ff8a9 fix varying interpolation 2007-01-24 14:13:36 -07:00
Brian
0552abce0e only setup varying vars that will be used 2007-01-24 14:13:02 -07:00
Brian
07373512c7 added FRAG_BIT_TEX() and FRAG_BIT_VAR() macros 2007-01-24 14:12:08 -07:00
Zou Nan hai
844e5610de 965 glxswapcontrol fix 2007-01-24 16:07:43 +08:00
Zou Nan hai
bdc5394d22 965 ARB_Occlusion_query fix 2007-01-24 15:47:15 +08:00
Brian
c920d201c2 updated comment 2007-01-23 17:41:25 -07:00
Brian
6d4e561e39 indicate which opcodes are used by Mesa GLSL, updated comments 2007-01-23 17:39:25 -07:00
Brian
223d7cb3c7 fix g++ warnings/errors 2007-01-23 16:37:51 -07:00
Brian
7e85b0a025 silence C++ warnings 2007-01-23 12:50:08 -07:00
Brian
18d1fdebeb fixes for C++ warnings/errors 2007-01-23 11:46:02 -07:00
Thomas Hellstrom
d46093b8d5 i915tex: Relocation fixes:
Increase the number of allowed relocations per batchbuffer.
Fix an assert to avoid an array index overflow.
(Reported by Steve Wilkins)
2007-01-23 09:06:21 +01:00
Thomas Hellstrom
fe9fef2cec i915tex: Fix randr resizing. Rotation still broken. 2007-01-23 09:06:21 +01:00
Ben Skeggs
60c28739aa nouveau: DPH and CMP for NV40 which doesn't do it natively. 2007-01-23 16:25:25 +11:00
Ben Skeggs
cf33bcf0b2 nouveau: allow for card-specific shader infos to be kept
NV30/40 fragprog: build FP_CONTROL per-shader, still some hardcoded bits for
                  this reg.. It looks like it has to do with the number of
		  temps used, but needs more looking at.
NV40 vtxprog    : build VP_IN_REG/VP_OUT_REG during shader compile
2007-01-23 16:07:12 +11:00
Ben Skeggs
a8b9d13f74 nouveau: fill in condition info for instructions 2007-01-23 13:36:45 +11:00
Ben Skeggs
ed69205684 nouveau: unbreak nv40 2007-01-23 11:06:16 +11:00
Ben Skeggs
50227f6fd2 nouveau: reindent shader pass0/pass2
if this gets rejected by the commit list, just ignore it..
nothing interesting to see here :)
2007-01-23 10:54:54 +11:00
Ben Skeggs
c3ac270996 nouveau: start converting shaders into a tree format again..
No branching stuff implemented yet.  Works enough for gears, probably
other stuff broken.
2007-01-23 10:54:54 +11:00
Jeremy Kolb
95fc270b06 Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa 2007-01-21 20:47:10 -05:00
Jeremy Kolb
ea441355d3 nouveau: Fixes for nv30. 2007-01-21 20:30:31 -05:00
Stephane Marchesin
d1f0a55af4 nouveau: fix some bugs in the nv10 swtcl. 2007-01-22 00:12:05 +01:00
Brian
bc5d480e2c added shading.html link 2007-01-21 10:37:25 -07:00
Stephane Marchesin
3c0961d299 nouveau: add nv04 state support, and small nv04 fixes. 2007-01-21 04:06:57 +01:00
Ben Skeggs
4f800c5bac nouveau: rename pass0_arb to pass0.
I was expecting to have 2 frontends for the shader code (asm, glsl).
With Brian's work on GLSL this is unnecessary :)
2007-01-21 09:48:33 +11:00
Ben Skeggs
029b81742a nouveau: kill off shader pass1.
It sucks, and we have someone who can do a much better job than I can starting
work on it soon.  alloc_temp/free_temp is left in pass2 to workaround fragprog
temps/outputs overlapping, but this all belongs in the optimiser.
2007-01-21 09:31:00 +11:00
Ben Skeggs
ee3d0617f9 nouveau: shader backend branching support for all cards that support it. 2007-01-21 09:13:27 +11:00
Brian
9595d1935c Added a page with shading language status, tips, etc. 2007-01-20 13:40:57 -07:00
Brian
059e901446 Add a simple mechanism for annotating instructions for easier debugging. 2007-01-20 10:47:10 -07:00
Brian
f116fcc328 optimization: emit MAD instructions when possible 2007-01-20 09:46:02 -07:00
Brian
1f208c3546 remove unused swizzle parameter to -storage_to_src_reg() 2007-01-20 09:29:04 -07:00
Brian
5ae49cf3ed Initial implementation of OPCODE_IF/ELSE/ENDIF instructions. 2007-01-20 09:27:40 -07:00
Brian
a3e938b8da Reimplement && and || to do short-circuit evaluation.
Improved shader error handling.
2007-01-20 09:22:13 -07:00
Brian
9f07ed00e4 rewrite more __postIncr functions 2007-01-20 07:56:00 -07:00
Brian
3cec66512d Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 so
we can either jump on zero, or non-zero predicate.
2007-01-19 13:13:15 -07:00
Brian
eff9690351 Rewrite normalize(vec3/vec4) to use one less register. 2007-01-19 12:19:38 -07:00
Brian
dceae2829e report error message when something fails 2007-01-19 12:02:31 -07:00
Brian
203946e1f9 print error msg when there's a problem 2007-01-19 12:02:06 -07:00
Brian
74b27674a8 remove stray tab 2007-01-19 10:31:52 -07:00
Brian
a0092c51b1 Implement fragment discard/kill. 2007-01-19 10:15:34 -07:00
Brian
8374ccb66f change while-loop to create new scope for loop body, per spec 2007-01-19 10:02:58 -07:00
Ben Skeggs
669fefd3da nouveau: bump drm patchlevel 2007-01-19 15:39:36 +11:00
Brian
16183e6430 Implement constant sharing so that 4 float constants can share a single
float[4] register slot.
2007-01-18 17:29:23 -07:00
Brian
ce6640001d _mesa_add_unnamed_constant() now tries to re-use constants already in
the parameter list.
2007-01-18 17:23:48 -07:00
Brian
d70771752f Reimplement code for swizzling so that expressions like (p+q).x for vectors p and q works correctly. 2007-01-18 15:35:44 -07:00
Brian
d885ff470a rewrite a bunch of assignment operators (like +=) 2007-01-18 15:33:13 -07:00
Brian
e4e66476a9 remove debug code 2007-01-18 15:23:45 -07:00
Patrice Mandin
3c59483ed7 nouveau: preliminary nv50 state 2007-01-18 22:07:17 +01:00
Brian
f43eac3ed8 remove swizzle param from new_var() 2007-01-18 09:22:44 -07:00
Zou Nan hai
c171166987 1. Fix bug #155
2. I notice multiple ARB_occlusion_query should be able to overlap according to spec.

3. Declaring extern variables in a .c file is evil, fix it.
2007-01-18 14:41:38 +08:00
Aapo Tahkola
62efc4ba3e support as much of GL_EXT_stencil_two_side as we can. untested. 2007-01-18 05:56:13 +02:00
Aapo Tahkola
feeed10dfd typo fix. this case still fails. 2007-01-18 05:30:20 +02:00
Aapo Tahkola
a3b4b11739 Fix invalid enums passed to MapBuffer 2007-01-18 04:46:04 +02:00
Aapo Tahkola
2cb3594af9 Fix invalid enums passed to MapBuffer 2007-01-18 04:17:56 +02:00
Brian
8a2368edce rewrite additional matrix-related functions to reduce register needs 2007-01-17 18:37:20 -07:00
Brian
89a3bafe04 rewrite mat4 * mat4 operator to use fewer temps 2007-01-17 18:30:53 -07:00
Brian
272622a2e0 do bounds check in _slang_push_var_table(), added comment 2007-01-17 18:21:00 -07:00
Brian
2585b74e19 rewrite matrix constructors 2007-01-17 18:06:40 -07:00
Brian
4864aaeb02 handle var size > 4 in _slang_pop_var_table() 2007-01-17 18:02:44 -07:00
Brian
f4e345c1a8 minor fprintf() change 2007-01-17 16:30:11 -07:00
Brian
eb0c478b17 Rewrite a bunch of constructors. It's now important that the first
constructor for any given type be the one that takes the most parameters
as this is the constructor that'll be used when there's no perfect match
to the caller's arguments.
See the _slang_adapt_call() function for details.
2007-01-17 16:29:51 -07:00
Brian
3a3bb953b6 _slang_gen_function_call_name() now tries to adapt function calls (expand
vectors, insert casts) when a perfect match isn't found.
2007-01-17 16:14:03 -07:00
Brian
eabb7e66bd New _slang_adapt_call() function.
This is used to modify function calls (when possible) to make the arguments
map to the function parameters.  This includes "unrolling" vector types
and doing casts.

Example:
   vec2 v2 = vec2(1.2, 3.4)
   ivec3 iv = ivec3(false, v2);
Is converted into:
   ivec3 iv = ivec3(int(false), int(v2[0]), int(v2[1]))
2007-01-17 16:11:50 -07:00
Brian
397b807ad5 code clean-up, re-org. Added IR_F_TO_I support. 2007-01-17 16:05:03 -07:00
Brian
bb53124fca added IR_F_TO_I, update comments 2007-01-17 15:58:24 -07:00
Brian
0bad236cfb Added OPCODE_INT to convert 4 floats to 4 ints. 2007-01-17 15:54:14 -07:00
Brian
46a9241248 add texturing, other options 2007-01-17 10:25:44 -07:00
Brian
811f54fa75 Fix/clean-up a number of things related to variable/temporary allocation. 2007-01-17 09:54:31 -07:00
Keith Whitwell
3bfbe63806 New debug config for linux-dri 2007-01-17 08:44:13 +00:00
Xiang, Haihao
747c9129c0 I965: fix bug#9625-get the correct PV for quardstrip
The order of vertices in payload for quardstrip is (0, 1, 3, 2),
so the PV for quardstrip is c->reg.vertex[2].
2007-01-17 10:39:50 +08:00
Xiang, Haihao
afba8f0d30 Fix bug#9673
Cast from pointer to unsinged long and cast to pointer from
 unsinged long
2007-01-17 10:17:10 +08:00
Brian
552a65e454 Implement codegen for the selection operator ( b ? x : y ) 2007-01-16 17:38:39 -07:00
Brian
3596903068 fix typo 2007-01-16 16:53:41 -07:00
Brian
271d504ed7 draw a box, press 'a' to animate 2007-01-16 15:27:11 -07:00
Brian
9d0ae967d4 added some VerteAttrib funcs 2007-01-16 14:57:12 -07:00
Brian
f44ba11815 Added toyball and bumpmap tests using shaders from the OpenGL Shading Language (orange) book. 2007-01-16 14:55:43 -07:00
Brian
9b5dc1358a when automatically binding vertex attributes, start with attrib 1, not 0 2007-01-16 14:52:22 -07:00
Brian
4f027a33b9 remove dead code 2007-01-16 14:19:37 -07:00
Brian
0f91310bf3 comments 2007-01-16 14:17:57 -07:00
Brian
d90c655b05 implement logical or, xor, not 2007-01-16 14:15:05 -07:00
Brian
99e788fe56 some additional vector constructors 2007-01-16 14:10:30 -07:00
Stephane Marchesin
7c8f311e40 nouveau: Use the most recent card list. 2007-01-16 21:43:54 +01:00
Brian
156e583a35 fix _slang_gen_subscript() for the case when a simple vector is accessed as an array: convert index to a swizzle/writemask 2007-01-16 10:45:34 -07:00
Keith Whitwell
fea6e5a695 Don't special-case index, edgeflag.
Remove display list opcodes for INDEX and EDGEFLAG, handle them
through the regular ATTRIB mechanism now that Mesa understands them
to just be regular attribs.
2007-01-16 13:30:04 +00:00
Keith Whitwell
c53df49b8b Additional display list tests 2007-01-16 13:29:01 +00:00
Keith Whitwell
3ad12fab45 Merge vbo_0_1_branch
Hopefully leaving behind the cruft generated by the CVS import.
2007-01-16 11:24:08 +00:00
Keith Whitwell
6a3fdc3a1e Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa into vbo-0.2
Conflicts:

	src/mesa/array_cache/sources
	src/mesa/drivers/dri/i965/brw_context.c
	src/mesa/drivers/dri/i965/brw_draw.c
	src/mesa/drivers/dri/i965/brw_fallback.c
	src/mesa/drivers/dri/i965/brw_vs_emit.c
	src/mesa/drivers/dri/i965/brw_vs_tnl.c
	src/mesa/drivers/dri/mach64/mach64_context.c
	src/mesa/main/extensions.c
	src/mesa/main/getstring.c
	src/mesa/tnl/sources
	src/mesa/tnl/t_save_api.c
	src/mesa/tnl/t_save_playback.c
	src/mesa/tnl/t_vtx_api.c
	src/mesa/tnl/t_vtx_exec.c
	src/mesa/vbo/vbo_attrib.h
	src/mesa/vbo/vbo_exec_api.c
	src/mesa/vbo/vbo_save_api.c
	src/mesa/vbo/vbo_save_draw.c
2007-01-16 11:22:57 +00:00
Keith Whitwell
0b412f8f15 Merge branch 'vbo_0_1_branch' into vbo-0.2 2007-01-16 09:47:35 +00:00
Keith Whitwell
5363e3331b Merge branch 'master-merge' into vbo-0.2 2007-01-16 09:47:26 +00:00
Brian
0d55346156 Use arrow keys to pan and z/Z to zoom in/out to explore the fractal. 2007-01-15 17:48:19 -07:00
Brian
2ccd264695 Added new directory of GL shading language demos: glsl 2007-01-15 17:27:24 -07:00
Brian
f6507157e2 Reimplement the post-increment/decrement functions.
Instead of defining functions with an extra dummy parameter to distinguish
from the pre-incr/decr functions, just use new function names: __postIncr
and __postDecr.
2007-01-15 16:54:38 -07:00
Brian
c410994653 Implement the ++var and --var operators, improve some constructors. 2007-01-15 16:38:12 -07:00
Brian
0a097675f1 added vec3 constructor code 2007-01-15 16:34:33 -07:00
Brian
82258b7af3 added IR_ELEMENT 2007-01-15 16:33:54 -07:00
Brian
04ac15fd80 checkpoint: ++, -- and && operators 2007-01-15 15:51:49 -07:00
Brian
83d3ff590d Redo the way array indexes are handled. Resolve storage location at code emit time, not codegen time. 2007-01-15 13:58:45 -07:00
Jerome Glisse
a03fc82771 mesa: Update _Current along Current on fragment program bound.
Same as a previously committed patch for vertex program, we
update fragment program ptr _Current along the Current one
so that _Current can't end up pointing to a no more valid
program.
2007-01-15 21:21:10 +01:00
Brian
c807169888 remove old globals 2007-01-15 11:10:11 -07:00
Brian
a5bbe206a8 comments 2007-01-15 11:08:10 -07:00
Brian
8de3dc1701 Move some global vars into slang_assemble_ctx. 2007-01-15 11:07:46 -07:00
Patrice Mandin
7520478eb0 nouveau:nv10: fix setting clip region 2007-01-15 18:58:24 +01:00
Brian
4f5901b265 fix the subassig, mulassign and divassign cases 2007-01-15 10:35:59 -07:00
Brian
629fd78f79 clean-up slang_allocate_storage() 2007-01-15 10:35:03 -07:00
Keith Whitwell
584def75ad Remove unused index buffer. 2007-01-15 16:57:01 +00:00
Keith Whitwell
6ff9b48fe2 Don't special-case FOG attribute initialization.
Initial fog value was being set to {0,0,0,0}.  This results in vector
size 4, but isn't necessary.  The regular {0,0,0,1} works fine.
2007-01-15 14:30:16 +00:00
Keith Whitwell
50f76b9d9b Correctly initialize current attribute sizes.
Some legacy attributes (eg color) have an initial value other than {0,0,0,1}
which means that their initial size != 1 either.
2007-01-15 14:20:21 +00:00
keithw
82152a2a8e Remove debug, reenable inplace splitting. 2007-01-15 14:10:42 +00:00
Keith Whitwell
5464cd0a60 Split too-large draw commands.
Use the vbo_split_ functionality to split incoming drawing command
to fit within the fixed-size buffers used by software t&l module.
2007-01-15 13:54:08 +00:00
Keith Whitwell
2421b25dd7 Remove special-case handling for index and edgeflag
This isn't required with the changes to core mesa and the new
attribute layout.
2007-01-15 13:40:38 +00:00
keithw
1b7c24c33c Hook in split functionality 2007-01-15 11:58:06 +00:00
keithw
4557dfe132 Add vbo_split files 2007-01-15 11:54:40 +00:00
keithw
a38cb37913 New files to manage splitting drawing commands 2007-01-15 11:52:58 +00:00
Stephane Marchesin
4c7d36b688 nouveau: Fix a bug in the nv04 swtcl. 2007-01-15 12:38:24 +01:00
Ben Skeggs
16f35a3a22 nouveau: Add 0x0244 pciid manually for now..
pciids.sf.net is slow to add it so our generator picks it up,
and it's *really* annoying me :)
2007-01-15 17:28:56 +11:00
Ben Skeggs
634b4b3487 nouveau: fail CreateScreen on unknown cards instead of guessing. 2007-01-15 17:23:04 +11:00
Carlos Martín Nieto
89f91d1804 nouveau: Implement much of the fog handling. 2007-01-15 00:00:30 +01:00
Stephane Marchesin
e2295511f5 nouveau: Update nouveau_reg.h from renouveau to the latest version. 2007-01-14 22:39:37 +01:00
Stephane Marchesin
65e3d5e45e nouveau: Make the state cache hierarchical. 2007-01-14 21:17:08 +01:00
Stephane Marchesin
8d7e5651fb nouveau: add the nv04 swtcl module (it's untested for now). 2007-01-14 20:39:00 +01:00
Stephane Marchesin
d57ce408b3 nouveau: Cleanup the nv10 swtcl module. 2007-01-14 20:39:00 +01:00
Patrice Mandin
81bd826de8 nouveau: nv10: 16 bits color buffer format 2007-01-14 20:14:58 +01:00
Patrice Mandin
eae7acac16 Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/mesa 2007-01-14 19:56:30 +01:00
Patrice Mandin
8aabd636f5 nouveau: nv10: added missing functions 2007-01-14 19:55:45 +01:00
Jerome Glisse
9a4e49aef2 r300: Fix vertex program position invariant bug, force position reading.
When we have a position invariant program we need to force routing the
position otherwise you may handle transform quite random data which might
be funny but unlikely what you want :).
2007-01-14 19:32:22 +01:00
Jerome Glisse
6dd967e74f mesa: Update _Current ptr along Current when a new vertex program is bind.
On new vertex program bind only the Current ptr where updated to
point to the new program; this could lead to _Current pointing to
and out of date or even a no more existing program which in turn
could lead to a segfault in some driver. To avoid this _Current
ptr is updated along Current if _Current where previously pointing
to the same program.
2007-01-14 14:49:36 +01:00
Patrice Mandin
e7112be732 nouveau: remove already defined NV15_TCL and NV17_TCL 2007-01-14 14:11:10 +01:00
Patrice Mandin
86f10c7144 nouveau: import color material r,g,b,a 2007-01-14 14:09:04 +01:00
Patrice Mandin
faada2485a nouveau: nv10: stencil functions 2007-01-14 14:03:42 +01:00
Patrice Mandin
29484f24fb nouveau: nv10: currently fails initcard and bindbuffers, till done 2007-01-14 12:51:30 +01:00
Patrice Mandin
f1ad10b338 nouveau: nv10 blending done, remove nv10Viewport 2007-01-14 12:45:15 +01:00
Brian
64414ea0e9 added glUniform1fv_func, glUniform2fv_func 2007-01-13 14:51:02 -07:00
Brian
691ed5e54b Rework code related to temp register allocation, both for user variables
and expression temporarires.  Much better register utilization now.
Lots of other fixes.
The OpenGL GLSL "orange book" brick shader demo works now.
2007-01-13 14:49:52 -07:00
Brian
5daa99d2a4 slang_variable_scope now stores array of pointers to slang_variables. 2007-01-13 14:47:48 -07:00
Brian
97c7937c65 added another vec4 constructor, updated += operator 2007-01-13 14:46:12 -07:00
Patrice Mandin
fb5f359b93 nouveau: update nv10 state 2007-01-13 14:14:19 +01:00
Patrice Mandin
308ef2dc32 nouveau: Add clear color for nv10 2007-01-13 13:56:18 +01:00
Patrice Mandin
ca75853f9d nv10 has alpha color mask 2007-01-13 13:22:03 +01:00
Brian
95a441112e Fix a problem with inlined "return" statements. Make some attempt to free temporaries. 2007-01-11 11:22:26 -07:00
Brian
063f3f7fc4 disable some code that'll eventually go away 2007-01-11 11:21:38 -07:00
Brian
749ed66549 new vec3 constructor, replace float_add w/ vec4_add 2007-01-11 11:20:23 -07:00
Brian
c8e148e38c tweak output 2007-01-11 11:19:11 -07:00
Jerome Glisse
b55f1ec9af Fix typo from commit 1d312ae013 . 2007-01-11 12:54:42 +01:00
Brian
c0c31024a3 checkpoint: codegen for global vars/constants now working 2007-01-10 13:51:48 -07:00
Brian
88e2dbfd10 checkpoint: codegen for global vars w/ initializers 2007-01-10 13:33:38 -07:00
Brian
8a48f35574 assorted code clean-ups 2007-01-10 12:18:50 -07:00
Brian
ee11842bfc fix size bug in _mesa_add_attribute() 2007-01-10 12:18:33 -07:00
Brian
29bff4e12d simplify _mesa_add_state_reference() 2007-01-10 08:37:59 -07:00
Brian
88f7212312 Update _save_VertexAttrib() functions for non-aliasing behaviour. 2007-01-10 08:15:35 -07:00
Brian
01a91eb657 get rid of STATE_USER_ATTRIB/STATE_AUTO_ATTRIB 2007-01-09 19:26:22 -07:00
Brian
b7978af693 clean up a bunch of program parameter stuff 2007-01-09 19:17:17 -07:00
Brian
cc858bfa84 added a few more 2.0 functions 2007-01-09 17:49:53 -07:00
Brian
3209c3ed0d Implement vertex attribute binding.
Users can set explicit binding with glBindAttribLocation(), otherwise the
linker will allocate generic attribute slots.
2007-01-09 17:49:24 -07:00
Brian
5e75db12d7 more debug code (disabled) 2007-01-09 17:47:13 -07:00
Brian
e8673143ea add code for generic attributes 16..31 2007-01-09 17:46:45 -07:00
Eric Anholt
3dd243c59e Track rename of DamagePost -> DamageAdd. 2007-01-09 16:39:10 -08:00
Brian
048412473b added _mesa_count_texture_indirections(), _mesa_count_texture_instructions() 2007-01-09 11:00:47 -07:00
Brian
21f99792a9 Moved NumTexInstructions, NumTexIndirections, etc. into gl_program since
they can now apply to vertex programs.
2007-01-09 11:00:21 -07:00
Brian
ae80d13f6d remove old comment 2007-01-09 10:10:59 -07:00
Brian
829da4c345 Vertex program texture samplers done, but untested (need to add TEX/TXB to
the T&L vertex program interpreter).
2007-01-09 09:31:30 -07:00
Brian
855ebb26d1 Implement shadow samplers and dFdx(), dFdy() code generation. 2007-01-09 09:14:32 -07:00
Roland Scheidegger
96c5db5f7a put back missing Driver.PolygonMode call (bug 9578) 2007-01-09 14:42:22 +01:00
Michel Dänzer
dfabf96607 i915tex: Remove unused tex_program field. 2007-01-09 12:46:50 +01:00
Michel Dänzer
92fb742065 intel_finalize_mipmap_tree: Only flush batchbuffer when necessary. 2007-01-09 12:46:50 +01:00
Brian
20aec24ac7 implement biased texture functions 2007-01-08 16:56:52 -07:00
Brian
41a4e828d9 check if _Current == NULL for TXB 2007-01-08 16:49:43 -07:00
Brian
8cad795a80 added 1D texture functions 2007-01-08 16:10:55 -07:00
Brian
9a78ef980d Remove if (tObj) conditional so that texture units without a texture image
return black (0,0,0,1) when sampled.
2007-01-08 16:10:34 -07:00
Brian
85e0634b54 update texture1D functions 2007-01-08 16:02:40 -07:00
Brian
42153d7858 Implement projective texture sampling, 3D textures. Disable some debug output. 2007-01-08 15:58:14 -07:00
Brian
483ca39bca Move some code around, add some comments. 2007-01-08 14:11:54 -07:00
Brian
d3fe7398e3 Move storage allocation functions from slang_emit.c to slang_codegen.c 2007-01-08 14:06:00 -07:00
Brian
27cc9068ce checkpoint: more work on variable/storage allocation 2007-01-08 13:36:53 -07:00
Brian
cf4d4342c9 Checkpoint: re-org of (global) variable allocation code. More to come... 2007-01-08 13:09:47 -07:00
Keith Packard
a27d3e43fe Merge branch 'master' into crestline 2007-01-07 23:03:01 -08:00
Keith Packard
d9dd9013a8 Merge branch 'origin' 2007-01-07 23:00:48 -08:00
Keith Packard
6a632de96d Merge branch 'origin' into crestline 2007-01-07 20:57:56 -08:00
Ben Skeggs
026939b008 nouveau: allow the use of multiple subchannels/objects by default. 2007-01-08 11:54:39 +11:00
Keith Packard
92de58f001 Merge branch 'master' into crestline 2007-01-06 17:14:14 -08:00
Keith Packard
62db3cc349 Various warning fixes for i965 driver.
vertex/fragment programs provided as const.
bmSetFenceLock should return bmSetFence value.
2007-01-06 17:13:45 -08:00
Keith Packard
9311c29558 Initialize GL_ARB_occlusion_query only if DRM support is present.
DRM versions before 1.8 do not include the necessary ioctls to support
GL_ARB_occlusion_query, don't enable it on these versions.
2007-01-06 17:13:29 -08:00
Wang Zhenyu
caf8010652 Merge branch 'master' into crestline
Conflicts:

	src/mesa/drivers/dri/i965/brw_tex_layout.c

Michel Dänzer replaced the copy of the 945 mipmap layout code with that from
the 945 driver directly.
2007-01-06 15:49:23 -08:00
Haihao Xiang
8c1cc5fd80 i965: Support linear format in i965.
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:44:57 -08:00
Zou Nan hai
ef02f8be10 i965: xdemos/glxthreads get: Assertion `block->fenced' failed (9201)
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:18:23 -08:00
Zou Nan hai
652ae2c376 i965: Take clip rects into account when computing max prim
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:18:23 -08:00
Wang Zhenyu
4068e2d1b7 i965: ARB_occlusion_query support
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:18:23 -08:00
Eric Anholt
1b9f78195f i965: Avoid branch instructions while in single program flow mode.
There is an errata for Broadwater that threads don't have the instruction/loop
mask stacks initialized on thread spawn.  In single program flow mode, those
stacks are not writable, so we can't initialize them.  However, they do get
read during ELSE and ENDIF instructions.  So, instead, replace branch
instructions in single program flow mode with predicated jumps (ADD to the ip
register), avoiding use of the more complicated branch instructions that may
fail.  This is also a minor optimization as no ENDIF equivalent is necessary.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:18:23 -08:00
Eric Anholt
e54ec49155 i965: Connect INTEL_DEBUG=sync up to cmd/batch ioctls.
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 15:18:22 -08:00
Brian
f1fbaf39ff Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-01-06 14:55:07 -07:00
Brian
ade39f53f6 document 32-bit Z line/point fix 2007-01-06 12:58:28 -07:00
Brian
113b0a7f2e Use GLuint instead of GLint to store intermediate Z values. Fixes problems when using 32-bit Z buffer. 2007-01-06 12:55:17 -07:00
Eric Anholt
c2b185cff8 Add reporting of damage by DRI drivers when the extension support is available.
With this, tools like ximagesrc in gstreamer correctly see updates from GL
rendering.  Support requires that the Xdamage library be current (but will be
disabled if not present) plus a new X Server with support for the new
XDamagePost request.  libGL now has a new interface version, and also links
against libXdamage and libXfixes to support it, but backwards compatibility
is retained.

Currently, all drivers report damage at SwapBuffers time through common code --
front buffer rendering doesn't result in damage being reported.  Also, the
damage is against the root window, as our drivers don't yet render to backing
store when they should (composited environments).
2007-01-05 18:23:57 -08:00
Brian
5cf7326132 Checkpoint glsl compiler work: sampler uniforms now implemented, linked properly. 2007-01-05 16:02:45 -07:00
Brian
b2ab693d68 added PROGRAM_SAMPLER 2007-01-05 16:01:43 -07:00
Brian
eef70ff79a added Sampler field to prog_instruction struct 2007-01-05 16:01:26 -07:00
Brian
288c5396e6 added PROGRAM_SAMPLER 2007-01-05 16:01:11 -07:00
Brian
9805e76744 added _mesa_add_sampler() 2007-01-05 16:00:57 -07:00
Brian
b530d96216 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-01-05 08:42:45 -07:00
Brian
24cf67fc73 document VBO bug fix 9445 2007-01-05 08:41:16 -07:00
Brian
7da7404fdf Fix glPush/PopClientAttrib() for VBO state (bug 9445). 2007-01-05 08:40:06 -07:00
Ian Romanick
16f0efca60 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa 2007-01-04 18:37:10 -08:00
Brian
4cc90ee0b0 update TexturesUsed[] in slang_update_inputs_outputs() 2007-01-04 17:44:04 -07:00
Brian
4428e8f20f update TexturesUsed[] in slang_update_inputs_outputs() 2007-01-04 17:43:53 -07:00
Brian
64f78dd6a8 compute InputsRead/OutputsWritten with slang_update_inputs_outputs() 2007-01-04 17:30:30 -07:00
Brian
c9db223f90 move TexturesUsed[] into gl_program since vertex programs/shaders can use textures nowadays 2007-01-04 17:22:19 -07:00
Brian
7edd2ecb55 simplify update_texture_state() a bit, compute _EnabledCoordUnits for shaders 2007-01-04 16:19:54 -07:00
Ian Romanick
5ca107a4f2 Use glxbyteorder.h in server-side source files. 2007-01-04 14:53:48 -08:00
Ian Romanick
6d29e1de73 Hack indent flags for indirect_reqsize.h to eliminate extra diffs. 2007-01-04 14:52:53 -08:00
Ian Romanick
92be800146 Add missing files to server generation list.
The files indirect_reqsize.c and indirect_reqsize.h were missing from
the list of files to be generated for the server.  Add them back to
the list.  Also, update the INDENT_FLAGS to prevent conversion of
'GLbyte *pc' to 'GLbyte * pc' in function prototypes.
2007-01-04 14:47:41 -08:00
Brian
ff81f074fb minor formatting fix 2007-01-04 15:25:29 -07:00
Brian
de03fe4a3f added texture attribs in slang_find_input() 2007-01-04 15:06:50 -07:00
Brian
7b4d10b4a3 added glUniform1i_func 2007-01-04 14:40:56 -07:00
Brian
e640300602 initial code to get texture sampling limping along 2007-01-04 14:40:02 -07:00
Brian
6a92d98d1a temporary disable some memory deallocations to work around a memory corruption bug 2007-01-04 14:38:45 -07:00
Brian
89dc48569a finish some loose ends in _mesa_uniform() 2007-01-04 14:35:44 -07:00
Brian
602045fd7b update_texture_state() updated for new shaders 2007-01-04 14:33:42 -07:00
Jerome Glisse
1d312ae013 r300: Correct bug introduced by fragprog rework.
Thx for Tilman who spoted the bugs.
2007-01-04 20:31:35 +01:00
Brian
439758353a Fix some incorrect GL error values. Reorganize _mesa_compile_shader() code. 2007-01-04 08:21:09 -07:00
Brian
8d287d0f5e s/unsigned/size_t/ (Matthias Hopf) 2007-01-04 07:53:32 -07:00
Patrice Mandin
bbfd963f49 Update spot light params 2007-01-02 14:31:16 +01:00
Ben Skeggs
254ce75ac3 nouveau: bump drm patchlevel. 2007-01-02 15:59:05 +11:00
Dave Airlie
b6becfae10 fix issue with i915tex advertising visuals it can't support
This may not be the proper way to fix this but it does work easily.
2006-12-31 10:01:17 +11:00
Haihao Xiang
3943d7f8b1 Use the tiled flag in the sarea to determine region tiling.
This fixes mis-rendering if back/depth fail to get set up as tiled.  While it
probably won't ever be the case now that the pitch limits are loosened, this is
still the right thing to do.
2006-12-30 10:30:42 -08:00
Ben Skeggs
8c180c72d5 nouveau: Use bufferobj interface for fragment program uploads 2006-12-27 23:53:26 +11:00
Ben Skeggs
9a20ae70ec nouveau: Initial buffer object support 2006-12-27 23:53:25 +11:00
Ben Skeggs
1780fd4eee nouveau: We'll need syncNotifier for NV_MEMORY_TO_MEMORY_FORMAT too. 2006-12-27 23:53:25 +11:00
Ben Skeggs
885a7cc38d nouveau: add nouveau_mem_alloc/free debugging 2006-12-27 23:53:25 +11:00
Ben Skeggs
2dd3753450 nouveau: record *actual* type of memory that was alloc'd, not the requested types. 2006-12-27 23:53:25 +11:00
Ben Skeggs
7b59a424b5 nouveau: Typo 2006-12-27 23:53:25 +11:00
Ben Skeggs
297a35eb69 nouveau: Add simple wrapper for NV_MEMORY_TO_MEMORY_FORMAT. 2006-12-27 23:53:25 +11:00
Nian Wu
f34cad0f97 Merge branch 'crestline' into crestline-qa 2006-12-26 16:46:51 -08:00
Haihao Xiang
adccb084df Support linear format in i965.
Fix bug #117 #118
2006-12-26 16:45:02 -08:00
Jerome Glisse
2dccca57e4 Deleted unused file which likely have be reintroduced during git move.
This file was deleted longtime ago, guess that git migration
created it again.
2006-12-26 18:42:17 +01:00
Ben Skeggs
257e3d1d59 nouveau: Make use of NOUVEAU_DEBUG for shader disasm 2006-12-26 22:03:12 +11:00
Ben Skeggs
3fcb7d388d nouveau: Make the notifier stuff actually work.. 2006-12-26 21:36:15 +11:00
Ben Skeggs
0b2b2de6cf nouveau: Wait on notifier to check for completion of previous commands.
We can't wait on NV_PGRAPH_STATUS.  We don't have the regs mapped, and there's
no guarantee that we'll catch PGRAPH idle when multiple channels are active.
2006-12-26 21:36:15 +11:00
Ben Skeggs
c0a63d8e5e nouveau: Add notifier support functions 2006-12-26 21:36:15 +11:00
Jerome Glisse
b8769f318f Rework r300 fragprog avoid using bitfield structure.
It seems that bitfield structure lead to some strange
problem on 64bits arch, don't want to waste time debugging
strange things like that so converted pfs_reg_t structure
to a GLuint and use good old masking and shifting spell.
(cherry picked from 2a7de9d095d8e60da12b11aaa1efe664b87b11d3 commit)
2006-12-25 23:40:20 +01:00
Ben Skeggs
d79323bd42 nouveau: Kill some compile warnings. 2006-12-24 00:50:13 +11:00
Ben Skeggs
f54c725497 nouveau: Modify span routines to use nouveau_renderbuffer instead of driRenderbuffer 2006-12-24 00:13:34 +11:00
Ben Skeggs
cb6a400dcd nouveau: maintain numClipRects/pClipRects in context. 2006-12-23 23:51:24 +11:00
Ben Skeggs
ae8d8d1326 nouveau: Don't fill nrb->dPriv for private buffers 2006-12-23 23:03:55 +11:00
Ben Skeggs
1dd6759c05 nouveau: get 16bpp working 2006-12-23 10:56:19 +11:00
Brian
d8babcfc57 fix typos 2006-12-22 10:26:22 -07:00
Brian
aa710c3e6b implement unary +, - 2006-12-22 10:18:50 -07:00
Brian
9b694589e9 chmod a-x 2006-12-21 18:12:03 -07:00
Brian
01f2e7f62f checkpoint: pre/post incr/decr operators 2006-12-21 18:05:06 -07:00
Brian
392d9701e3 added INTERP_VARYING code 2006-12-21 17:50:22 -07:00
Brian
eb2a6d62f9 s/attribute/varying/ 2006-12-21 17:50:07 -07:00
Brian
2905385744 comment about uniforms 2006-12-21 11:21:26 -07:00
Brian
58af54c767 checkpoint: rewrite vec/mat products 2006-12-21 10:56:09 -07:00
Brian
c155ae1dfe fix typos 2006-12-21 10:49:27 -07:00
Brian
a0d6b506cd added IR_NEG for negation 2006-12-21 10:47:28 -07:00
Brian
356f8ea213 checkpoint: matrix/float, unary negation rewrite 2006-12-21 10:45:49 -07:00
George Sapountzis
b766643e5c Drop mesa wrappers for XFree86. 2006-12-21 19:41:08 +02:00
Brian
c73e07405c checkpoint: ivec/int and mat/mat operations 2006-12-21 10:03:15 -07:00
Brian
bb1bf8b3aa checkpoint: more basic math rewritting 2006-12-21 09:40:08 -07:00
Sean D'Epagnier
af0190bc6e Updated keyboard input so that glut programs can read from stdin without
problems if tty input is used.  Also corrected a few stdin keycodes.
2006-12-21 01:50:33 -07:00
Brian
a33532f5f4 checkpoint: re-org assignment operator functions 2006-12-20 18:04:59 -07:00
Brian
1ff1e89ff4 added glUniformMatrix2/3fv_func 2006-12-20 17:56:29 -07:00
Brian
cec316c9eb checkpoint: more basic math operator re-org 2006-12-20 17:55:42 -07:00
Brian
8d239a6880 Checkpoing: re-organization of basic arithmetic functions. 2006-12-20 17:43:56 -07:00
Brian
2a62cbd24b handle PROGRAM_UNIFORM, fix a _mesa_problem() call 2006-12-20 17:19:45 -07:00
Brian
3a8e2776a6 Uniform matrix support.
Implement _mesa_uniform_matrix()
Support for program parameters/uniforms with more than 4 elements.
Store 4x4 matrices in column-major order in registers.
Update mat mul built-in functions accordingly.
2006-12-20 17:19:16 -07:00
Brian
83ca3ff384 added _mesa_print_parameter_list() 2006-12-20 17:17:38 -07:00
Brian
2cc7dba718 New IR_COND node for evaluating conditional expressions (for if/while/for). 2006-12-20 12:41:59 -07:00
Brian
79a340bc15 use cast wrappers for sanity checking 2006-12-20 09:57:56 -07:00
Brian
f2923613a4 code re-org 2006-12-20 09:56:44 -07:00
Brian
d881a9c136 Minor clean-ups, reformatting, comment changes. 2006-12-20 09:31:07 -07:00
Brian
9e4bae9cca Fix shader object reference counting and hash table deallocation. 2006-12-20 09:27:42 -07:00
Brian
65a18442e5 Clean-up and re-org of the main GLSL object types.
Use the gl_shader struct as it should be.
Renamed gl_linked_program to gl_shader_program.
Store both shaders and programs in the same hash table and use the Type field
to distinguish them.
2006-12-19 18:46:56 -07:00
Brian
0bf5dbe002 Overhaul of GLSL API functions, dispatching, etc. 2006-12-19 18:02:41 -07:00
Brian
5b01c5e9d2 Overhaul of GLSL API functions, dispatching, etc. 2006-12-19 18:02:03 -07:00
Brian
46b06bdb26 Massive re-org of GLSL-related API functions.
Added new GLSL functions to struct dd_function_table.
main/shaders.c calls GLSL functions through the dd_function_table.
shader/shader_api.c implements the API functions.
Other assorted changes, fixes everywhere else.
2006-12-19 17:59:32 -07:00
Dave Airlie
e3358dea66 Merge branch 'nouveau-import' 2006-12-20 09:30:32 +11:00
Brian
2e76f0a846 check for null Parameters ptr in _mesa_clone_program() 2006-12-19 09:52:07 -07:00
Brian
af1d46b68a lots of clean-up and re-org 2006-12-19 08:59:51 -07:00
Brian
bb8f7627f7 additional error checking 2006-12-19 08:59:36 -07:00
Brian
8473ae475f new error msg 2006-12-19 08:59:19 -07:00
Brian
194bc5afbd rewrite +=, -= etc for floats 2006-12-19 08:58:56 -07:00
Brian
8e20c417d4 Implement array indexing of simple vec2/3/4 types. A bit of a hack for now... 2006-12-18 17:54:58 -07:00
Brian
d22079217c Added instruction counter to catch infinite loops (temporary). 2006-12-18 16:22:27 -07:00
Brian
b50280e95f Check for inst->CondUpdate, print .C suffix. 2006-12-18 16:21:58 -07:00
Brian
fbb71da2b9 Generate IR code for for/while loops, break and continue statements. 2006-12-18 14:45:26 -07:00
Brian
1aee657b0f Implement if-conditionals and while loops, added temporary resolve-branches function in linker. 2006-12-18 10:05:24 -07:00
Brian
34ae99d604 GLSL API functions. 2006-12-18 08:28:54 -07:00
Brian
ad2519ac6b Use _mesa_free_linked_program_data() 2006-12-18 08:28:06 -07:00
Brian
962a9f2f9d comments 2006-12-18 08:25:23 -07:00
Nian Wu
ead0f46d5f Merge branch 'crestline' into crestline-qa 2006-12-17 10:49:43 -08:00
Ben Skeggs
53d40646bd Don't build passthrough shader on <NV40 2006-12-17 03:38:21 +00:00
Brian
0031ea7d85 fix comment, handle NOP 2006-12-16 12:52:55 -07:00
Brian
f7159552ae Initial code for conditional constructs. 2006-12-16 12:52:19 -07:00
Brian
3a2815370d print BRA instructions 2006-12-16 12:51:34 -07:00
Brian
3e1f4bc15b added cases for BRA, NOP 2006-12-16 12:51:12 -07:00
Brian
b456413d76 cases for NOP, BRA 2006-12-16 12:50:51 -07:00
Brian
b497a0cb7c Don't update span->array->z[] values from SLANG_FRAGMENT_FIXED_FRAGDEPTH.
This restores the behaviour of Mesa 6.5.1, fixing a regression in 6.5.2.
See bug 9345.  Revisit someday...
2006-12-16 11:17:41 -07:00
Brian
6ec4a03b9f initial release notes for 6.5.3 2006-12-16 11:09:14 -07:00
Brian
6d982e53ee don't allow fog when using a fragment shader (bug 9346) 2006-12-16 11:07:00 -07:00
Ben Skeggs
de947e8a5b Get nv10_swtcl.c working enough for glxgears on NV40. 2006-12-16 12:32:11 +00:00
Brian
a4be104887 start implementing relational operators 2006-12-15 17:05:53 -07:00
Brian
cb7ccc4b14 start rewriting the matrix/vector functions 2006-12-15 16:47:42 -07:00
Brian
f167d0e7d5 added assertion to catch use of too many temporaries 2006-12-15 15:37:32 -07:00
Brian
fa8059a89c fix double-printing of comment info 2006-12-15 15:36:29 -07:00
Brian
9b00fa9ac2 code movement 2006-12-15 15:36:09 -07:00
Brian
bfc02dd30f Lots of assorted changes.
Implement assignment/move for types larger than 4 floats.
Fix codegen bug for "return expr" in inlined functions.
More clean-up of storage allocation code (slang_resolve_storage).
2006-12-15 15:35:57 -07:00
Brian
6579245800 redo mat4 addition, mat4 constructor from vec4s 2006-12-15 15:32:11 -07:00
Gary Wong
24a495fd77 Fix copy-and-paste mistake in comment ("scaling" should read "translation").
Before _mesa_Translatef().
2006-12-15 17:18:36 -05:00
Ben Skeggs
c340dd7d84 NV1x/2x hw_func stubs. 2006-12-15 21:02:23 +00:00
Brian
4b4632f94c vertex/fragment program field changes 2006-12-15 10:10:23 -07:00
Brian
d6aff512fe varying var changes 2006-12-15 10:10:01 -07:00
Brian
464b9f4f6c varying var changes 2006-12-15 10:09:49 -07:00
Brian
9abf73b8cc varying changes 2006-12-15 10:09:33 -07:00
Brian
a7e252026d updated includes 2006-12-15 10:09:12 -07:00
Brian
60a7200c0d updated includes 2006-12-15 10:08:59 -07:00
Brian
89f88058b9 use MAX_VARYING 2006-12-15 10:08:24 -07:00
Brian
e3b2668865 use MAX_VARYING 2006-12-15 10:08:15 -07:00
Brian
a7a582296b more debug output 2006-12-15 10:08:02 -07:00
Brian
a90046f109 Lots of assorted changes for new GLSL compiler backend.
New datatypes, constants, variables.
2006-12-15 10:07:26 -07:00
Brian
becb393d42 Use extfuncs.h helper. Added command line options for loading
vertex/fragment shaders from files.
2006-12-15 09:31:14 -07:00
Brian
e55b771a1e simple extension function wrangler 2006-12-15 09:30:31 -07:00
Brian
39adc30250 change/add/rm several filenames 2006-12-15 08:55:49 -07:00
Brian
c968d3d410 Renamed s_nvfragprog.[ch] to s_fragprog.[ch] 2006-12-15 08:50:02 -07:00
Brian
b78fb7abaf Renamed s_nvfragprog.[ch] to s_fragprog.[ch], program_instruction.h to prog_instruction.h 2006-12-15 08:49:27 -07:00
Brian
6232438acb remove unneeded includes 2006-12-14 15:54:01 -07:00
Brian
885afd59ec remove unneeded includes 2006-12-14 15:53:49 -07:00
Brian
2c1f975852 remove unneded includes 2006-12-14 15:50:34 -07:00
Brian
901c1bb402 remove some unneeded includes 2006-12-14 15:49:09 -07:00
Brian
0831ef5038 include prog_print.h 2006-12-14 15:47:54 -07:00
Brian
cc6a141dc1 Remove some moved extern decls. 2006-12-14 15:47:34 -07:00
Brian
464b82b1e6 Move some code from prog_print.c to prog_instruction.c 2006-12-14 15:47:08 -07:00
Brian
0ae7404835 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2006-12-14 15:20:15 -07:00
Brian
865f88afc0 Renamed from s_nvfragprog.[ch] 2006-12-14 15:14:14 -07:00
Brian
49f82803cc Updated includes. 2006-12-14 15:13:06 -07:00
Brian
60417b646d chmod a-x 2006-12-14 15:03:33 -07:00
Brian
57d9531cd6 Updated includes. 2006-12-14 15:03:04 -07:00
Brian
c0551f0a46 Updated includes. 2006-12-14 15:02:37 -07:00
Brian
a7a89e362b Updated #includes after splitting program.h 2006-12-14 15:02:19 -07:00
Brian
0560d81ce9 Move many functions into new files. 2006-12-14 15:01:28 -07:00
Brian
00cdc0a472 Split the program.[ch] files into several new files. 2006-12-14 15:01:06 -07:00
Brian
5cc1292508 Replace __extension__ with LONGSTRING. 2006-12-14 14:27:05 -07:00
Brian
200736ebd8 Modify _mesa_strdup() so it handles NULL correctly. 2006-12-14 13:59:53 -07:00
Brian
cc0c8b2248 Updates for new linker (merged varying/uniform vars). 2006-12-14 13:59:25 -07:00
Brian
ef264c2971 Assorted fix-ups for the new linker.
Disable some of the excessive debug output.
2006-12-14 13:58:57 -07:00
Brian
d4f7e4cc01 The new linker actually does a few things right now:
The varying vars used by the vertex and fragment shader are merged so they
agree.
Similarly, uniforms are merged (along with constants, etc).
The vertex/fragment program instructions are then cloned and rewritten
with the newly resolved uniform/varying locations.
2006-12-14 13:58:32 -07:00
Brian
b2a3a8554a New functions for cloning programs and parameter lists. 2006-12-14 13:56:58 -07:00
Brian
e7e4181361 Remove include of s_arbshader.h 2006-12-14 09:51:54 -07:00
Brian
b56a5261fe Check in a long-misplaced spec update. 2006-12-14 09:38:06 -07:00
Michel Dänzer
fde908444a Fix copy-and-paste-o of my e-mail address. 2006-12-14 12:57:59 +01:00
Michel Dänzer
e0c9361a7c Avoid failing assertion in intel_miptree_set_image_offset() with cube maps.
Cube maps still aren't working quite correctly though.
2006-12-14 12:47:44 +01:00
Michel Dänzer
81855f22cd Fix some corner cases in i945_miptree_layout_2d().
Based on a patch from Keith Whitwell, with some further fixes.
2006-12-14 12:42:51 +01:00
Michel Dänzer
3416ef303a Share code to lay out >= 945 style 2D mipmaps between i915tex and i965 drivers.
Use the i965 version as it has some fixes over the i915tex version.
2006-12-14 12:39:38 +01:00
Michel Dänzer
cc1afed671 intel_finalize_mipmap_tree: Add more conditions for rebuilding mipmap trees.
These are taken from the i965 driver and fix corruption of some mipmap levels
under some circumsances with 945 chipsets at least.

Also flush the batchbuffer after copying data between trees, or some apps fail
an assertion elsewhere.
2006-12-14 11:04:10 +01:00
Michel Dänzer
5f8a3e586f intel_batchbuffer_flush: Don't assert cliprects when lock is not held.
This is a legitimate situation when copying texture data between mipmap trees.
2006-12-14 11:01:39 +01:00
Michel Dänzer
4cb09df015 intelTexSubimage: Fix last parameter for intel_miptree_image_map(). 2006-12-14 11:01:38 +01:00
Michel Dänzer
9c09259b8b _mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.
This fixes texture data corruption with glTexSubimage (and probably glTexImage
under some circumstances) with the texstore swizzle path.
2006-12-14 11:01:38 +01:00
Michel Dänzer
78a6e05439 mipmap_limits: Fix display of current texture filtering mode. 2006-12-14 11:01:38 +01:00
Ben Skeggs
99878298da Improve SwapBuffers a bit. 2006-12-14 04:34:38 +00:00
Ben Skeggs
c95557f48b 0x4497 doesn't have NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE 2006-12-14 04:12:05 +00:00
Ben Skeggs
15c7e8896b Some more voodoo to get 3D going with a minimal initial context. 2006-12-14 03:24:57 +00:00
Brian
2a9950dcb3 Remove unneeded -I directories (3Dlabs headers). 2006-12-13 19:20:45 -07:00
Roland Scheidegger
2956a0c8a8 submit vertex weights to make World of Warcraft maybe happy (bug 8250)
submit the vertex weights to hw, which will enable broken vertex programs
errorneously using them to work. Note however that this will only work
if glWeight is used, there is no code in mesa at all to deal with weight
vertex array (glWeightPointerARB).
2006-12-14 00:34:44 +01:00
Brian
2cbfbcd972 Obsolete. 2006-12-13 15:38:07 -07:00
Brian
33ae886bbd Remove unused 3Dlabs code. 2006-12-13 15:36:26 -07:00
Brian
aed4f2cc2c Remove unused 3Dlabs code. 2006-12-13 15:36:00 -07:00
Brian
05dab5eaa2 Checkpoint GLSL compiler work. Add new sources, remove obsolete. 2006-12-13 15:34:10 -07:00
Brian
1fbb1c8d78 Obsolete. 2006-12-13 15:33:41 -07:00
Brian
a5011d9753 Not needed. 2006-12-13 15:33:09 -07:00
Brian
8dcfcad7a2 Move all the code for computing ctx->_TriangleCaps into state.c.
ctx->_TriangleCaps should probably go away altogether someday...
2006-12-13 15:31:14 -07:00
Brian
cefc983bec Retire old GLSL shader code. 2006-12-13 15:06:28 -07:00
Brian
12ef1fbefc Checkpoint for GLSL compiler changes.
In brief:
Check for enabled fragment program by looking at ctx->FragmentProgram._Current.
New code for varying variables.
2006-12-13 15:05:23 -07:00
Brian
a328e469d3 Checkpoint work for new GLSL compiler back-end.
Among changes:
Remove ctx->FragmentProgram._Active
Remove _UseTexEnvProgram
Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and
_TnlProgram fields.
Remove/disable old GLSL interpreter code.
2006-12-13 14:58:13 -07:00
Brian
fe1d01cb39 Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes. 2006-12-13 14:54:47 -07:00
Brian
8627bf1452 Rewrite/simplify most built-in functions to use updated set of __asm instructions. 2006-12-13 14:49:41 -07:00
Nian Wu
77b862a849 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2006-12-13 13:49:00 -08:00
Brian
aff8e204d2 Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly instructions. 2006-12-13 14:48:36 -07:00
Zou Nan hai
ed7fbad206 Fix bug #93, i965 driver not thread safe.
I am not confident of it is 100% thread safe now.
  bufmgr_fake.c need a total rewrite later
(cherry picked from 606632ca27558ee1335be2f4a5906f2baa240a6a commit)
2006-12-13 13:29:37 -08:00
Zou Nan hai
4720cd0050 fix bug #99.
prim_count overflow when there is more than 1 cliprect
(cherry picked from 84b958d66fe7d3fe03ed12b493e3f3197f656531 commit)
2006-12-13 13:29:20 -08:00
Michel Dänzer
c9795c6ca2 minstall: Pass correct destination file path to $RM regardless of source path.
(cherry picked from 26626c0052 commit)
2006-12-13 13:26:09 -08:00
Michel Dänzer
bce82efe1f minstall: Always remove destination file before (re-)creating it.
This avoids issues with overwriting files that are being used.
(cherry picked from d71a5647a3 commit)
2006-12-13 13:25:42 -08:00
Zou Nan hai
aeda4c589a ARB_occlusion_query support 2006-12-13 13:25:12 -08:00
Zou Nan hai
696fe3f52e if (tex width < 4), mipmap calculation will be out of range 2006-12-13 13:24:35 -08:00
Brian
6c305c0831 Remove the xdemo.c program from PROGS since it doesn't work with GLX/DRI. 2006-12-13 08:57:06 -07:00
Brian
73eee2402e Use XDisplayName() when reporting errors (bug 8079). 2006-12-13 08:30:26 -07:00
Zou Nan hai
c34d026eb0 Fix bug #93 2006-12-13 15:27:17 +08:00
George Sapountzis
5b35132b41 Bug 7260: mach64 texture memory mng cleanup
mach64 uses its own set of texture memory management routines which are buggy,
running a second DRI client kills the first one. This patch ports mach64 code
to the stock dri texture managment code.
2006-12-12 12:51:37 +02:00
George Sapountzis
c180678d92 Bug 7861: mach64 with render acceleration should restore texture state
RENDER acceleration uses texturing, thus when RENDER acceleration is enabled,
the mach64 DRI driver should restore texture state when acquiring the DRI lock.
2006-12-12 12:51:33 +02:00
George Sapountzis
eed1a6de4b Bug 7790: Polygons incorrectly clipped by mach64 driver
un-break strict-aliasing rules
2006-12-12 12:51:27 +02:00
Zou Nan hai
de90bbd0b7 fix for bug #99 2006-12-12 15:00:27 +08:00
Eric Anholt
d214138910 Merge branch 'origin' into crestline 2006-12-11 10:50:25 -08:00
Michel Dänzer
26626c0052 minstall: Pass correct destination file path to $RM regardless of source path. 2006-12-11 17:45:06 +01:00
Michel Dänzer
d71a5647a3 minstall: Always remove destination file before (re-)creating it.
This avoids issues with overwriting files that are being used.
2006-12-11 17:36:35 +01:00
Wang Zhenyu
89433fef0d ARB_occlusion_query support 2006-12-11 00:01:56 -08:00
Wang Zhenyu
b4d9c0048f if (tex width < 4), mipmap calculation will be out of range 2006-12-11 00:00:51 -08:00
Eric Anholt
9a94dae4c2 Avoid branch instructions while in single program flow mode.
There is an errata for Broadwater that threads don't have the instruction/loop
mask stacks initialized on thread spawn.  In single program flow mode, those
stacks are not writable, so we can't initialize them.  However, they do get
read during ELSE and ENDIF instructions.  So, instead, replace branch
instructions in single program flow mode with predicated jumps (ADD to the ip
register), avoiding use of the more complicated branch instructions that may
fail.  This is also a minor optimization as no ENDIF equivalent is necessary.
2006-12-10 12:24:51 -08:00
Eric Anholt
183abbcd6b Connect INTEL_DEBUG=sync up to cmd/batch ioctls. 2006-12-10 12:24:46 -08:00
Wang Zhenyu
0536268267 adding pci id of Crestline 2006-12-10 12:24:40 -08:00
Eric Anholt
d7b24fec24 i965: Fix a crash with wine by not allocating >1MB on the stack. 2006-12-09 22:35:07 -08:00
Patrice Mandin
aadcf1a9ff Update spot light params also for nv20 and nv30 2006-12-08 18:56:51 +00:00
Patrice Mandin
5c80270b91 grr, always check twice before commit 2006-12-08 16:40:34 +00:00
Patrice Mandin
65c54a685a Resend spot light parameters when part of it changes 2006-12-08 16:39:12 +00:00
Ben Skeggs
c04c74bc5d Skeletal extension handling across chipsets. 2006-12-08 14:12:47 +00:00
Ben Skeggs
fe91d00e33 NV_44 uses nv30InitStateFuncs too 2006-12-08 12:36:26 +00:00
Ben Skeggs
046ece3a2d state cache is automagically flushed on a normal BEGIN_RING_SIZE 2006-12-08 11:51:50 +00:00
Ben Skeggs
e62b2f9c2e Implement a simple nv30Clear, and make sure we get a nouveau_renderbuffer
for the depth buffer and not a Mesa renderbuffer adaptor
2006-12-08 11:45:39 +00:00
Xiang, Haihao
f79360858d fix bug#9237 2006-12-08 17:05:14 +08:00
Xiang, Haihao
5449f5a975 fix bug#9045 2006-12-08 17:00:59 +08:00
Ben Skeggs
bda66ac426 oops, typo 2006-12-08 07:27:39 +00:00
Ben Skeggs
011377622f Create visuals for modes the ddx provides 2006-12-08 07:15:43 +00:00
Ben Skeggs
1d6f13986c oops, we don't want this by default just yet... 2006-12-08 03:04:10 +00:00
Ben Skeggs
4cfb762c3e Some work on buffer handling, most likely not entirely correct and
incomplete. But, it works well enough that windows can be
    moved/resized.
2006-12-08 03:01:33 +00:00
Michel Dänzer
7a10d66590 i915tex: Recalculate viewport related hardware state in intelWindowMoved().
This fixes vertically displaced rendering with some apps like Google Earth.

Simplify other parts of the function somewhat.
2006-12-07 11:03:48 +01:00
Michel Dänzer
94136651c3 Make git ignore Emacs backup files. 2006-12-06 18:39:05 +01:00
Brian
fcc54b5d34 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2006-12-06 08:20:57 -07:00
Brian
7f82674a7e Updated with new mesa-commit list. 2006-12-06 08:20:03 -07:00
Michel Dänzer
75e4cfd997 Make git ignore some more generated files. 2006-12-06 15:14:43 +01:00
Michel Dänzer
b46e359f58 glxinfo: When direct rendering is not enabled, print some hints.
If indirect rendering is forced, say how. Otherwise, suggest setting
LIBGL_DEBUG=verbose.

Inspired by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379323 .
2006-12-06 14:54:43 +01:00
Michel Dänzer
14f92636b0 Make git ignore files only generated at build time. 2006-12-06 14:17:56 +01:00
Michel Dänzer
7daf301046 Re-generate options.h with Swedish translations. 2006-12-06 14:06:52 +01:00
Daniel Nylander
e8c5e0f0b4 Swedish translation of driconf options. 2006-12-06 13:21:02 +01:00
Brian
eb9033c723 Replaced by .html file. 2006-12-05 16:36:35 -07:00
Brian
4a1976b224 Replaced by .html files. 2006-12-05 16:36:12 -07:00
Brian
492e406fec Removed/obsolete. 2006-12-05 16:27:31 -07:00
Brian
d43ccf61c2 New git repository info, links. 2006-12-05 16:14:39 -07:00
Brian
464e36391f New info about Mesa's git repository. 2006-12-05 16:14:14 -07:00
Stephane Marchesin
3867bc9780 Fix the swtcl module. 2006-12-03 11:46:18 +00:00
Patrice Mandin
f95fe81fff Remove duplicate nv10 tcl defines 2006-12-03 10:08:04 +00:00
Stephane Marchesin
d88d895e5a Merge the pciid work. Use lock step versioning with the drm. 2006-12-03 09:08:26 +00:00
Ben Skeggs
b4dcb99cbc Fix a copy+paste'o that caused some *very* strange bugs.. 2006-12-03 02:01:49 +00:00
Brian Paul
45b211f9d4 version bump 2006-12-02 19:26:01 +00:00
Brian Paul
4f3ff14a06 md5 sums 2006-12-02 19:22:16 +00:00
Ben Skeggs
98818f159b - Add InitInstruction to hw shader backend, and remove SetUnusedSource.
- NV30FP/NV40VP: Clear any fields before we OR new values into them
- NV40VP: It seems that it might be possible to write a result reg at the
    same time a temp is written. In InitInstruction, initialise OUT_DEST to
    OUT_DEST_TEMP so result regs don't get clobbered by default.
2006-11-27 01:57:37 +00:00
Ben Skeggs
2f411b0a8b Fix RSQ emulation 2006-11-26 13:18:41 +00:00
Ben Skeggs
6ff3d2577e Fix progs/fp/tri-xpd
Fragprog consts are inlined, so make sure we update *all* occurances of a
    param :)
2006-11-26 10:19:44 +00:00
Ben Skeggs
9c9e6abbf8 Incomplete shader stuff, should mostly work for NV40. Other cards, not so
much..
2006-11-25 09:58:35 +00:00
Ben Skeggs
902b26a0d6 fix scissor 2006-11-25 06:02:10 +00:00
Patrice Mandin
2911551727 nv10,nv20,nv30: send correct values for spot light direction X,Y,Z and
cutoff parameter C
2006-11-24 23:34:03 +00:00
Patrice Mandin
78e5f414cb nv10: rename spot light coefs like nv20,nv30 2006-11-24 23:23:18 +00:00
Stephane Marchesin
0faf23c26a That was really stupid. 2006-11-23 09:21:44 +00:00
Ben Skeggs
7398748add Some missing state init 2006-11-22 20:15:56 +00:00
Patrice Mandin
3e4a5c0642 Enable nv10 tcl state 2006-11-21 21:44:16 +00:00
Patrice Mandin
ac09b567a8 nv10,nv20: nvX0ShadeModel static function 2006-11-21 21:15:49 +00:00
Patrice Mandin
677666eb70 nv10,nv20,nv30: color light components renamed from a,b,c to r,g,b 2006-11-21 21:11:58 +00:00
Patrice Mandin
81ae0bd249 ah, correct revision now 2006-11-21 20:38:14 +00:00
Patrice Mandin
4ed78e20a4 update from renouveau 2006-11-21 20:29:09 +00:00
Patrice Mandin
b5e800068b nv10: update state 2006-11-21 19:56:15 +00:00
Ben Skeggs
a75440bcf0 nouveauCreateDmaObject 2006-11-21 14:03:06 +00:00
Stephane Marchesin
fb65450704 Remaining state cache changes 2006-11-21 13:07:48 +00:00
Stephane Marchesin
0ea45b1ad8 Add the state caching mechanism. It seems to work, from what I can see. 2006-11-21 12:43:16 +00:00
Jeremy Kolb
a20cf73053 More state. 2006-11-21 02:47:13 +00:00
Jeremy Kolb
afb49fef90 Add state initialization to context creation. 2006-11-20 17:25:54 +00:00
Keith Whitwell
dd60eaa6d9 Don't perform dangling attribute check on POS attribute. It can't by
definition dangle (every vertex has a position).  However
save->currentsz isn't properly maintained for this attribute, as there
is no current position value to track.  Based on patch from Haihao Xiang.
2006-11-20 11:49:58 +00:00
Stephane Marchesin
50c85daf02 Cleanup the swtcl code. 2006-11-19 23:47:24 +00:00
Stephane Marchesin
ac208c95cd Use NONINC_METHOD for vertex data. 2006-11-19 23:39:16 +00:00
Stephane Marchesin
4165a10972 More work on the swtcl 2006-11-19 23:16:29 +00:00
Stephane Marchesin
fe2e6100ec More fifo debug fixes 2006-11-19 22:16:54 +00:00
Stephane Marchesin
a8d34992ea Oops. 2006-11-19 21:51:28 +00:00
Stephane Marchesin
3613eba085 Fix the fifo debugging feature. 2006-11-19 21:29:41 +00:00
Stephane Marchesin
327e2c9220 New swtcl implementation. It's simpler than the previous one (doesn't use
templates) and it is probably faster as well
2006-11-19 20:18:45 +00:00
Ben Skeggs
a7139168d2 Don't bother touching lighting stuff if shaders are in use 2006-11-19 16:05:59 +00:00
Ben Skeggs
80a0ce37df Fix nv30LineWidth, hw expects a ubyte. 2006-11-19 15:52:18 +00:00
Ben Skeggs
a2a747704d Avoid sharing subchannels with the ddx until context switching is done
properly..
2006-11-19 15:46:31 +00:00
Ben Skeggs
b3fd1556f9 More FIFO fixes. 2006-11-19 15:45:36 +00:00
Ben Skeggs
08a0946fcc Stupid bug.. 2006-11-19 14:10:54 +00:00
Ben Skeggs
82d0fd26d4 poke the correct FIFO regs 2006-11-19 12:00:59 +00:00
Stephane Marchesin
ae9c633a21 More state functions 2006-11-18 00:36:22 +00:00
Stephane Marchesin
e722e3480f Add nv20_state.c ; hook nv10_state.c into the build ; do the renaming
required by the renouveau changes.
2006-11-18 00:19:22 +00:00
Stephane Marchesin
8532b6e0a5 Small unneeded nv03 fix 2006-11-17 22:11:13 +00:00
Ben Skeggs
08020927e8 Use RENDERINPUTS macros to access render_inputs_bitset 2006-11-17 21:58:02 +00:00
Ben Skeggs
10172f7485 Adapt FIFO code to deal with cases where the base GET/PUT value isn't 0. 2006-11-17 04:50:37 +00:00
Ben Skeggs
9daf0812a1 jkolb pointed out that face can also be FRONT_AND_BACK. Added stencil funcs 2006-11-16 23:43:39 +00:00
Ben Skeggs
0da68e2e6e Add nv30InitStateFuncs 2006-11-16 23:24:20 +00:00
Patrice Mandin
9021df2d2a nv10 state copy/pasted from nv30 state 2006-11-16 19:50:56 +00:00
Ben Skeggs
47695f0689 Fix segfault in nouveauCalcViewport 2006-11-13 16:01:03 +00:00
Jeremy Kolb
d5d00cf8c9 Add include guard. 2006-11-12 18:18:02 +00:00
Ben Skeggs
2af374716f Some more nouveau_screen.c setup, not sure how correct it is yet though.. 2006-11-12 08:38:44 +00:00
Ben Skeggs
b8e05366e1 We need nmesa->driFd and friends setup before we call nouveauFifoInit 2006-11-12 02:06:30 +00:00
Ben Skeggs
6464787bfd Dont call exit() from the DRI driver, with AIGLX this is particularly nasty 2006-11-12 02:05:40 +00:00
Ben Skeggs
d037c84c33 fix typo 2006-11-11 20:00:29 +00:00
Stephane Marchesin
f65a4b8a8d Some nouveau_screen work for darktama 2006-11-11 18:25:00 +00:00
Jeremy Kolb
4f61fd18b2 Fill in nv30PointSize and nv30Viewport. 2006-11-11 16:48:14 +00:00
Stephane Marchesin
994ea9556f Fix the texture init function name 2006-11-11 12:01:48 +00:00
Stephane Marchesin
0850289d8c Add the GL_LIGHING enable 2006-11-11 11:25:08 +00:00
Stephane Marchesin
f82bc9110b Some work on nv30 state, heavily based on jkolb's work 2006-11-11 00:00:45 +00:00
Stephane Marchesin
20802a7b69 Commit a small nitpick 2006-11-07 17:37:22 +00:00
Stephane Marchesin
e2b4d9b317 Architect the DRI :
- make use of the autogenerated nouveau_reg.h file
- add object creation to the DRI
- some work on screen and context creation
2006-11-05 13:46:48 +00:00
Keith Whitwell
188a4db49c Fix compiler warnings.
Add missing code for translating non-GLuint elements.
2006-11-03 13:04:08 +00:00
Roland Scheidegger
c3da1501b8 need to call bind_arrays() in vbo_exec_DrawRangeElements. 2006-11-03 12:33:29 +00:00
Roland Scheidegger
25b2e50229 remove remaining traces of r200FlushVertices... 2006-11-03 12:30:55 +00:00
Jerome Glisse
a93f4a7310 Move r300 to new fbo interface based on Keith Whithwell.
Tested with progs/redbook/varray.
2006-11-02 20:44:03 +00:00
Keith Whitwell
7e9c3684ef Fix type-conversion of incoming vertices.
Fix mis-application of increment to pointer variable.
2006-11-02 19:11:16 +00:00
Keith Whitwell
01e238e5d5 Fix typo in last commit 2006-11-02 19:02:04 +00:00
Keith Whitwell
301acdf34a Similarly, fill in missing input slots in the vertex-array +
NV_vertex_program path.
2006-11-02 18:02:17 +00:00
Keith Whitwell
5a652f5957 Fill in missing input slots in the vertex-array + no-vertex-program
path.
2006-11-02 18:00:43 +00:00
Alan Hourihane
6d104cb932 merge current trunk into vbo branch 2006-11-02 12:02:13 +00:00
Keith Whitwell
18d52f96bb Fix typo in display list attrib binding. 2006-11-02 11:40:56 +00:00
Keith Whitwell
9827dc8bea Respect array->Normalized flag.
Import edgeflag attribute to array of GLbooleans as expected by
downstream code.
2006-11-02 09:48:30 +00:00
Keith Whitwell
c22f8a7787 missing file 2006-11-02 08:37:17 +00:00
Jeremy Kolb
1ebe921228 Added OUT_RING* debugging macros. Compile with NOUVEAU_RING_DEBUG to use. 2006-11-01 02:48:34 +00:00
Jeremy Kolb
2d2d617dbc Oops. Forgot to check in the context change. 2006-11-01 02:45:12 +00:00
Jeremy Kolb
2581ba7f1e Fix compile errors. Add vblank_seq to nouveau_context. 2006-11-01 02:44:27 +00:00
Keith Whitwell
35ee4affc5 switch remaining drivers over to vbo 2006-10-31 12:12:15 +00:00
Keith Whitwell
851d15ef3a disable vtxfmt_a code, switch over to vbo 2006-10-31 12:11:56 +00:00
Keith Whitwell
80c88304fc remove vtxfmt code, switch over to vbo 2006-10-31 12:11:10 +00:00
Keith Whitwell
70dd0126bd pickup structs from vbo.h 2006-10-31 11:40:31 +00:00
Keith Whitwell
1f07439fe8 move public structure definitions to vbo.h 2006-10-31 11:39:57 +00:00
Keith Whitwell
f2eb6434ab cleanup code, compiles with vbo changes 2006-10-31 11:28:45 +00:00
Keith Whitwell
a1a8a2c024 oops, get.c is autogenerated 2006-10-30 20:29:13 +00:00
Keith Whitwell
fd2756006a Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
NV_vertex_program implementation has slightly incorrect aliasing
behaviour.  I think this is reasonable given the simplification and
the fact that the mainstream ARB_vp continues to have the correct
behaviour.
2006-10-30 20:16:35 +00:00
Keith Whitwell
e8abd098b3 Remove wakeup functions. This code is intended to be active all the
time.
2006-10-30 17:12:05 +00:00
Keith Whitwell
48f5deab94 switch several dri drivers over 2006-10-30 16:56:56 +00:00
Keith Whitwell
99efde461d better handling of current attributes. Trivial dlist and varray tests work 2006-10-30 16:44:13 +00:00
Keith Whitwell
efef291dc7 checkpoint - remove dead files, otherwise untested 2006-10-30 16:43:39 +00:00
Keith Whitwell
a3c86828ed Fix compiler warning 2006-10-29 09:54:17 +00:00
Keith Whitwell
0a0fb5e0b3 switch over to vbo module 2006-10-29 09:52:36 +00:00
Keith Whitwell
72b68455eb remove this module 2006-10-29 09:48:36 +00:00
Keith Whitwell
b1f176039a Changes for new vbo-building module.
- Removed all the old immediate, array and display list code.
	- Remove references to the old array_cache module.
	- Added a _tnl_draw_prims() entrypoint.
	- Added a simplified data import facility for converting
non-floating point data as required.

Checkpoint commit - trivial/tri works.
2006-10-29 09:48:15 +00:00
Keith Whitwell
fd12b37dba Checkpoint of new vbo-building code. Currently builds regular arrays
rather than VBO's - VBOs are easy but need to look closer at the
driver interface.  The trivial/tri demo works.
2006-10-29 09:46:11 +00:00
Ben Skeggs
a05db7f505 Kill all the current shader code. 2006-09-24 13:16:23 +00:00
Stephane Marchesin
7d907ef69c Some small changes 2006-09-17 17:46:36 +00:00
Stephane Marchesin
473a38622e Rename nouveau_tris.* to nouveau_swtcl.* 2006-09-17 15:30:40 +00:00
Stephane Marchesin
c67f545520 Small changes 2006-09-17 14:36:07 +00:00
Stephane Marchesin
e324c52237 Make nouveau actually compile 2006-09-17 12:09:11 +00:00
Stephane Marchesin
908388b118 Some work towards making the nv10 swtcl compile 2006-09-17 11:58:52 +00:00
Patrice Mandin
ae481e1560 oops, time to go to bed 2006-09-08 23:19:45 +00:00
Patrice Mandin
ddaf3060fa nv10: vertex attribute output format 2006-09-08 23:18:27 +00:00
Patrice Mandin
cdd433b29b more macros, still missing the alloc_verts one 2006-09-08 21:52:25 +00:00
Patrice Mandin
1961611247 reimport sw stuff 2006-09-08 21:41:58 +00:00
Patrice Mandin
7a968481a0 render_primitive macro 2006-09-08 21:34:47 +00:00
Patrice Mandin
07d4c63ddc vert_copy_spec macro 2006-09-08 21:30:32 +00:00
Patrice Mandin
ad0f655376 vert_copy_rgba macro 2006-09-08 21:27:17 +00:00
Patrice Mandin
6f0388ec71 basic primitives 2006-09-08 21:23:04 +00:00
Patrice Mandin
179c1013d2 Remove useless reference to fifo_num field 2006-09-08 20:17:59 +00:00
Ben Skeggs
6d1f98da2b A couple of quick fixes, the original had some half-finished
modifications..
2006-06-03 17:15:50 +00:00
Ben Skeggs
ac9d1ecec2 Another TODO, so I don't forget.. 2006-06-03 16:37:46 +00:00
Ben Skeggs
5411b96c5f Add start of vertex shader backend, will most likely not work correctly yet 2006-06-03 16:36:23 +00:00
Jeremy Kolb
13a2d6698f More context. 2006-04-17 15:20:29 +00:00
Jeremy Kolb
ddf936193a Changed invalid context fields to valid ones. 2006-04-17 00:08:03 +00:00
Jeremy Kolb
a7d8885768 State changes. 2006-04-15 00:21:44 +00:00
Stephane Marchesin
b0c4cfed60 More work on the tcl code... still have to make my mind on a number of
things
2006-04-14 23:47:45 +00:00
Jeremy Kolb
97d11ecd6c Add more feilds to context. 2006-04-14 23:02:39 +00:00
Stephane Marchesin
911ec211a5 ooops 2006-04-14 22:59:33 +00:00
Stephane Marchesin
4c850f346b Added render index field to the context 2006-04-14 22:58:30 +00:00
Jeremy Kolb
576b3433da Cleaning 2006-04-14 22:50:14 +00:00
Stephane Marchesin
4b2d8b46c8 Silence the lock warning 2006-04-14 22:48:03 +00:00
Stephane Marchesin
b7d4314fe1 Added vertex attributes to the context 2006-04-14 22:43:44 +00:00
Stephane Marchesin
199512968b Cleaned stuff in the tcl code 2006-04-14 22:41:16 +00:00
Jeremy Kolb
5fd11335f6 Added the beginnings of state (not much there yet). Fixed some includes. 2006-04-14 17:39:43 +00:00
Jeremy Kolb
f799745f50 Some compile fixes. 2006-04-13 17:03:51 +00:00
Stephane Marchesin
1c0230b396 Cleaned up some code, made more files compile. Renamed nv20_swtcl.* to
nv10_swtcl.*, hopefully this is the last rename (this should be, as
    NV05 really behaves differently).
2006-03-13 11:30:41 +00:00
Stephane Marchesin
9ebde216cc A little work here and there 2006-03-10 01:43:39 +00:00
Stephane Marchesin
2560e65a9a Added a missing field 2006-03-07 00:56:30 +00:00
Stephane Marchesin
5569c2dfae Cleaned up the software TCL code a bit. Renamed nv30_tris.[c,h] to
nv20_swtcl.[c,h].
2006-03-06 15:32:31 +00:00
Stephane Marchesin
98e1b13802 Added some NV20 support - nv_30_tris.c should probably be renamed again. 2006-03-06 12:23:24 +00:00
Stephane Marchesin
b9c4b7fc89 More work on the nv30 software tcl code 2006-03-06 01:46:24 +00:00
Stephane Marchesin
4af665a843 Rename nouveau_3d_reg.h to nouveau_reg.h 2006-03-03 16:10:28 +00:00
Stephane Marchesin
84a20832f1 rename nv40_tris to nv30_tris. 2006-03-03 16:08:59 +00:00
Stephane Marchesin
0e7e80ae10 Some small improvements. 2006-03-02 00:42:37 +00:00
Stephane Marchesin
bb390133b5 Import 2006-02-23 12:55:56 +00:00
Stephane Marchesin
0abf3937ce Initial revision 2006-02-23 12:55:56 +00:00
935 changed files with 79686 additions and 71498 deletions

View File

@@ -7,7 +7,9 @@ SUBDIRS = src progs
default: $(TOP)/configs/current
@for dir in $(SUBDIRS) ; do \
(cd $$dir ; $(MAKE)) || exit 1 ; \
if [ -d $$dir ] ; then \
(cd $$dir && $(MAKE)) || exit 1 ; \
fi \
done
@@ -16,7 +18,9 @@ doxygen:
clean:
@for dir in $(SUBDIRS) ; do \
(cd $$dir ; $(MAKE) clean) ; \
if [ -d $$dir ] ; then \
(cd $$dir && $(MAKE) clean) ; \
fi \
done
@@ -34,9 +38,12 @@ realclean:
install:
@for dir in $(SUBDIRS) ; do \
(cd $$dir ; $(MAKE) install) || exit 1 ; \
if [ -d $$dir ] ; then \
(cd $$dir && $(MAKE) install) || exit 1 ; \
fi \
done
# DirectFBGL module installation
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
@@ -60,6 +67,9 @@ aix-64-static \
aix-gcc \
aix-static \
beos \
bluegene-osmesa \
bluegene-xlc-osmesa \
catamount-osmesa-pgi \
darwin \
darwin-static \
darwin-static-x86ppc \
@@ -92,6 +102,7 @@ linux-alpha-static \
linux-debug \
linux-directfb \
linux-dri \
linux-dri-debug \
linux-dri-x86 \
linux-dri-x86-64 \
linux-dri-ppc \
@@ -143,8 +154,9 @@ sunos5-v8 \
sunos5-v8-static \
sunos5-v9 \
sunos5-v9-static \
sunos5-v9-cc-g++ \
ultrix-gcc:
@ if [ -e configs/current ] ; then \
@ if test -f configs/current || test -L configs/current ; then \
echo "Please run 'make realclean' before changing configs" ; \
exit 1 ; \
fi
@@ -154,10 +166,10 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-6.5.2
LIB_NAME = MesaLib-6.5.2
DEMO_NAME = MesaDemos-6.5.2
GLUT_NAME = MesaGLUT-6.5.2
DIRECTORY = Mesa-7.0.2
LIB_NAME = MesaLib-7.0.2
DEMO_NAME = MesaDemos-7.0.2
GLUT_NAME = MesaGLUT-7.0.2
MAIN_FILES = \
$(DIRECTORY)/Makefile* \
@@ -201,6 +213,7 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/Makefile* \
$(DIRECTORY)/src/mesa/sources \
$(DIRECTORY)/src/mesa/descrip.mms \
$(DIRECTORY)/src/mesa/gl.pc.in \
$(DIRECTORY)/src/mesa/depend \
$(DIRECTORY)/src/mesa/main/*.[chS] \
$(DIRECTORY)/src/mesa/main/descrip.mms \
@@ -208,9 +221,6 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
$(DIRECTORY)/src/mesa/glapi/sources \
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
$(DIRECTORY)/src/mesa/array_cache/sources \
$(DIRECTORY)/src/mesa/math/*.[ch] \
$(DIRECTORY)/src/mesa/math/descrip.mms \
$(DIRECTORY)/src/mesa/math/sources \
@@ -224,12 +234,17 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/sources \
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
$(DIRECTORY)/src/mesa/swrast/sources \
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
$(DIRECTORY)/src/mesa/swrast_setup/sources \
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/sources \
@@ -278,17 +293,15 @@ MAIN_FILES = \
$(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
$(DIRECTORY)/windows/VC8/mesa/mesa.sln \
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj \
$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj \
$(DIRECTORY)/windows/VC8/progs/progs.sln \
$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj \
$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
DRI_FILES = \
$(DIRECTORY)/include/GL/internal/dri_interface.h \
@@ -308,7 +321,9 @@ DRI_FILES = \
SGI_GLU_FILES = \
$(DIRECTORY)/src/glu/Makefile \
$(DIRECTORY)/src/glu/descrip.mms \
$(DIRECTORY)/src/glu/glu.pc.in \
$(DIRECTORY)/src/glu/sgi/Makefile \
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
$(DIRECTORY)/src/glu/sgi/Makefile.win \
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
$(DIRECTORY)/src/glu/sgi/glu.def \
@@ -353,6 +368,8 @@ DEMO_FILES = \
$(DIRECTORY)/progs/demos/*.cxx \
$(DIRECTORY)/progs/demos/*.dat \
$(DIRECTORY)/progs/demos/README \
$(DIRECTORY)/progs/fbdev/Makefile \
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
$(DIRECTORY)/progs/osdemos/Makefile \
$(DIRECTORY)/progs/osdemos/*.c \
$(DIRECTORY)/progs/xdemos/Makefile* \
@@ -364,6 +381,9 @@ DEMO_FILES = \
$(DIRECTORY)/progs/samples/Makefile* \
$(DIRECTORY)/progs/samples/README \
$(DIRECTORY)/progs/samples/*.c \
$(DIRECTORY)/progs/glsl/Makefile* \
$(DIRECTORY)/progs/glsl/*.c \
$(DIRECTORY)/progs/glsl/*.txt \
$(DIRECTORY)/progs/windml/Makefile.ugl \
$(DIRECTORY)/progs/windml/*.c \
$(DIRECTORY)/progs/windml/*.bmp \
@@ -378,6 +398,7 @@ GLUT_FILES = \
$(DIRECTORY)/include/GL/glutf90.h \
$(DIRECTORY)/src/glut/glx/Makefile* \
$(DIRECTORY)/src/glut/glx/depend \
$(DIRECTORY)/src/glut/glx/glut.pc.in \
$(DIRECTORY)/src/glut/glx/*def \
$(DIRECTORY)/src/glut/glx/descrip.mms \
$(DIRECTORY)/src/glut/glx/mms_depend \
@@ -393,6 +414,9 @@ GLUT_FILES = \
$(DIRECTORY)/src/glut/fbdev/Makefile \
$(DIRECTORY)/src/glut/fbdev/*[ch] \
$(DIRECTORY)/src/glut/mini/*[ch] \
$(DIRECTORY)/src/glut/directfb/Makefile \
$(DIRECTORY)/src/glut/directfb/NOTES \
$(DIRECTORY)/src/glut/directfb/*[ch] \
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
@@ -400,6 +424,7 @@ DEPEND_FILES = \
$(TOP)/src/mesa/depend \
$(TOP)/src/glx/x11/depend \
$(TOP)/src/glw/depend \
$(TOP)/src/glw/glw.pc.in \
$(TOP)/src/glut/glx/depend \
$(TOP)/src/glu/sgi/depend

View File

@@ -51,37 +51,59 @@
# realclean: remove all generated files
#
# MinGW core makefile updated for Mesa 7.0
#
# Updated : by Heromyth, on 2007-7-21
# Email : zxpmyth@yahoo.com.cn
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
# The others havn't been tested yet.
# 2) The generated DLLs are *not* compatible with the ones built
# with the other compilers like VC8, especially for GLUT.
# 3) MAlthough more tests are needed, it can be used individually!
.PHONY : all libgl clean realclean
ifeq ($(ICD),1)
# when -std=c99 mingw will not define WIN32
CFLAGS = -Wall -W -Werror
CFLAGS = -Wall -Werror
else
# I love c89
CFLAGS = -Wall -W -pedantic
CFLAGS = -Wall -pedantic
endif
CFLAGS += -O2 -ffast-math
export CFLAGS
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
UNLINK = del $(subst /,\,$(1))
else
UNLINK = $(RM) $(1)
endif
all: libgl
all: libgl libglu libglut example
libgl: lib
$(MAKE) -f Makefile.mgw -C src/mesa
libglu: libgl
$(MAKE) -f Makefile.mgw -C src/glu/sgi
libglut: libglu
$(MAKE) -f Makefile.mgw -C src/glut/glx
example: libglut
$(MAKE) -f Makefile.mgw star -C progs/samples
copy progs\samples\star.exe lib
lib:
mkdir lib
clean:
$(MAKE) -f Makefile.mgw clean -C src/mesa
$(MAKE) -f Makefile.mgw clean -C src/glu/sgi
$(MAKE) -f Makefile.mgw clean -C src/glut/glx
realclean: clean
-$(call UNLINK,lib/*.a)

View File

@@ -1,453 +0,0 @@
# Top-level Mesa makefile
TOP = .
SUBDIRS = src progs
default: $(TOP)/configs/current
@for dir in $(SUBDIRS) ; do \
(cd $$dir ; $(MAKE)) || exit 1 ; \
done
doxygen:
(cd doxygen ; make) ; \
clean:
@for dir in $(SUBDIRS) ; do \
(cd $$dir ; $(MAKE) clean) ; \
done
realclean:
touch $(TOP)/configs/current
$(MAKE) clean
-rm -rf lib*
-rm -f $(TOP)/configs/current
-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 $(DESTDIR)
# DirectFBGL module installation
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
# If there's no current configuration file
$(TOP)/configs/current:
@echo
@echo
@echo "Please choose a configuration from the following list:"
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
@echo
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
@echo "(ignore the following error message)"
@exit 1
# Rules to set/install a specific build configuration
aix \
aix-64 \
aix-gcc \
aix-static \
beos \
darwin \
darwin-static \
freebsd \
freebsd-dri \
freebsd-dri-amd64 \
freebsd-dri-x86 \
hpux10 \
hpux10-gcc \
hpux10-static \
hpux11-32 \
hpux11-32-static \
hpux11-32-static-nothreads \
hpux11-64 \
hpux11-64-static \
hpux9 \
hpux9-gcc \
irix6-64 \
irix6-64-static \
irix6-n32 \
irix6-n32-static \
irix6-o32 \
irix6-o32-static \
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 \
linux-osmesa16 \
linux-osmesa16-static \
linux-osmesa32 \
linux-ppc \
linux-ppc-static \
linux-solo \
linux-solo-x86 \
linux-solo-ia64 \
linux-sparc \
linux-sparc5 \
linux-static \
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 \
netbsd \
openbsd \
osf1 \
solaris-x86 \
solaris-x86-gcc \
sunos4 \
sunos4-gcc \
sunos4-static \
sunos5 \
sunos5-gcc \
sunos5-64-gcc \
sunos5-smp \
ultrix-gcc:
(cd configs && rm -f current && ln -s $@ current)
$(MAKE) default
# Rules for making release tarballs
DIRECTORY = Mesa-6.5.1
LIB_NAME = MesaLib-6.5.1
DEMO_NAME = MesaDemos-6.5.1
GLUT_NAME = MesaGLUT-6.5.1
MAIN_FILES = \
$(DIRECTORY)/Makefile* \
$(DIRECTORY)/descrip.mms \
$(DIRECTORY)/mms-config. \
$(DIRECTORY)/bin/mklib \
$(DIRECTORY)/bin/installmesa \
$(DIRECTORY)/configs/[a-z]* \
$(DIRECTORY)/docs/*.html \
$(DIRECTORY)/docs/COPYING \
$(DIRECTORY)/docs/README.* \
$(DIRECTORY)/docs/RELNOTES* \
$(DIRECTORY)/docs/VERSIONS \
$(DIRECTORY)/docs/*.spec \
$(DIRECTORY)/include/GL/internal/glcore.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 \
$(DIRECTORY)/include/GL/glext.h \
$(DIRECTORY)/include/GL/gl_mangle.h \
$(DIRECTORY)/include/GL/glu.h \
$(DIRECTORY)/include/GL/glu_mangle.h \
$(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 \
$(DIRECTORY)/include/GL/svgamesa.h \
$(DIRECTORY)/include/GL/ugl*.h \
$(DIRECTORY)/include/GL/vms_x_fix.h \
$(DIRECTORY)/include/GL/wmesa.h \
$(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* \
$(DIRECTORY)/src/mesa/sources \
$(DIRECTORY)/src/mesa/descrip.mms \
$(DIRECTORY)/src/mesa/depend \
$(DIRECTORY)/src/mesa/main/*.[chS] \
$(DIRECTORY)/src/mesa/main/descrip.mms \
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
$(DIRECTORY)/src/mesa/math/*.[ch] \
$(DIRECTORY)/src/mesa/math/descrip.mms \
$(DIRECTORY)/src/mesa/shader/*.[ch] \
$(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/descrip.mms \
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
$(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
$(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/fbdev/glfbdev.c \
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in \
$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \
$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
$(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/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
$(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/glu.def \
$(DIRECTORY)/src/glu/sgi/dummy.cc \
$(DIRECTORY)/src/glu/sgi/descrip.mms \
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
$(DIRECTORY)/src/glu/sgi/include/gluos.h \
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc \
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h \
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc \
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h \
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc \
$(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]
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]
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 \
$(DIRECTORY)/progs/images/*.rgba \
$(DIRECTORY)/progs/demos/Makefile* \
$(DIRECTORY)/progs/demos/descrip.mms \
$(DIRECTORY)/progs/demos/*.[ch] \
$(DIRECTORY)/progs/demos/*.cxx \
$(DIRECTORY)/progs/demos/*.dat \
$(DIRECTORY)/progs/demos/README \
$(DIRECTORY)/progs/osdemos/Makefile \
$(DIRECTORY)/progs/osdemos/*.c \
$(DIRECTORY)/progs/xdemos/Makefile* \
$(DIRECTORY)/progs/xdemos/descrip.mms \
$(DIRECTORY)/progs/xdemos/*.[chf] \
$(DIRECTORY)/progs/redbook/Makefile* \
$(DIRECTORY)/progs/redbook/README \
$(DIRECTORY)/progs/redbook/*.[ch] \
$(DIRECTORY)/progs/samples/Makefile* \
$(DIRECTORY)/progs/samples/README \
$(DIRECTORY)/progs/samples/*.c \
$(DIRECTORY)/progs/windml/Makefile.ugl \
$(DIRECTORY)/progs/windml/*.c \
$(DIRECTORY)/progs/windml/*.bmp \
$(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
LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
# Everything for new a Mesa release:
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 -cf $(LIB_NAME).tar $(LIB_FILES) ; \
gzip $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.gz $(DIRECTORY)
demo_gz:
cd .. ; \
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 -cf $(LIB_NAME).tar $(LIB_FILES) ; \
bzip2 $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
demo_bz2:
cd .. ; \
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 -f $(LIB_NAME).zip ; \
cd .. ; \
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
mv $(LIB_NAME).zip $(DIRECTORY)
demo_zip:
rm -f $(DEMO_NAME).zip ; \
cd .. ; \
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
@-md5sum $(LIB_NAME).zip
@-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

@@ -65,6 +65,7 @@ if [ $# -ge 2 ] ; then
elif [ -f "$FILE" ] ; then
#echo "$FILE" is a regular file
$RM "$DEST/`basename $FILE`"
cp "$FILE" "$DEST"
if [ $MODE ] ; then
FILE=`basename "$FILE"`

View File

@@ -34,6 +34,7 @@ MINOR=0
PATCH=""
DEPS=""
LINK=""
LDFLAGS=""
CPLUSPLUS=0
STATIC=0
DLOPEN=0
@@ -63,6 +64,7 @@ do
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 ' -ldflags OPT specify any additional linker flags in OPT'
echo ' -cplusplus link with C++ runtime'
echo ' -static make a static library (default is dynamic/shared)'
echo ' -dlopen make a shared library suitable for dynamic loading'
@@ -94,12 +96,24 @@ do
shift 1;
LINK=$1
;;
'-ldflags')
shift 1;
LDFLAGS=$1
;;
-l*)
DEPS="$DEPS $1"
;;
-L*)
DEPS="$DEPS $1"
;;
-pthread)
# this is a special case (see bugzilla 10876)
DEPS="$DEPS $1"
;;
'-pthread')
# for FreeBSD
DEPS="$DEPS -pthread"
;;
'-cplusplus')
CPLUSPLUS=1
;;
@@ -208,19 +222,20 @@ case $ARCH in
rm -f ${LIBNAME}
# make lib
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
# finish up
FINAL_LIBS="${LIBNAME}"
elif [ $STATIC = 1 ] ; then
LIBNAME="lib${LIBNAME}" # prefix with "lib"
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
LIBNAME="lib${LIBNAME}.a" # prefix with "lib", suffix with ".a"
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
LINK="ar"
OPTS="-ru"
rm -f ${LIBNAME}
# make lib
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
ranlib ${LIBNAME}.a
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
ranlib ${LIBNAME}
# finish up
FINAL_LIBS=${LIBNAME}.a
FINAL_LIBS=${LIBNAME}
else
LIBNAME="lib${LIBNAME}" # prefix with "lib"
case $ARCH in 'Linux' | 'GNU' | GNU/*)
@@ -265,7 +280,7 @@ case $ARCH in
rm -f ${LIBNAME}.so
# make lib
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
# make usual symlinks
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
@@ -337,10 +352,10 @@ case $ARCH in
#echo "mklib: linker is" ${LINK} ${OPTS}
if [ $NOPREFIX = 1 ] ; then
rm -f ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
else
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
fi
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
@@ -364,7 +379,7 @@ case $ARCH in
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
OPTS="-shared"
rm -f ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS=${LIBNAME}
elif [ $STATIC = 1 ] ; then
STLIB="lib${LIBNAME}.a"
@@ -378,7 +393,7 @@ case $ARCH in
OPTS="-shared -Wl,-soname,${SHLIB}"
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
rm -f ${SHLIB}
${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${SHLIB} ${OBJECTS} ${DEPS}
ln -sf ${SHLIB} "lib${LIBNAME}.so"
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
fi
@@ -436,7 +451,7 @@ case $ARCH in
fi
echo "mklib: Making IRIX " ${ABI} " shared library: " ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS=${LIBNAME}
fi
;;
@@ -512,9 +527,9 @@ case $ARCH in
# On AIX a shared library is linked differently when
# you want to dlopen the file
if [ $DLOPEN = "1" ] ; then
cc -G ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
cc -G ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
else
cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS}
cc ${OPTS} ${LDFLAGS} -o ${OFILE} ${OBJECTS} ${DEPS}
ar ${X64} -r ${LIBNAME} ${OFILE}
fi
@@ -596,7 +611,7 @@ case $ARCH in
fi
echo "mklib: Making Darwin shared library: " ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
ln -s ${LIBNAME} ${LINKNAME}
FINAL_LIBS="${LIBNAME} ${LINKNAME}"
fi
@@ -673,7 +688,7 @@ case $ARCH in
rm -f ${LIBNAME}.so.${MAJOR}
rm -f ${LIBNAME}.so
# make lib
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
# make usual symlinks
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
@@ -745,7 +760,7 @@ case $ARCH in
rm -f ${LIBNAME}.a
# make lib
${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
# make usual symlinks
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
# finish up

View File

@@ -11,6 +11,10 @@ CXX = g++
CFLAGS = -O2 -DAIXV3
CXXFLAGS = -O2 -DAIXV3
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
MKLIB_OPTIONS = -arch aix-gcc
GL_LIB_DEPS = -lX11 -lXext -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm

View File

@@ -39,6 +39,10 @@ ifeq ($(CPU), x86)
CXXFLAGS = $(CFLAGS)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
LDFLAGS += -Xlinker
ifdef DEBUG

33
configs/bluegene-osmesa Normal file
View File

@@ -0,0 +1,33 @@
# Configuration for building only libOSMesa on BlueGene, no Xlib driver
# This doesn't really have a lot of dependencies, so it should be usable
# on other (gcc-based) systems too.
# It uses static linking and disables multithreading.
include $(TOP)/configs/default
CONFIG_NAME = bluegene-osmesa
# Compiler and flags
CC = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc
CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
MKLIB_OPTIONS = -static
OSMESA_LIB_NAME = libOSMesa.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS = osdemos
# Dependencies
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU -lm

View File

@@ -0,0 +1,29 @@
# Configuration for building only libOSMesa on BlueGene using the IBM xlc compiler
# This doesn't really have a lot of dependencies, so it should be usable
# on similar systems too.
# It uses static linking and disables multithreading.
include $(TOP)/configs/default
CONFIG_NAME = bluegene-osmesa
# Compiler and flags
CC = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlc
CXX = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC
CFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
CXXFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
OSMESA_LIB_NAME = libOSMesa.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS = osdemos
# Dependencies
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU -lm

View File

@@ -0,0 +1,32 @@
# Configuration for building only libOSMesa on Cray Xt3
# for the compute nodes running Catamount using the
# Portland Group compiler. The Portland Group toolchain has to be
# enabled before using "module switch PrgEnv-gnu PrgEnv-pgi" .
# This doesn't really have a lot of dependencies, so it should be usable
# on other similar systems too.
# It uses static linking and disables multithreading.
include $(TOP)/configs/default
CONFIG_NAME = catamount-osmesa-pgi
# Compiler and flags
CC = cc
CXX = CC
CFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
CXXFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
OSMESA_LIB_NAME = libOSMesa.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS = osdemos
# Dependencies
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU -lm

View File

@@ -10,6 +10,10 @@ CXX = cc
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
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
GLU_LIB_NAME = libGLU.dylib

View File

@@ -9,6 +9,10 @@ CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpen
CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
MKLIB_OPTIONS = -static
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a

View File

@@ -11,6 +11,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
-I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a

View File

@@ -14,6 +14,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
GLU_LIB_NAME = libGLU.dylib

View File

@@ -12,7 +12,7 @@ EXTRA_LIB_PATH =
SRC_DIRS = mesa
PROGRAM_DIRS =
INSTALL_DIR = $(DESTDIR)/usr
INSTALL_DIR = /usr
# vim: ft=make

View File

@@ -0,0 +1,7 @@
# Configuration defaults for building GLX-enabled libGL.
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-indirect-default
DRI_DIRS =

View File

@@ -0,0 +1,9 @@
# Configuration for building the DRI drivers on the build architecture.
include $(TOP)/configs/linux-indirect
include $(TOP)/configs/debian-indirect-default
CONFIG_NAME = debian-indirect-hurd-i386
# vim: ft=make

View File

@@ -8,8 +8,8 @@
CONFIG_NAME = default
# Version info
MESA_MAJOR=6
MESA_MINOR=5
MESA_MAJOR=7
MESA_MINOR=0
MESA_TINY=2
# external projects. This should be useless now that we use libdrm.
@@ -20,6 +20,7 @@ CC = cc
CXX = CC
CFLAGS = -O
CXXFLAGS = -O
LDFLAGS =
GLU_CFLAGS =
# Misc tools and flags
@@ -63,17 +64,19 @@ 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
PROGRAM_DIRS = demos redbook samples glsl xdemos
# Library/program dependencies
# Library dependencies
#EXTRA_LIB_PATH ?=
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
# Program dependencies - specific GL/glut libraries added in Makefiles
APP_LIB_DEPS = -lm

View File

@@ -1,37 +0,0 @@
? default-bp
? diffs
? linux-dri-bp
? linux-tcc
Index: linux-icc-static
===================================================================
RCS file: /cvs/mesa/Mesa/configs/linux-icc-static,v
retrieving revision 1.4
diff -r1.4 linux-icc-static
9c9
< CXX = g++
---
> CXX = icpc
11c11
< CXXFLAGS = -O3
---
> CXXFLAGS = -O3 -tpp6 -axK -DPTHREADS
22,25c22,24
< 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) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
< MKLIB_OPTIONS = -arch icc
---
> GL_LIB_DEPS =
> GLUT_LIB_DEPS =
> APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm -lpthread -lcxa -lunwind
29,30d27
<
<
Index: linux-x86-64-static
===================================================================
RCS file: /cvs/mesa/Mesa/configs/linux-x86-64-static,v
retrieving revision 1.6
diff -r1.6 linux-x86-64-static
21a22,23
> APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
> $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm

View File

@@ -13,7 +13,7 @@ OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
-DHZ=100 -DHAVE_POSIX_MEMALIGN
-DHZ=100
X11_INCLUDES = -I/usr/X11R6/include
@@ -23,5 +23,9 @@ CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
EXTRA_LIB_PATH = -L/usr/X11R6/lib
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm

View File

@@ -15,20 +15,25 @@ 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 -DGLX_INDIRECT_RENDERING \
-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
-DHAVE_ALIAS
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =
# Library/program dependencies
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
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)
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -pthread $(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11

View File

@@ -12,5 +12,9 @@ CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/incl
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm

View File

@@ -28,6 +28,10 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(X11_INCLUDES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GLUT_CFLAGS = -fexceptions
EXTRA_LIB_PATH = -L/usr/X11R6/lib

View File

@@ -11,6 +11,10 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11

View File

@@ -11,7 +11,11 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names (actual file names)
GL_LIB_NAME = libGL.a

View File

@@ -13,6 +13,10 @@ CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
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

View File

@@ -32,6 +32,11 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =
@@ -41,7 +46,8 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
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 \
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -lpthread -ldl \
$(LIBDRM_LIB)
@@ -54,10 +60,10 @@ USING_EGL=0
# Directories
ifeq ($(USING_EGL), 1)
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS = egl
PROGRAM_DIRS = egl xdemos
else
SRC_DIRS = glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS =
PROGRAM_DIRS = xdemos
endif
DRIVER_DIRS = dri

16
configs/linux-dri-debug Normal file
View File

@@ -0,0 +1,16 @@
# -*-makefile-*-
# Configuration for linux-dri-debug: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/linux-dri
CONFIG_NAME = linux-dri-debug
OPT_FLAGS = -O0 -g
ARCH_FLAGS = -DDEBUG
# Helpful to reduce the amount of stuff that gets built sometimes:
#DRI_DIRS = i915tex i915
#DRI_DIRS = i965
#DRI_DIRS = radeon r200 r300
#DRI_DIRS = unichrome sis trident
#DRI_DIRS = i810 mga r128 tdfx

View File

@@ -5,9 +5,6 @@ include $(TOP)/configs/linux-dri
CONFIG_NAME = linux-dri-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
# Add -m32 to CFLAGS:
ARCH_FLAGS = -m32

View File

@@ -22,7 +22,8 @@ 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 -DHAVE_POSIX_MEMALIGN
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
-DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN
X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`
@@ -31,6 +32,9 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =
@@ -40,8 +44,9 @@ EXTRA_LIB_PATH=`pkg-config --libs-only-L x11`
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
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` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -lpthread -ldl $(LIBDRM_LIB) `pkg-config --libs xcb` \
`pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
# This is now 0 by default since it seems to confuse the hell out of people
@@ -53,10 +58,10 @@ USING_EGL=0
# Directories
ifeq ($(USING_EGL), 1)
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS = egl
PROGRAM_DIRS = egl xdemos
else
SRC_DIRS = glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS =
PROGRAM_DIRS = xdemos
endif
DRIVER_DIRS = dri
@@ -65,4 +70,4 @@ 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
savage sis tdfx trident unichrome ffb nouveau

View File

@@ -6,6 +6,9 @@ CONFIG_NAME = linux-fbdev
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
SRC_DIRS = mesa glu glut/fbdev
DRIVER_DIRS = fbdev osmesa
PROGRAM_DIRS = fbdev demos redbook samples

View File

@@ -12,6 +12,9 @@ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread

View File

@@ -33,6 +33,9 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =

View File

@@ -12,6 +12,9 @@ CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Directories
SRC_DIRS = mesa glu

View File

@@ -10,6 +10,9 @@ 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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names
OSMESA_LIB = OSMesa16

View File

@@ -10,7 +10,11 @@ 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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names
OSMESA_LIB = OSMesa16

View File

@@ -10,6 +10,9 @@ 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 -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names
OSMESA_LIB = OSMesa32

View File

@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-ppc
CONFIG_NAME = linux-ppc-static
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a

View File

@@ -15,6 +15,13 @@ PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
# DRM and pciaccess
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
LIBDRM_LIB = `pkg-config --libs libdrm`
PCIACCESS_CFLAGS = `pkg-config --cflags pciaccess`
PCIACCESS_LIB = `pkg-config --libs pciaccess`
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
@@ -24,11 +31,14 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR)
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB)
GL_LIB_DEPS = -lm -lpthread -ldl
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
@@ -39,5 +49,5 @@ SRC_DIRS = glx/mini mesa glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
#DRI_DIRS = ffb gamma sis savage
DRI_DIRS = i810 i915 mach64 mga r128 r200 radeon tdfx unichrome fb
#DRI_DIRS = ffb gamma sis savage tdfx unichrome fb
DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon

View File

@@ -5,9 +5,6 @@ include $(TOP)/configs/linux-solo
CONFIG_NAME = linux-solo-x86
# Unnecessary on x86, generally.
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

@@ -5,6 +5,7 @@ include $(TOP)/configs/linux
CONFIG_NAME = linux-static
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
@@ -21,6 +22,4 @@ GLUT_LIB_DEPS =
GLW_LIB_DEPS =
# Need to specify all libraries we may need
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm \
-L/usr/X11R6/lib/ -lX11 -lXmu -lXi -lpthread
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm

View File

@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-static
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
@@ -19,5 +20,4 @@ OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm

View File

@@ -14,6 +14,9 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

View File

@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-static
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
@@ -19,5 +20,4 @@ OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm

View File

@@ -12,3 +12,6 @@ CXXFLAGS = -O2 -fPIC
GLUT_CFLAGS = -fexceptions
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing

View File

@@ -10,6 +10,10 @@ CXX = g++
CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)

View File

@@ -11,6 +11,10 @@ CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
CXXFLAGS = -O3 -march=i486 -fPIC
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm

View File

@@ -12,6 +12,10 @@ CXXFLAGS = -O3 -march=i486 -fPIC
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm

View File

@@ -11,5 +11,9 @@ CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X1
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm

View File

@@ -28,6 +28,10 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/openwin/lib

35
configs/sunos5-v9-cc-g++ Normal file
View File

@@ -0,0 +1,35 @@
# Configuration for SunOS 5, SPARC V9 and cc/g++ (for C and C++ sources)
include $(TOP)/configs/default
CONFIG_NAME = sunos5-v9-cc-g++
MKLIB_OPTIONS = -cplusplus
LIB_DIR = lib64
# Compiler and flags
CC = cc
CXX = g++
CXX_WARN_FLAGS = -Wall
CXX_PIC_FLAGS = -fPIC
CXX_OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
CXX_ARCH_FLAGS = -m64
CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \
-I/usr/openwin/include
# Work around aliasing bugs - developers should comment this out
CXXFLAGS += -fno-strict-aliasing
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
#CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -12,6 +12,10 @@ CXXFLAGS = -pedantic -O2
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a

114
debian/changelog vendored
View File

@@ -1,3 +1,117 @@
mesa (7.0.2-1) unstable; urgency=low
* New upstream release.
+ Fix Blender crash in triangle_twoside(), closes: #439668, #446315.
+ Fix crash in _generic_read_RGBA_span_RGB565_MMX(), closes: #445313.
+ Fix the new __gluInvertMatrix() function, closes: #440137 ,#441071.
+ Refresh 03_optional-progs-and-install.patch since libGLU is not
built when building progs/xdemos.
+ Refresh 04_cleanup-osmesa-configs.patch.
+ Drop 05_static-nonpic.patch,, applied upstream.
+ Remove DESTDIR from INSTALL_DIR in configs/debian-default since
the upstream Makefiles now support DESTDIR.
* Add myself to Uploaders.
-- Brice Goglin <bgoglin@debian.org> Sun, 11 Nov 2007 11:53:26 +0100
mesa (7.0.1-2) unstable; urgency=low
* Update to latest git (from mesa_7_0_branch)
+ adds support for some new intel chipsets (i915 and i915_tex dri drivers)
(closes: #437333)
+ broken inline asm in dri drivers fixed (closes: #423739)
-- Julien Cristau <jcristau@debian.org> Tue, 28 Aug 2007 12:11:30 +0200
mesa (7.0.1-1) unstable; urgency=low
* New upstream release.
* Upload to unstable.
-- Julien Cristau <jcristau@debian.org> Thu, 09 Aug 2007 11:56:16 +0200
mesa (7.0.1~rc2-1) experimental; urgency=low
[ David Nusinow ]
* New upstream release candidate
* Bite the bullet and add myself to uploaders
[ Julien Cristau ]
* Modify the short descriptions of various packages so they fit in .changes
files without being cut off. Thanks, Marc 'HE' Brockschmidt!
* Add a shlibs file for libgl1-mesa-swx11-i686.
-- Julien Cristau <jcristau@debian.org> Fri, 27 Jul 2007 20:17:48 +0200
mesa (6.5.3-1) experimental; urgency=low
[ David Nusinow ]
* New upstream release
[ Julien Cristau ]
* Cherry-pick commit 65faf023679988f93da82b4c7ebdc689f2094459 by Michel
Dänzer to fix r300 crash.
-- Julien Cristau <jcristau@debian.org> Mon, 21 May 2007 11:34:51 +0200
mesa (6.5.3~rc3-1) experimental; urgency=low
[ Brice Goglin ]
* Split out libGLw libs and headers from libgl1-mesa-swx11 and ship both
static and shared libraries, creating libglw1-mesa and libglw1-mesa-dev
(closes: #374904).
[ Julien Cristau ]
* New upstream release candidate.
+ 06_fix_texture_data_corruption.patch,
07_call_radeonSetCliprects_from_radeonMakeCurrent.patch,
08_r300_update_window_state_when_bound_but_stamp_changed.patch,
09_i915_always_enable_pixel_fog.patch: remove, included upstream.
+ 01_fix-makefile.patch, 02_use-ieee-fp-on-s390-and-m68k.patch: refresh.
* Add build-dependencies on libxdamage-dev and libxfixes-dev.
* Resync debian/scripts/install-source.sh.
* Build mesa-swx11-source only in binary-indep.
* Update from upstream git (commit
dee1b0d5bbe91f83854813cbbcd3090327bcb5c2).
-- Julien Cristau <jcristau@debian.org> Wed, 25 Apr 2007 10:36:50 +0200
mesa (6.5.2-7) unstable; urgency=low
[ Brice Goglin ]
* libgl1-mesa-dev does not need to depend on libgl1-mesa-dri,
libgl1-mesa-glx is enough (since their split in 6.4.1-0.1);
closes: #432081. Thanks, Samuel Thibault!
[ Julien Cristau ]
* libgl1-mesa-dev Depends on libgl1-mesa-glx (>= ${source:Upstream-Version})
instead of >= ${Source-Version}. This way it's still installable on
architectures where mesa isn't built yet when a minor revision is
uploaded.
-- Julien Cristau <jcristau@debian.org> Wed, 11 Jul 2007 05:50:45 +0200
mesa (6.5.2-6) unstable; urgency=low
* libgl1-mesa-swx11 needs to depend on libosmesa6 (>= 6.5.2-1) because
it used to contain libOSMesa.so.6. This means that programs linked
against this lib got a dependency on -swx11 which was broken since
6.5.2-1.
* Fix build on hurd-i386 (build libgl1-mesa-glx without dri support and
don't build the dri drivers); closes: #420403. Thanks, Samuel Thibault!
-- Julien Cristau <jcristau@debian.org> Thu, 05 Jul 2007 00:56:35 +0200
mesa (6.5.2-5) unstable; urgency=low
[ Brice Goglin ]
* Add 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch
(closes: #420164). Thanks to Christian Ohm.
* Add 08_r300_update_window_state_when_bound_but_stamp_changed.patch
* Add 09_i915_always_enable_pixel_fog.patch
-- Julien Cristau <jcristau@debian.org> Fri, 18 May 2007 13:36:25 +0200
mesa (6.5.2-4) unstable; urgency=low
[ Julien Cristau ]

67
debian/control vendored
View File

@@ -2,14 +2,14 @@ Source: mesa
Section: graphics
Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Thierry Reding <thierry@gilfi.de>, Julien Cristau <jcristau@debian.org>
Uploaders: Thierry Reding <thierry@gilfi.de>, Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
Standards-Version: 3.7.2
Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, libdrm-dev (>= 2.2.0) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19)
Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, libdrm-dev (>= 2.2.0) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19), libxfixes-dev, libxdamage-dev
Package: libgl1-mesa-swx11
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Depends: ${shlibs:Depends}, libosmesa6 (>= 6.5.2-1)
Conflicts: mesag3-glide, mesag3-glide2, mesag3+ggi, libgl1, nvidia-glx, mesag3, libgl1-mesa-swrast
Provides: libgl1, mesag3, libgl1-mesa-swrast
Replaces: libgl1, mesag3, libgl1-mesa-swrast
@@ -57,7 +57,7 @@ Section: libs
Priority: extra
Architecture: i386
Pre-Depends: libgl1-mesa-swx11
Description: A free implementation of the OpenGL API -- runtime [i686 optimized]
Description: Mesa OpenGL runtime [i686 optimized]
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
@@ -80,19 +80,14 @@ Package: libgl1-mesa-swx11-dev
Section: libdevel
Architecture: any
Depends: libgl1-mesa-swx11 (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${source:Version})
Provides: libgl-dev, mesag3-widgets, mesag-widgets-dev, libglw-dev, mesag-dev, libgl1-mesa-swrast-dev
Provides: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
Conflicts: mesa-dev, libgl-dev, mesag3 (<< 3.1-1), nvidia-glx-dev, mesag-dev, libgl1-mesa-swrast-dev
Replaces: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
Description: A free implementation of the OpenGL API -- development support files
Description: A free implementation of the OpenGL API -- development files
This package provides the development environment required for
compiling programs with Mesa. For a complete description of Mesa,
please look at the libgl1-mesa-swx11 package.
.
This package also provides a simple widgets library, libGLw, which
allows Motif-based applications to embed an OpenGL drawing context.
The headers and static libraries for compiling programs that use this
library are included.
.
This library provides a pure software rasteriser; it does not provide
a direct rendering-capable library, or one which uses GLX. For that,
please see libgl1-mesa-dev.
@@ -120,7 +115,7 @@ Section: libdevel
Priority: extra
Architecture: any
Depends: libgl1-mesa-glx (= ${binary:Version})
Description: A free implementation of the OpenGL API -- GLX runtime -- debugging symbols
Description: Debugging symbols for the Mesa GLX runtime
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
@@ -158,7 +153,7 @@ Description: A free implementation of the OpenGL API -- GLX runtime -- debugging
Package: libgl1-mesa-dri
Section: libs
Priority: optional
Architecture: any
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Depends: ${shlibs:Depends}, libgl1-mesa-glx (= ${binary:Version})
Suggests: libglide3
Conflicts: xlibmesa-dri (<< 1:7.0.0)
@@ -179,9 +174,9 @@ Description: A free implementation of the OpenGL API -- DRI modules
Package: libgl1-mesa-dri-dbg
Section: libdevel
Priority: extra
Architecture: any
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Depends: libgl1-mesa-dri (= ${binary:Version})
Description: A free implementation of the OpenGL API -- DRI modules -- debugging symbols
Description: Debugging symbols for the Mesa DRI modules
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
@@ -218,11 +213,11 @@ Description: A free implementation of the OpenGL API -- DRI modules -- debugging
Package: libgl1-mesa-dev
Section: libdevel
Architecture: all
Depends: libc6-dev, mesa-common-dev (= ${source:Version}), libgl1-mesa-glx (>= ${Source-Version}), libgl1-mesa-dri (>= ${Source-Version})
Depends: libc6-dev, mesa-common-dev (= ${source:Version}), libgl1-mesa-glx (>= ${source:Upstream-Version})
Conflicts: libgl-dev, libgl1-mesa-dri-dev
Replaces: libgl-dev, libgl1-mesa-dri-dev
Provides: libgl-dev, libgl1-mesa-dri-dev
Description: A free implementation of the OpenGL API -- GLX development support files
Description: A free implementation of the OpenGL API -- GLX development files
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
@@ -263,7 +258,7 @@ Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${source:Version})
Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev
Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2)
Provides: xlibosmesa-dev, libosmesa-dev
Description: Mesa Off-screen rendering extension -- development support files
Description: Mesa Off-screen rendering extension -- development files
This package provides the required environment for developing programs
that use the off-screen rendering extension of Mesa.
.
@@ -297,16 +292,48 @@ Depends: libglu1-mesa (= ${binary:Version}), libgl1-mesa-dev | libgl-dev
Provides: libglu-dev, xlibmesa-glu-dev
Conflicts: mesag-dev (<< 5.0.0-1), mesa-glide2-dev (<< 5.0.0-1), mesag3+ggi-dev (<< 5.0.0-1), xlibmesa-dev
Replaces: libglu-dev
Description: The OpenGL utility library -- development support files
Description: The OpenGL utility library -- development files
Includes headers and static libraries for compiling programs with GLU.
.
For a complete description of GLU, please look at the libglu1-mesa
package.
Package: libglw1-mesa
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Provides: libglw1
Description: A free implementation of the OpenGL API -- runtime
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc. However, the author makes no claim that Mesa
is in any way a compatible replacement for OpenGL or associated with
Silicon Graphics, Inc.
.
This package provides a simple widgets library, libGLw, which
allows Motif-based applications to embed an OpenGL drawing context.
.
On Linux, this library is also known as libGLw or libGLw.so.1.
Package: libglw1-mesa-dev
Section: libdevel
Architecture: any
Depends: libglw1-mesa (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${source:Version})
Provides: mesag3-widgets, mesag-widgets-dev, libglw-dev
Conflicts: libglw-dev, libgl1-mesa-swx11-dev (<< 6.5.2-4)
Replaces: libglw-dev
Description: A free implementation of the OpenGL API -- development files
This package provides the development environment required for
compiling programs with the Mesa widgets library, libGLw, which
allows Motif-based applications to embed an OpenGL drawing context.
The headers and static libraries for compiling programs that use this
library are included.
Package: mesa-swx11-source
Section: libdevel
Architecture: all
Description: Mesa software rasteriser source -- development support files
Description: Mesa software rasteriser source -- development files
This package contains the source to the Mesa software rasteriser, which
implements all of Mesa's GL support in software. It powers the X11 and
X server backends (assuming unaccelerated indirect). This package is

View File

@@ -1,4 +1,2 @@
usr/include/GL/GLw*A.h
usr/lib/libGL.a
usr/lib/libGL.so
usr/lib/libGLw.a

1
debian/libgl1-mesa-swx11-i686.shlibs vendored Normal file
View File

@@ -0,0 +1 @@
libGL 1 libgl1-mesa-glx | libgl1

3
debian/libglw1-mesa-dev.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/include/GL/GLw*A.h
usr/lib/libGLw.a
usr/lib/libGLw.so

1
debian/libglw1-mesa.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/lib/libGLw.so.*

View File

@@ -3,9 +3,11 @@ OSMesa in a separate package.
This patch by Thierry Reding.
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
@@ -107,7 +107,7 @@
Index: mesa/src/mesa/Makefile
===================================================================
--- mesa.orig/src/mesa/Makefile 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/Makefile 2007-04-25 01:44:58.000000000 +0200
@@ -105,7 +105,7 @@
$(OSMESA_DRIVER_OBJECTS)

View File

@@ -2,9 +2,11 @@ Patch that fixes Debian bug #349437.
This patch by David Nusinow.
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -155,8 +155,9 @@
Index: mesa/src/mesa/main/imports.h
===================================================================
--- mesa.orig/src/mesa/main/imports.h 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/main/imports.h 2007-04-25 01:45:04.000000000 +0200
@@ -158,8 +158,9 @@
*** USE_IEEE: Determine if we're using IEEE floating point
***/
#if defined(__i386__) || defined(__386__) || defined(__sparc__) || \

View File

@@ -5,30 +5,44 @@ Provide an install target for installing the programs in $(INSTALL_DIR)/bin.
This patch by Thierry Reding.
Not submitted to Mesa.
--
Also remove references to GLU library since it is not required
and we don't actually build it at this point.
--- a/progs/xdemos/Makefile
+++ b/progs/xdemos/Makefile
@@ -8,7 +8,7 @@
Index: mesa/progs/xdemos/Makefile
===================================================================
--- mesa.orig/progs/xdemos/Makefile 2007-11-11 00:34:12.000000000 +0100
+++ mesa/progs/xdemos/Makefile 2007-11-11 02:07:52.000000000 +0100
@@ -6,11 +6,11 @@
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME)
INCDIR = $(TOP)/include
-LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME)
+LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
-PROGS = glthreads \
+PROGS ?= glthreads \
glxdemo \
glxgears \
glxgears_fbconfig \
@@ -44,6 +44,9 @@
@@ -46,6 +46,9 @@
default: $(PROGS)
+install: $(PROGS)
+ $(INSTALL) -d $(INSTALL_DIR)/bin
+ $(INSTALL) -m 755 $(PROGS) $(INSTALL_DIR)/bin
+ $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/bin
+ $(INSTALL) -m 755 $(PROGS) $(DESTDIR)$(INSTALL_DIR)/bin
clean:
-rm -f $(PROGS)
--- a/progs/Makefile
+++ b/progs/Makefile
Index: mesa/progs/Makefile
===================================================================
--- mesa.orig/progs/Makefile 2007-11-11 00:34:12.000000000 +0100
+++ mesa/progs/Makefile 2007-11-11 02:06:48.000000000 +0100
@@ -21,8 +21,12 @@
fi \
done

View File

@@ -1,8 +1,8 @@
diff --git a/configs/linux-osmesa b/configs/linux-osmesa
index cc1fbbd..aabab59 100644
--- a/configs/linux-osmesa
+++ b/configs/linux-osmesa
@@ -9,8 +9,17 @@ CONFIG_NAME = linux-osmesa
Index: mesa/configs/linux-osmesa
===================================================================
--- mesa.orig/configs/linux-osmesa 2007-11-11 00:24:07.000000000 +0100
+++ mesa/configs/linux-osmesa 2007-11-11 00:33:20.000000000 +0100
@@ -9,8 +9,17 @@
# Compiler and flags
CC = gcc
CXX = g++
@@ -20,18 +20,18 @@ index cc1fbbd..aabab59 100644
+
+CXXFLAGS = -ansi -pedantic $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
# Directories
@@ -23,3 +33,4 @@ PROGRAM_DIRS = osdemos
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
@@ -26,3 +35,4 @@
OSMESA_LIB_DEPS = -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU
+
diff --git a/configs/linux-osmesa-static b/configs/linux-osmesa-static
index 465f83c..eb3575f 100644
--- a/configs/linux-osmesa-static
+++ b/configs/linux-osmesa-static
@@ -8,7 +8,8 @@ CONFIG_NAME = linux-osmesa-static
Index: mesa/configs/linux-osmesa-static
===================================================================
--- mesa.orig/configs/linux-osmesa-static 2007-11-11 00:24:01.000000000 +0100
+++ mesa/configs/linux-osmesa-static 2007-11-11 00:33:20.000000000 +0100
@@ -8,7 +8,8 @@
# Compiler and flags
MKLIB_OPTIONS = -static
@@ -41,11 +41,11 @@ index 465f83c..eb3575f 100644
-OSMESA_LIB_NAME = libOSMesa.a
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
diff --git a/configs/linux-osmesa16 b/configs/linux-osmesa16
index 1fb0186..2a06254 100644
--- a/configs/linux-osmesa16
+++ b/configs/linux-osmesa16
@@ -1,28 +1,17 @@
Index: mesa/configs/linux-osmesa16
===================================================================
--- mesa.orig/configs/linux-osmesa16 2007-11-11 00:24:07.000000000 +0100
+++ mesa/configs/linux-osmesa16 2007-11-11 00:33:41.000000000 +0100
@@ -1,31 +1,19 @@
# Configuration for 16 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
@@ -58,9 +58,12 @@ index 1fb0186..2a06254 100644
-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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
-
+DEFINES += -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=32
# Library names
OSMESA_LIB = OSMesa16
-OSMESA_LIB_NAME = libOSMesa16.so
@@ -78,11 +81,11 @@ index 1fb0186..2a06254 100644
-APP_LIB_DEPS = -lOSMesa16
+APP_LIB_DEPS = -l$(OSMESA_LIB)
+
diff --git a/configs/linux-osmesa16-static b/configs/linux-osmesa16-static
index 6645504..894cf82 100644
--- a/configs/linux-osmesa16-static
+++ b/configs/linux-osmesa16-static
@@ -1,28 +1,13 @@
Index: mesa/configs/linux-osmesa16-static
===================================================================
--- mesa.orig/configs/linux-osmesa16-static 2007-11-11 00:24:07.000000000 +0100
+++ mesa/configs/linux-osmesa16-static 2007-11-11 00:33:20.000000000 +0100
@@ -1,14 +1,10 @@
# Configuration for 16 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
@@ -96,29 +99,31 @@ index 6645504..894cf82 100644
-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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
-
+PIC_FLAGS =
PIC_FLAGS =
@@ -17,16 +13,5 @@
CXXFLAGS += -fno-strict-aliasing
# Library names
-OSMESA_LIB = OSMesa16
-OSMESA_LIB_NAME = libOSMesa16.a
-
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
-
-# Directories
-SRC_DIRS = mesa glu
-DRIVER_DIRS = osmesa
-PROGRAM_DIRS =
-
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
-
-# Dependencies
-OSMESA_LIB_DEPS = -lm -lpthread
-APP_LIB_DEPS = -lOSMesa16
diff --git a/configs/linux-osmesa32 b/configs/linux-osmesa32
index a1e5a35..5a703f6 100644
--- a/configs/linux-osmesa32
+++ b/configs/linux-osmesa32
@@ -1,28 +1,18 @@
Index: mesa/configs/linux-osmesa32
===================================================================
--- mesa.orig/configs/linux-osmesa32 2007-11-11 00:24:07.000000000 +0100
+++ mesa/configs/linux-osmesa32 2007-11-11 00:33:51.000000000 +0100
@@ -1,31 +1,22 @@
# Configuration for 32 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
@@ -131,7 +136,10 @@ index a1e5a35..5a703f6 100644
-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 -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+DEFINES += -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
# Library names
@@ -151,10 +159,10 @@ index a1e5a35..5a703f6 100644
-APP_LIB_DEPS = -lOSMesa32
+APP_LIB_DEPS = -l$(OSMESA_LIB)
+
diff --git a/configs/linux-osmesa32-static b/configs/linux-osmesa32-static
index 6db8bc0..ecbb72e 100644
--- a/configs/linux-osmesa32-static
+++ b/configs/linux-osmesa32-static
Index: mesa/configs/linux-osmesa32-static
===================================================================
--- mesa.orig/configs/linux-osmesa32-static 2007-11-11 00:24:01.000000000 +0100
+++ mesa/configs/linux-osmesa32-static 2007-11-11 00:33:20.000000000 +0100
@@ -1,28 +1,13 @@
# Configuration for 32 bits/channel OSMesa library on Linux

View File

@@ -1,60 +0,0 @@
diff --git a/configs/linux-alpha-static b/configs/linux-alpha-static
index 2a30af9..eb6a08a 100644
--- a/configs/linux-alpha-static
+++ b/configs/linux-alpha-static
@@ -11,6 +11,7 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
diff --git a/configs/linux-ppc-static b/configs/linux-ppc-static
index d0e1688..3f3dc55 100644
--- a/configs/linux-ppc-static
+++ b/configs/linux-ppc-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-ppc
CONFIG_NAME = linux-ppc-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-static b/configs/linux-static
index 85141ea..1592668 100644
--- a/configs/linux-static
+++ b/configs/linux-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux
CONFIG_NAME = linux-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-x86-64-static b/configs/linux-x86-64-static
index 0257430..2d0b664 100644
--- a/configs/linux-x86-64-static
+++ b/configs/linux-x86-64-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-x86-static b/configs/linux-x86-static
index 9915987..e6a3696 100644
--- a/configs/linux-x86-static
+++ b/configs/linux-x86-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a

View File

@@ -1,23 +0,0 @@
From: Michel Dänzer <michel@tungstengraphics.com>
Date: Thu, 14 Dec 2006 09:01:43 +0000 (+0100)
Subject: _mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.
X-Git-Url: http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commitdiff;h=9c09259b8bef8f120cc6f4bb1a44f0eae37d71b3
_mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.
This fixes texture data corruption with glTexSubimage (and probably glTexImage
under some circumstances) with the texstore swizzle path.
---
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -808,7 +808,8 @@ _mesa_swizzle_ubyte_image(GLcontext *ctx
/* _mesa_printf("map %d %d %d %d\n", map[0], map[1], map[2], map[3]); */
- if (srcRowStride == srcWidth * srcComponents &&
+ if (srcRowStride == dstRowStride &&
+ srcRowStride == srcWidth * srcComponents &&
dimensions < 3) {
/* 1 and 2D images only */
GLubyte *dstImage = (GLubyte *) dstAddr

View File

@@ -3,5 +3,3 @@
02_use-ieee-fp-on-s390-and-m68k.patch
03_optional-progs-and-install.patch
04_cleanup-osmesa-configs.patch
05_static-nonpic.patch
06_fix_texture_data_corruption.patch

12
debian/rules vendored
View File

@@ -44,8 +44,8 @@ CONFIGS = $(SWX11_GLU_CONFIGS) \
STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
INSTALL_STAMPS = $(addprefix $(STAMP)-install-, $(CONFIGS)) \
$(STAMP_DIR)/install-source
ARCH_INSTALL_STAMPS = $(addprefix $(STAMP)-install-, $(CONFIGS))
INDEP_INSTALL_STAMPS = $(STAMP_DIR)/install-source
# list the configurations that will built
configs:
@@ -72,17 +72,17 @@ $(STAMP)-build-%: patch
pre-install:
dh_testdir
dh_testroot
dh_clean -k --exclude ./Makefile.orig --exclude configs/CVS/Root.bak
dh_clean -k
rm -rf $(INSTALL_STAMPS)
install: pre-install $(INSTALL_STAMPS)
install: pre-install $(ARCH_INSTALL_STAMPS)
$(STAMP)-install-%: $(STAMP)-build-%
# Add here commands to install the package into debian/tmp
cd $(DEB_BUILD_DIR)/$* && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
touch $@
$(STAMP_DIR)/install-source:
$(STAMP_DIR)/install-source: pre-install
# install Mesa source for mesa-swx11-source package
chmod a+x debian/scripts/install-source.sh
debian/scripts/install-source.sh
@@ -95,7 +95,7 @@ clean: unpatch
rm -rf $(DEB_BUILD_DIR) $(STAMP_DIR)
# Build architecture-independent files here.
binary-indep: build install
binary-indep: build install $(INDEP_INSTALL_STAMPS)
dh_testdir
dh_testroot
dh_installchangelogs -i

View File

@@ -22,10 +22,14 @@ else
endif
# and for the GLX/DRI-enabled libGL
ifneq ($(wildcard configs/debian-dri-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-dri-$(DEB_BUILD_ARCH)
ifneq ($(wildcard configs/debian-indirect-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-indirect-$(DEB_BUILD_ARCH)
else
ifneq ($(wildcard configs/debian-dri-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-dri-$(DEB_BUILD_ARCH)
else
DRI_CONFIGS := debian-dri-any
endif
endif
##############################################################################

View File

@@ -9,7 +9,6 @@ fi
SOURCE_DIRS='
include/GL/internal
src/glx/x11
src/mesa/array_cache
src/mesa/drivers/common
src/mesa/drivers/dri/common
src/mesa/drivers/dri/glcore
@@ -24,6 +23,7 @@ SOURCE_DIRS='
src/mesa/swrast
src/mesa/tnl_dd
src/mesa/tnl
src/mesa/vbo
src/mesa/x86-64
src/mesa/x86
'

View File

@@ -88,19 +88,6 @@ driver (such as <code>radeon_dri.so</code>) at runtime. &nbsp;The
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
directory where these modules are located.<br>
<br>
Prior to running a MiniGXL application, the following kernel modules
must be installed:<br>
<br>
<div style="margin-left: 40px;"> agpgart.o<br>
radeonfb.o &nbsp;(assuming Radeon hardware)<br>
radeon.o &nbsp;(assuming Radeon hardware)<br>
</div>
<code></code> <br>
Finally, MiniGLX reads a configuration file (by default,<code>
/etc/miniglx.conf</code>) to determine basic configuration information.
&nbsp;The configuration file may also be located in the directory
specified by the <code>MINIGLX_CONF</code> environment variable).<br>
<br>
The remainder of this section describes the MiniGLX API functions.<br>
<br>
<h2>3.1 Initialization</h2>

View File

@@ -88,3 +88,66 @@ Running the Build:
Paul G. <pgarceau@users.sourceforge.net>
Daniel Borca <dborca@users.sourceforge.net>
******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
====================
Updated on 2007-7-21
====================
Notice:
1) The generated DLLs are *not* compatible with the ones built
with the other compilers like VC8, especially for GLUT.
2) Although more tests are needed, it can be used individually!
3) You can set the options about whether using STDCALL to build MESA. The
config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
ALL_USING_STDCALL = 1
, which means using STDCALL to build MESA.
4) Of course, you can MESA without using STDCALL,I like this:)
The setting is :
ALL_USING_STDCALL = 0
To do this, however, you must modify wingdi.h which is in MingW's include dir.
For example, run:
notepad C:\MingW\include\wingdi.h
, and delete all the lines where all the wgl*() functions are. Because they would
be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
====================
Updated on 2007-7-22
====================
I havn't thought that I would find a better way to solve my problems so soon.
I changed the method in which the import-libs and DLLs are made. After this update,
the DLLs of MESA are more optimized and more compatible.
It seems that there is no need to keep the building way of 'NO-STDCALL'.The
way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
also not needed, and can be deleted safely!
*********************************************************************************

View File

@@ -1,155 +1,163 @@
File: docs/README.WIN32
Last updated: Mar 31, 2006 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
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 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.
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.
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.
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:
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
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.
GLUT and Demos
---- --- -----
A Visual Studio workspace can be found at
windows/VC6/progs/progs.dsw
or
windows/VC7/progs/progs.sln
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 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.
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.
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,
nmake -f Makefile.win
should build all the demos.
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.
Karl Schultz
File: docs/README.WIN32
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
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 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 8 files
are in windows/VC8.
Support has been dropped for versions of Visual Studio prior to 8. The
main reason is because Microsoft now provides a free compiler and
developer environment. Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
You'll also need the Platform SDK. Instructions for obtaining and
using the SDK with Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
If you are stuck using VC6 or VC7, you may start with these project
files, but you may need to modify them to reflect changes in the
Mesa source code tree. If you sucessfully update the project files,
please submit them to the author of this document so that they may
be included in the next distribution.
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.
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/VC8/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:
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
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.
GLUT and Demos
---- --- -----
A Visual Studio workspace can be found at
windows/VC8/progs/progs.sln
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 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.
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.
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,
nmake -f Makefile.win
should build all the demos.
Build System Notes
----- ------ -----
VC6 (not actively supported)
---
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 (not actively supported)
---
The above-mentioned .cc problem does not exist in this version.
VC8
---
No notes.
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.
Karl Schultz

View File

@@ -1,47 +0,0 @@
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 $

View File

@@ -1,47 +0,0 @@
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 $

View File

@@ -1,97 +0,0 @@
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

@@ -1,60 +0,0 @@
Mesa 6.5.1 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.
Mesa 6.5.1 is a 6.5 follow-on development release mostly consisting of
bug fixes (see the VERSIONS file).
New Features
------------
Intel i965 "broadwater" DRI driver
GL_APPLE_vertex_array_object - allows encapsulation of a set of vertex
arrays in an object.
GL_EXT_texture_sRGB - non-linearly mapped texture formats
GL_EXT_gpu_program_parameters - addes a few new functions for setting
multiple vertex/fragment program parameters with one call.
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.1,v 1.2 2006/08/18 20:24:54 brianp Exp $

View File

@@ -25,6 +25,7 @@ a:visited {
<ul>
<li><a href="intro.html" target="MainFrame">Introduction</a>
<li><a href="news.html" target="MainFrame">News</a>
<LI><A HREF="developers.html" target="MainFrame">Developers</A>
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
<li><a href="license.html" target="MainFrame">License & Copyright</a>
<li><a href="faq.html" target="MainFrame">FAQ</a>
@@ -63,16 +64,16 @@ a:visited {
<b>Developer Topics</b>
<ul>
<li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>
<li><a href="cvs_access.html" target="MainFrame">CVS Access</a>
<li><a href="cvs_branches.html" target="MainFrame">CVS Branch Info</a>
<li><a href="repository.html" target="MainFrame">Source Code Repository</a>
<li><a href="memory.html" target="MainFrame">DRI Memory Management</a>
<li><a href="shading.html" target="MainFrame">Shading Language</a>
<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="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>
<li><a href="subset.html" target="MainFrame">Mesa Subset Driver</a>
<li><a href="glfbdev-driver.html" target="MainFrame">glFBDev Driver</a>
<LI><A HREF="custom.html" target="MainFrame">Custom Development</A>
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
</ul>

View File

@@ -1,27 +0,0 @@
<HTML>
<TITLE>Custom Development</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Custom Development</H1>
<p>
Mesa is primarily developed and maintained on a volunteer basis.
Some Mesa development work has been done in conjuction with contracted
projects, such as the XFree86/DRI drivers.
</p>
<p>
<pre>[Begin shameless plug]</pre>
If you have a need for specific or custom Mesa development work,
<a href="http://www.tungstengraphics.com/" target="_parent">
Tungsten Graphics, Inc.</a> may be able to help you.
<pre>[End shameless plug]</pre>
</p>
</body>
</html>

View File

@@ -1,106 +0,0 @@
<HTML>
<TITLE>CVS Access</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<h1>CVS Access</h1>
<p>
Mesa's CVS repository (code management system) is hosted on
<a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>.
</p>
<p>
You may access the repository either as an
<a href="#anonymous">anonymous user</a> (read-only) or as a
<a href="#developer">developer</a>
(read/write).
</p>
<p>
You may also
<a href="http://freedesktop.org/cgi-bin/viewcvs.cgi/mesa/Mesa/"
target="_parent">browse the CVS repository</a>.
</p>
<a name="anonymous">
<H2>Anonymous CVS Access</H2>
<p>
Anonymous, public, read-only access to the CVS repository is available.
Here are the basic instructions for Unix systems:
</p>
<ol>
<li>Install CVS client software on your computer if needed.
Version 1.9.28 is known to work.
<li>Login as an anonymous user:
<pre>
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@anoncvs.freedesktop.org:/cvs/mesa co Mesa
</pre>
</ol>
<p>To update your Mesa CVS source to the latest CVS source:</p>
<ol>
<li><code>cd Mesa</code>
<li><code>cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa update</code>
</ol>
<a name="developer">
<H2>Developer CVS Access</H2>
<p>
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>.
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>
Once your account is established, you can check out the Mesa CVS tree
with:
<pre>
setenv CVS_RSH ssh (if using a csh-like shell)
</pre>
<em>OR</em>
<pre>
export CVS_RSH=rsh (if using a bash-like shell)
</pre>
followed by:
<pre>
cvs -d:ext:yourusername@cvs.freedesktop.org:/cvs/mesa co Mesa
</pre>
<p>
Of course, replace <em>yourusername</em> with your actual login name.
</p>
<p>
Subsequent updates should only require:
</p>
<pre>
cvs update
</pre>
</body>
</html>

View File

@@ -1,80 +0,0 @@
<HTML>
<TITLE>CVS Branches</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>CVS Branch Information</H1>
<p>
At any given time, there may be several active branches in Mesa's
CVS repository.
Generally, the CVS trunk contains the latest development (unstable)
code while a CVS branch has the latest stable code.
</p>
<p>
Currently (Oct 2004), the trunk is the Mesa 6.3 development code
while the mesa_6_2_branch branch has the stable Mesa 6.2.x code.
</p>
<p>
Mesa releases use an even/odd numbering scheme to represent stable/development
releases.
For example, Mesa 6.2 (0 is considered even) is a stable release while
Mesa 6.3 is a development release.
</p>
<p>
To checkout a specific CVS branch pass <code>-r</code> and
the branch tag after your CVS command.
For example <code>cvs checkout -r mesa_6_2_branch Mesa</code> will
checkout the 6.2 branch and <code>cvs update -r
mesa_6_2_branch</code> will convert your current CVS tree to the 6.2
branch.
Consult <a href="http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54"
target="_parent">http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54</a>
for more on branching in CVS.
</p>
<p>
To see a list of all the CVS branches run <code>cvs log README</code> (or any
other file) and look for the section labeled <code>symbolic names</code>.
You'll see something like this:
</p>
<pre> symbolic names:
mesa_4_0: 1.3
mesa_4_0_branch: 1.3.0.6
mesa_3_5: 1.3
mesa_3_4_2: 1.3
mesa_3_4_1: 1.3
mesa_3_4: 1.3
mesa_3_4_branch: 1.3.0.4
mesa_3_3: 1.3
mesa_3_2_1: 1.1.1.1
mesa_3_3_texture_env_combine2: 1.3.0.2
mesa_3_2: 1.1.1.1
mesa_3_2_beta_1: 1.1.1.1
mesa_3_1: 1.1.1.1
mesa_3_2_dev: 1.1.1.1.0.2
mesa_3_1_beta_3: 1.1.1.1
start: 1.1.1.1
mesa: 1.1.1
</pre>
<p>
Most will be obsolete branches. Generally, the newer branches are at
the top. Ask on the mesa3d-dev mailing list to learn which branches
are active.
</p>
</body>
</html>

51
docs/developers.html Normal file
View File

@@ -0,0 +1,51 @@
<HTML>
<TITLE>Developers</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Developers</H1>
<p>
Both professional and volunteer developers contribute to Mesa.
</p>
<p>
<a href="http://www.tungstengraphics.com/" target="_parent">Tungsten Graphics</a>
employs several of the main Mesa developers including Brian Paul
and Keith Whitwell.
Much of the on-going work in Mesa is done through Tungsten Graphics engineering
contracts.
Prominent examples of this work includes:
</p>
<ul>
<li>DRI drivers for Intel i965, i945, i915 and other chips
<li>Advanced memory manager and framebuffer object support
<li>Shading language compiler and OpenGL 2.0 support
<li>MiniGLX environment
</ul>
<p>
Other companies including
<a href="http://www.intellinuxgraphics.org/index.html" target="_parent">Intel</a>
and IBM also actively contribute to the project.
</p>
<p>
Volunteers have made significant contributions to all parts of Mesa, including
complete device drivers.
</p>
<H1>Custom Development</H1>
<p>
Contact <a href="http://www.tungstengraphics.com/" target="_parent">
Tungsten Graphics</a>
for information about custom development in Mesa, OpenGL, X and other
graphics technologies.
</p>
</body>
</html>

View File

@@ -9,11 +9,7 @@
<H1>Downloading</H1>
<p>
Last development release: <b>6.5.1</b>
</p>
<p>
Last stable release: <b>6.4.2</b>
Last stable release: <b>7.0.2</b>
</p>
<p>

View File

@@ -12,161 +12,83 @@
<H1>1. Introduction</H1>
<p>
The fbdev/DRI sub-project within Mesa brings hardware accelerated OpenGL
rendering to the Linux fbdev environment.
The X Window System / XFree86 is not needed.
The fbdev/DRI environment supports hardware-accelerated 3D rendering without
the X window system. This is typically used for embedded applications.
</p>
<p>
Basically, the <a href="http://dri.sf.net/">DRI</a> drivers for hardware
accelerated OpenGL for XFree86 have been ported to fbdev so that X is
not needed.
This means fbdev/DRI works in full-screen mode only.
Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie.
</p>
<p>
DRI driver writers may find this simplified environment easier to work in,
compared to the full XFree86/DRI environment.
Applications in the fbdev/DRI environment use
the <a href="MiniGXL.html"> MiniGLX</a> interface to choose pixel
formats, create rendering contexts, etc. It's a subset of the GLX and
Xlib interfaces allowing some degree of application portability between
the X and X-less environments.
</p>
<p>
Much of the work for this project has been done by Jon Smirl and
Keith Whitwell.
Some of the files needed for building this configuration are not included
in the normal Mesa releases so you'll need to get the latest sources
sources from the <a href="repository.html">git repository</a>.
</p>
<p>
To use fbdev/DRI, you'll need a Linux 2.4 or 2.6 kernel.
</p>
<h3>Background Info</h3>
<p>
The Mesa-based DRI drivers used to be hosted in the DRI tree (which is
basically a copy of the XFree86 tree).
Since the Mesa-based DRI drivers are moreso "Mesa drivers" than "XFree86
drivers" and the fact that with some work, the drivers could be used
without X, the driver code was moved into the Mesa tree.
</p>
<p>
So now the DRI drivers can be compiled for two different environments:
fbdev and XFree86.
To build the drivers for XFree86, one has to download/build the DRI
source tree.
Eventually, we'd like to be able to build the drivers for XFree86 outside
of the XFree86/DRI trees.
</p>
<h1>2. Compilation</h1>
<h2>2.1 Compiling the DRM modules</h2>
<p>
First, you'll need the DRM (Direct Rendering Manager) kernel module sources.
They're found in a module of the DRI CVS tree.
To obtain the code do the following:
You'll need the DRM and pciaccess libraries. Check with:
</p>
<pre>
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@anoncvs.freedesktop.org:/cvs/dri co drm
pkg-config --modversion libdrm
pkg-config --modversion pciaccess
</pre>
<p>
Compile the DRM kernel modules:
You can get them from the git repository with:
</p>
<pre>
cd drm/linux
make
git clone git://anongit.freedesktop.org/git/mesa/drm
git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
</pre>
<p>
Note: you may need to be root in order to make a few symlinks.
See the README files in those projects for build/install instructions.
</p>
<p>
When compilation is done, you should have at least the following
kernel modules:
You'll need fbdev header files. Check with:
</p>
<pre>
gamma.o
i810.o
i830.o
mach64.o
mga.o
r128.o
radeon.o
savage.o
sis.o
tdfx.o
via.o
ls -l /usr/include/linux/fb.h
</pre>
<p>
You'll probably want to copy/move them into your kernel module directory
(for example: <code>/lib/modules/2.4.18-14/kernel/drivers/char/drm/</code>).
</p>
<h2>2.2 Compiling the Mesa drivers</h2>
<p>
Begin by editing the <code>Mesa/configs/default</code> file to set
the <code>DRM_SOURCE_PATH</code> variable.
Set it to the location where the DRM module sources are located.
For example, if your current directory in step 2.1 was <code>/home/fred/</code>
set DRM_SOURCE_PATH to <code>/home/fred/drm</code>
</p>
<p>
Next, assuming you're starting with a fresh Mesa CVS checkout,
do the following:
Compile Mesa with the 'linux-solo' configuration:
</p>
<pre>
make linux-solo
</pre>
<p>
If you previously built the source tree, run <code>make realclean</code>
first to remove the old object files.
When complete you should have the following:
</p>
<p>
When this is finished, check the <code>Mesa/lib/</code> directory
to verify that the following files were made:
</p>
<ul>
<li><code>libGL.so.1.2</code> - the client-side OpenGL library
(and a few symlinks to it).
<li><code>libGLU.so.1.1</code> - the GLU library (and a few symlinks to it).
<li><code>libglut.so.3.7</code> - the GLUT library (and a few symlinks to it).
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
<li><code>r128_dri.so</code> - DRI driver for ATI Rage 128 cards.
<li><code>r200_dri.so</code> - DRI driver for ATI R200 Radeon cards.
<li><code>radeon_dri.so</code> - DRI driver for original ATI Radeon cards.
<li><code>i810_dri.so</code> - DRI driver for Intel i810/i815 chips.
<li><code>i830_dri.so</code> - DRI driver for Intel i830/i845 chips.
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
<li><code>sis_dri.so</code> - DRI driver for SIS cards.
<li><code>tdfx_dri.so</code> - DRI driver for 3dfx Voodoo 3/4/5 cards.
<li><code>gamma_dri.so</code> - DRI driver for 3Dlabs gamma cards.
<li><code>fb_dri.so</code> - software-only fbdev driver.
<li><code>miniglx.conf</code> - configuration file for the MiniGLX interface
<li>lib/libGL.so - the GL library which applications link with
<li>lib/*_dri_so - DRI drivers
<li>lib/miniglx.conf - sample MiniGLX config file
<li>progs/miniglx/* - several MiniGLX sample programs
</ul>
<h1>3. Using fbdev/DRI</h1>
<p>
If XFree86 is currently running, exit/stop the X server so you're
working from the console.
If an X server currently running, exit/stop it so you're working from
the console.
</p>
@@ -175,12 +97,23 @@ working from the console.
<p>
You'll need to load the kernel modules specific to your graphics hardware.
Typically, this consists of the agpgart module, an fbdev driver module
and the DRM kernel module (from step 2.1).
and the DRM kernel module.
</p>
<p>
As root, the kernel modules can be loaded as follows:
</p>
<p>
If you have Intel i915/i945 hardware:
</p>
<pre>
modprobe agpgart # the AGP GART module
modprobe intelfb # the Intel fbdev driver
modprobe i915 # the i915/945 DRI kernel module
</pre>
<p>
If you have ATI Radeon/R200 hardware, run as root:
If you have ATI Radeon/R200 hardware:
</p>
<pre>
modprobe agpgart # the AGP GART module
@@ -189,7 +122,7 @@ If you have ATI Radeon/R200 hardware, run as root:
</pre>
<p>
If you have ATI Rage 128 hardware, run as root:
If you have ATI Rage 128 hardware:
</p>
<pre>
modprobe agpgart # the AGP GART module
@@ -198,7 +131,7 @@ If you have ATI Rage 128 hardware, run as root:
</pre>
<p>
If you have Matrox G200/G400 hardware, run as root:
If you have Matrox G200/G400 hardware:
</p>
<pre>
modprobe agpgart # the AGP GART module
@@ -207,37 +140,46 @@ If you have Matrox G200/G400 hardware, run as root:
</pre>
<p>
Then run <code>lsmod</code> to be sure the modules are loaded.
For a Radeon card, you should see something like this:
To verify that the agpgart, fbdev and drm modules are loaded:
</p>
<pre>
Module Size Used by Not tainted
radeon 110308 0 (unused)
radeonfb 21900 0 (unused)
agpgart 43072 1
ls -l /dev/agpgart /dev/fb* /dev/dri
</pre>
<p>
Alternately, use lsmod to inspect the currently installed modules.
If you have problems, look at the output of dmesg.
</p>
<h2>3.2 Configuration File</h2>
<p>
The <code>Mesa/lib/miniglx.conf</code> file should be installed
in <code>/etc/</code>.
Copy the sample miniglx.conf to /etc/miniglx.conf and review/edit its contents.
Alternately, the MINIGLX_CONF environment variable can be used to
indicate the location of miniglx.conf
</p>
<p>
Edit <code>/etc/miniglx.conf</code> to be sure it's set up correctly
for your hardware.
Comments in the file explain the options.
To determine the pciBusID value, run lspci and examine the output.
For example:
</p>
<pre>
/sbin/lspci:
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)
</pre>
<p>
00:02.0 indicates that pciBusID should be PCI:0:2:0
</p>
<h2>3.3 Running fbdev/DRI Programs</h2>
<p>
Make sure your LD_LIBRARY_PATH environment variable is set to the
<code>Mesa/lib/</code> directory.
location of the libGL.so library. You may need to append other paths
to LD_LIBRARY_PATH if libpciaccess.so is in a non-standard location,
for example.
</p>
<p>
@@ -245,7 +187,7 @@ Change to the <code>Mesa/progs/miniglx/</code> directory and
start the sample_server program in the background:
</p>
<pre>
./sample_server &
./sample_server &amp;
</pre>
<p>
@@ -268,27 +210,24 @@ them from a remote shell so that you can stop them with ctrl-C.
<h1>4.0 Troubleshooting</h1>
<p>
<ol>
<li>
If you try to run miniglxtest and get the following:
</p>
<br>
<pre>
[miniglx] failed to probe chipset
connect: Connection refused
server connection lost
</pre>
<p>
It means that the sample_server process is not running.
</p>
<br>
<br>
</li>
</ol>
<h1>5.0 Programming Information</h1>
<p>
The full OpenGL API is available with fbdev/DRI.
</p>
<p>
OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a>
interface.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -6,7 +6,7 @@
<BODY>
<H1>Help Wanted</H1>
<H1>Help Wanted / To-Do List</H1>
<p>
We can always use more help with the Mesa project.
@@ -14,36 +14,13 @@ Here are some specific ideas and areas where help would be appreciated:
</p>
<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>
<li>
Enable -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
issues in the code.
<li>
Windows 98/NT driver building, maintenance and testing
<li>
Maintenance and testing of lesser-used drivers, such as DOS/DJGPP, GGI, etc.
</ol>

View File

@@ -57,50 +57,31 @@ the DRI hardware drivers.
<li>
<p>
DRM kernel modules and header files from the
<a href="http://dri.sf.net/" target="_parent">DRI</a> project.
</p>
<p>
If you don't already have the DRM file, you can get the sources 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.
For Mesa 7.0.2 <a href="http://dri.freedesktop.org/libdrm/">
DRM version 2.3</a> is required.
</p>
<p>
You can verify that the DRM files have been properly installed by
running <code>pkg-config --modversion libdrm</code>
To check if you already have it, run:
<br>
<code>pkg-config --modversion libdrm</code>
</p>
<p>
You can download and install a <a href="http://dri.freedesktop.org/libdrm/">
tarball release</a> or get the code from git with:
<br>
<code>git clone git://anongit.freedesktop.org/git/mesa/drm</code>
<br>
Then revert to the drm-2.3.0 tag with:
<br>
<code>git-reset --hard drm-2.3.0</code>
</p>
</li>
<li>
Recent /usr/include/GL/glxproto.h file.
<p>You'll need this if you get any errors about _GLXvop_BindTexImageEXT
being undefined.
</p>
<p>
Download/install the
<a href="http://gitweb.freedesktop.org/?p=xorg/proto/glproto.git">glproto</a>
module from X.org git, or grab the
<A href="http://webcvs.freedesktop.org/*checkout*/xorg/proto/GL/glxproto.h?rev=1.9&content-type=text%2Fplain">glxproto.h file</a> and put it in the
Mesa/include/GL/ directory.
</p>
</li>
<li>DRI-enabled X server.
<p>Visit
<a href="http://www.xfree86.org" target="_parent">XFree86</a>
or
Relatively recent
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
X.org</a>
for more information.
</p>
X.org</a> release.
Mesa depends on a number of X header and library files.
</li>
</ol>
@@ -287,7 +268,15 @@ already installed, you'll have to choose different directories, like
To install Mesa's headers and libraries, run <code>make install</code>.
But first, check the Mesa/configs/default file and examine the values
of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables.
Change them if needed, then run <code>make install</code>
Change them if needed, then run <code>make install</code>.
</p>
<p>
The variable
<b>DESTDIR</b> may also be used to install the contents to a temporary
staging directory.
This can be useful for package management.
For example: <code>make install DESTDIR=/somepath/</code>
</p>
<p>
@@ -298,6 +287,26 @@ This is a handy way to compare multiple OpenGL implementations.
</p>
<H3>1.5 pkg-config support</H3>
<p>
Running <code>make install</code> will install package configuration files
for the pkg-config utility.
</p>
<p>
When compiling your OpenGL application you can use pkg-config to determine
the proper compiler and linker flags.
</p>
<p>
For example, compiling and linking a GLUT application can be done with:
</p>
<pre>
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
</pre>
<br>
<a name="windows">
<H2>2. Windows Compilation and Installation</H1>

View File

@@ -9,35 +9,31 @@
<H1>Introduction</H1>
<p>
Mesa is a 3-D graphics library with an API which is very similar to
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
To the extent that Mesa utilizes the OpenGL command syntax or state
machine, it is being used with authorization from <a
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
Inc.</a>(SGI). However, the author does not possess an OpenGL license
from SGI, and makes no claim that Mesa is in any way a compatible
replacement for OpenGL or associated with SGI. Those who want a
licensed implementation of OpenGL should contact a licensed
vendor.
Mesa is an open-source implementation of the
<a href="http://www.opengl.org/" target="_parent">OpenGL</a> specification -
a system for rendering interactive 3D graphics.
</p>
<p>
Please do not refer to the library as <em>MesaGL</em> (for legal
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
library</em>. <br>
A variety of device drivers allows Mesa to be used in many different
environments ranging from software emulation to complete hardware acceleration
for modern GPUs.
</p>
<p>
* OpenGL is a trademark of <a href="http://www.sgi.com/"
target="_parent">Silicon Graphics Incorporated</a>.
Mesa ties into several other open-source projects: the
<a href="http://dri.sf.net/" target="_parent">Direct Rendering Infrastructure</a>
and <a href="http://x.org" target="_parent">X.org</a> to provide OpenGL
support to users of X on Linux, FreeBSD and other operating systems.
</p>
<H1>Project History</H1>
<p>
The Mesa project was founded by me, Brian Paul. Here's a short history
of the project.
The Mesa project was originally started by Brian Paul.
Here's a short history of the project.
</p>
<p>
@@ -132,10 +128,15 @@ specification as well as the GL_ARB_vertex_program and
GL_ARB_fragment_program extensions.
</p>
<p>
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
and OpenGL Shading Language.
</p>
<p>
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for
the XFree86 X.org X servers within the
the XFree86 and 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>
@@ -145,9 +146,16 @@ I continue to enhance Mesa with new extensions and features.
<H1>Major Versions</H1>
<p>
This is a summary of the major versions of Mesa. Note that Mesa's major
version number tracks OpenGL's minor version number (+1).
Work is underway to implement the OpenGL 2.0 specification.
This is a summary of the major versions of Mesa.
Mesa's major version number has been incremented whenever a new version
of the OpenGL specification is implemented.
</p>
<H2>Version 7.x features</H2>
<p>
Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature
of OpenGL 2.x is the OpenGL Shading Language.
</p>

View File

@@ -6,6 +6,34 @@
<BODY>
<H1>Disclaimer</H1>
<p>
Mesa is a 3-D graphics library with an API which is very similar to
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
To the extent that Mesa utilizes the OpenGL command syntax or state
machine, it is being used with authorization from <a
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
Inc.</a>(SGI). However, the author does not possess an OpenGL license
from SGI, and makes no claim that Mesa is in any way a compatible
replacement for OpenGL or associated with SGI. Those who want a
licensed implementation of OpenGL should contact a licensed
vendor.
</p>
<p>
Please do not refer to the library as <em>MesaGL</em> (for legal
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
library</em>. <br>
</p>
<p>
* OpenGL is a trademark of <a href="http://www.sgi.com/"
target="_parent">Silicon Graphics Incorporated</a>.
</p>
<H1>License / Copyright Information</H1>
<p>
@@ -24,7 +52,7 @@ The default Mesa license is as follows:
</p>
<pre>
Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
Copyright (C) 1999-2007 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"),
@@ -58,29 +86,32 @@ and their respective licenses.
<H1>Mesa Component Licenses</H1>
<pre>
Component Location Primary Author License
----------------------------------------------------------------------------
Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
Component Location License
------------------------------------------------------------------
Main Mesa code src/mesa/ Mesa (MIT)
Device drivers src/mesa/drivers/* See drivers See drivers
Device drivers src/mesa/drivers/* MIT, generally
Ext headers include/GL/glext.h SGI SGI Free B
Ext headers include/GL/glext.h Khronos
include/GL/glxext.h
GLUT src/glut/ Mark Kilgard Mark's copyright
GLUT src/glut/ Mark Kilgard's copyright
Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
SGI GLU library src/glu/sgi/ SGI Free B
SGI GLU library src/glu/sgi/ SGI SGI Free B
demo programs progs/demos/ see source files
demo programs progs/demos/ various see source files
X demos progs/xdemos/ see source files
X demos progs/xdemos/ Brian Paul see source files
SGI demos progs/samples/ SGI license
SGI demos progs/samples/ SGI SGI copyright
RedBook demos progs/redbook/ SGI SGI copyright
RedBook demos progs/redbook/ SGI license
</pre>
<p>
In general, consult the source files for license terms.
</p>
</body>
</html>

View File

@@ -9,47 +9,58 @@
<H1>Mailing Lists</H1>
<p>There are four Mesa mailing lists:</p>
<ul>
<li><b>mesa3d-users</b> - intended for users of the Mesa library.
Newbie questions are appropriate, but please try reading the Mesa documentation first.
</li><li><b>mesa3d-dev</b> - intended for developers of the Mesa library.
This is not for beginners.
</li><li><b>mesa3d-cvs</b> - CVS check-in messages are sent to this list.
This is useful for tracking ongoing development changes.
</li><li><b>mesa3d-announce</b> - announcements of new Mesa versions are sent to this list.
</li></ul>
<p>
To subscribe or unsubscribe, go to the
<a href="http://www.sourceforge.net/mail/?group_id=3" target="_parent">
SourceForge lists page.</a>
<p>There are four Mesa mailing lists:
</p>
<p>The mailing lists are managed by SourceForge. If you're having trouble
with the mailing lists please contact the SourceForge administrators for help.</p>
<ul>
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-announce"
target="_parent">mesa3d-announce</a> - announcements of new Mesa
versions are sent to this list.
</li>
<br>
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-users"
target="_parent">mesa3d-users</a> - intended for users of the Mesa library.
Newbie questions are appropriate, but please try the general OpenGL
resources and Mesa documentation first.
</li>
<br>
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-dev"
target="_parent">mesa3d-dev</a> - for discussion of Mesa development.
Not for beginners.
</li>
<br>
<li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-commit"
target="_parent">mesa-commit</a> - relays git check-in messages
(for developers).
<br>
Note: the old mesa3d-cvs list is no longer in use.
</li>
</ul>
<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/"
target="_parent">here</a>.</p>
<p>
<b>Notice</b>: non-member posts to any of these lists will be automatically
rejected.
</p>
<br>
<H1>OpenGL Forums</H1>
<p>
Here are some other OpenGL-related forums you might find useful:
</p>
<p>
Usenet newsgroups:
<ul>
<li>comp.graphics.algorithms
<li>comp.graphics.api.opengl
<li>comp.os.linux.x
<li><a href="http://www.opengl.org/cgi-bin/ubb/ultimatebb.cgi"
target="_parent">OpenGL discussion forums</A> at www.opengl.org</li>
<li>Usenet newsgroups:
<ul>
<li>comp.graphics.algorithms</li>
<li>comp.graphics.api.opengl</li>
<li>comp.os.linux.x</li>
</ul>
</ul>
</p>
<p>
<a href="http://www.opengl.org/" target="_parent">OpenGL discussion forums</A>
at www.opengl.org
</p>
</HTML>
</BODY>

View File

@@ -28,7 +28,7 @@
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
- 3D modeling program
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser
</li><li><a href="http://www.vermontel.com/%7Ecmorley/vrml.html" target="_parent">LibVRML97/Lookat</a>
</li><li><a href="http://www.openvrml.org/" target="_parent">LibVRML97/Lookat</a>
- VRML viewer
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
- VR graphics and interaction system

View File

@@ -11,6 +11,61 @@
<H1>News</H1>
<h2>November 10, 2007</h2>
<p>
<a href="relnotes-7.0.2.html">Mesa 7.0.2</a> is released.
This is a bug-fix release.
</p>
<h2>August 3, 2007</h2>
<p>
<a href="relnotes-7.0.1.html">Mesa 7.0.1</a> is released.
This is a bug-fix release.
</p>
<h2>June 22, 2007</h2>
<p>
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
This is a stable release featuring OpenGL 2.1 support.
</p>
<h2>April 27, 2007</h2>
<p>
<a href="relnotes-6.5.3.html">Mesa 6.5.3</a> is released.
This is a development release which will lead up to the Mesa 7.0 release
(which will advertise OpenGL 2.1 API support).
</p>
<h2>March 26, 2007</h2>
<p>
The new Shading Language compiler branch has been merged into the git
master branch. This is a step toward hardware support for the OpenGL
2.0 Shading Language and will be included in the next Mesa release.
In conjunction, <a href="http://glean.sf.net" target="_parent">Glean
</a> has been updated with a new test that does over 130 tests of the
shading language and built-in functions.
</p>
<h2>April 2007</h2>
<p>
Thomas Hellstr&ouml;m of
<a href="http://www.tungstengraphics.com" target="_parent">
Tungsten Graphics</a> has written a whitepaper describing the new
<a href="http://www.tungstengraphics.com/mm.pdf">DRI memory management
system</a>.
</p>
<h2>December 5, 2006</h2>
<p>
Mesa is now using git as its source code management system.
The previous CVS repository should no longer be used.
See the <a href="repository.html">repository page</a> for more information.
</p>
<h2>December 2, 2006</h2>
<p>
<a href="relnotes-6.5.2.html">Mesa 6.5.2</a> has been released.

View File

@@ -18,7 +18,15 @@ but mostly consisting of bug fixes.
<h2>MD5 checksums</h2>
<pre>
TBD
11a033b078e090b3caaeb467234fe299 MesaLib-6.5.2.tar.gz
e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2
63bf1d444fa738cca52ce1043e284021 MesaLib-6.5.2.zip
2b8f1375d16bda5f5a2304174cd5bcf7 MesaDemos-6.5.2.tar.gz
e870efe98d3a50be01ab211b9b2e25d9 MesaDemos-6.5.2.tar.bz2
d92cc6f5fee5ca75af0be04f9f4908f0 MesaDemos-6.5.2.zip
8d4d77e3a7132f4217bbc7c1ab157030 MesaGLUT-6.5.2.tar.gz
e84edbb11c69c8e408dfadd2ed08e95b MesaGLUT-6.5.2.tar.bz2
c6d7134843ed5faf11f6686ecb5d2a2e MesaGLUT-6.5.2.zip
</pre>

119
docs/relnotes-6.5.3.html Normal file
View File

@@ -0,0 +1,119 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 6.5.3 Release Notes / April 27, 2007</H1>
<p>
Mesa 6.5.3 is a development release with many changes and new features.
Mesa 7.0 is expected to follow shortly.
</p>
<h2>MD5 checksums</h2>
<pre>
39f33ea64e34e2d5b20640b008b57649 MesaLib-6.5.3.tar.gz
46359457147c469745f24b5074a186f0 MesaLib-6.5.3.tar.bz2
a8946fa861634ce15971396f47992c41 MesaLib-6.5.3.zip
08e26948d57eaca74d02a530b2d8106e MesaDemos-6.5.3.tar.gz
8af91773ab2653fe537499676b05f2e8 MesaDemos-6.5.3.tar.bz2
783f81b171bf89b0929abc894efd25a6 MesaDemos-6.5.3.zip
9467d415388fe1ad82991fb20704b812 MesaGLUT-6.5.3.tar.gz
360843e46b7ebb6909290b023f9b26fa MesaGLUT-6.5.3.tar.bz2
7686065e5c15a30de08a1610860b6840 MesaGLUT-6.5.3.zip
</pre>
<h2>Shared library numbering</h2>
<p>
Mesa 6.5.3 supports the OpenGL 2.0/2.1 API. However, the (unix)
shared library version is still 1.5 (i.e. libGL.so.1.5.xxxxxx).
Bumping the shared library version to 2.x would cause linking problems
with existing OpenGL applications. Since OpenGL 2.x is backward
compatible with OpenGL 1.x the shared library version number doesn't
have to be incremented (which would indicate an incompatible ABI).
</p>
<p>
Other OpenGL vendors name their OpenGL 2.x libraries libGL.so.1.0.xxxxx
for the same reason.
</p>
<h2>New features</h2>
<ul>
<li>OpenGL 2.0 and 2.1 API support.
<li>Entirely new Shading Language code generator. See the
<a href="shading.html">Shading Language</a> page for more information.
<li>Much faster software execution of vertex, fragment shaders.
<li>New vertex buffer object (vbo) infrastructure
<li>Updated glext.h file (version 39)
<li>Updated glxext.h file (version 19)
<li>GL_MAX_DRAWBUFFERS is now 4 (software rendering) so
"multiple render targets" are really supported.
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fog was errantly applied when a fragment shader was enabled (bug 9346)
<li>glPush/PopClientAttrib didn't handle VBO bindings correctly (bug 9445)
<li>With 32-bit Z buffer, the fragment Z of lines and points was sometimes wrong.
<li>GL_POST_CONVOLUTION_ALPHA_BIAS/SCALE was broken.
<li>1D convolution state could effect 2D image transfers
<li>Overlapping glCopyPixels with negative Y zoom didn't work (bug 10521)
<li>Fixed a number of framebuffer/renderbuffer reference counting bugs
<li>Fixed a few bugs in software-emulated alpha planes
<li>Assorted minor bug fixes in glCopy/DrawPixels, glPixelZoom, etc.
<li>Assorted DRI driver bug fixes.
<li>Fixed a number of bugs that prevented "depth-peeling" rendering from working.
</ul>
<h2>Internal code changes</h2>
<ul>
<li>Old array_cache module replaced by new vbo module. All geometry
rendering is now cast in the form of vertex buffer objects.
<li>Massive changes to the Shading Language compiler and related state.
<li>Vertex/fragment shaders are compiled into GPU instructions and
programs very similar to GL_ARB_vertex/fragment_program.
<li>Vertex and fragment programs are executed with the same code now.
<li>The SSE-optimized vertex program path has been removed since it didn't
support more than 12 temp registers, didn't support branching/looping, etc.
</ul>
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
<h2>Driver Status</h2>
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
</body>
</html>

101
docs/relnotes-7.0.1.html Normal file
View File

@@ -0,0 +1,101 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 7.0.1 Release Notes / August 3, 2007</H1>
<p>
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
</p>
<h2>MD5 checksums</h2>
<pre>
db55141a44b902fcc61d9265b7862c06 MesaLib-7.0.1.tar.gz
c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2
ecc2637547fae2b38271ae362d013afa MesaLib-7.0.1.zip
b85a4a5be4e829f4a1165e4514b13183 MesaDemos-7.0.1.tar.gz
3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2
b1c18006f16e44e80fea66774c59b391 MesaDemos-7.0.1.zip
b87a69986839ae43ce12fc8e3dc1ebb4 MesaGLUT-7.0.1.tar.gz
25f30d0c1651997b4412366ba0572f7f MesaGLUT-7.0.1.tar.bz2
676ee6682a6ce78a5540554fd975c03e MesaGLUT-7.0.1.zip
</pre>
<h2>New features</h2>
<ul>
<li>Added a bluegene-osmesa build config
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fixed some MingW build issues
<li>Added a few missing OpenGL 2.0 API entrypoints:
<ul>
<li>glVertexAttrib4bv
<li>glVertexAttrib4iv
<li>glVertexAttrib4ubv
<li>glVertexAttrib4uiv
<li>glVertexAttrib4usv
</ul>
<li>Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer bug 11457
<li>GLSL bug fix: added vec2(vec4) constructor
<li>GLSL bug fix: .strq and .rgba writemasks didn't always work
<li>Stencil pixel map didn't always work for glDrawPixels (bug 11475)
<li>Fixed polygon stipple bug in i915 driver
<li>Binding a zero-sized texture didn't disable texturing (bug 11309)
<li>Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
the terminating zero (bug 11588)
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
<li>Fixed a GLSL function call bug (#11731)
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
<li>glGetAttribLocation() always returned 1 (bug 11774)
<li>Fixed a few memory-related bugs in GLU library
</ul>
<h2>Changes</h2>
<ul>
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
in order to avoid application linking issues. Otherwise, applications
previously linked with libOSMesa.so.6 would no longer link with libOSMesa.so.7
<li>Dropped obsolete, unmaintained Windows project files for VC6 and VC7.
</ul>
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
<h2>Driver Status</h2>
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
</body>
</html>

88
docs/relnotes-7.0.2.html Normal file
View File

@@ -0,0 +1,88 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 7.0.2 Release Notes / November 10, 2007</H1>
<p>
Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
</p>
<h2>MD5 checksums</h2>
<pre>
c9cf607f36e7e50172f5f9c7d552c34e MesaLib-7.0.2.tar.gz
93e6ed7924ff069a4f883b4fce5349dc MesaLib-7.0.2.tar.bz2
10c324c3613f90f059cb8429f700f300 MesaLib-7.0.2.zip
aa8b1244a5de1d23e5814bf9b67f1435 MesaDemos-7.0.2.tar.gz
11a10410bae7be85cf25bc7119966468 MesaDemos-7.0.2.tar.bz2
1dd0b5fd6d69430a2fd76a6adbfd8fff MesaDemos-7.0.2.zip
a7dbf25c025955858bd2d89a6eb6db4c MesaGLUT-7.0.2.tar.gz
3a33f8efc8c58a592a854cfc7a643286 MesaGLUT-7.0.2.tar.bz2
eba4ef2aa8c362ead81b54357f1903a3 MesaGLUT-7.0.2.zip
</pre>
<h2>New features</h2>
<ul>
<li>Updated Windows VC7 project files
<li>Added DESTDIR variable for 'make install'
<li>Added pkg-config files for gl, glu, glut and glw libraries
<li>Added bluegene-xlc-osmesa and catamount-osmesa-pgi configs
<li>Support for Intel G33/Q33/Q35 graphics chipsets
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fixed a vertex buffer wrapping issue (bug 9962)
<li>Added mutex protection around texture object reference counters
<li>Added checking/support for additional chips in the i915/i945 family
(see 11978)
<li>Fixed a blending/banding issue (bug 11931)
<li>Fixed a GLU matrix inversion bug (#6748)
<li>Fixed problem with large glDrawArrays calls and indirect rendering (bug 12141)
<li>Fixed an assortment of i965 driver bugs
<li>Fixed x86-64 vertex transformation bug (12216)
<li>Fixed X server crash caused by multiple indirect rendering clients
<li>Parsing of state.texgen in ARB vertex/fragment programs didn't work (bug 12313)
<li>Fixed a glCopyPixels/glPixelZoom bug (12417)
<li>Fixed a bug when using glMaterial in display lists (bug 10604)
<li>Fixed a few GLUT/Fortran issues (Bill Mitchell)
<li>Fixed Blender crash bug (12164)
<li>Fixed some issues preventing cross-compiling
<li>Fixed up broken GL_ATI_separate_stencil extension
<li>glDrawArrays(count=0) led to a crash
<li>Fix SSE code gen memory leak, possible crash
<li>Fixed MMX 565 rgb conversion problem (bug 12614)
<li>Added -fno-strict-aliasing and -fPIC flags for gcc
<li>Fixed Blender crash in Unichrome driver (bug 13142)
</ul>
<h2>Driver Status</h2>
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
</body>
</html>

93
docs/relnotes-7.0.html Normal file
View File

@@ -0,0 +1,93 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 7.0 Release Notes / June 22, 2007</H1>
<p>
Mesa 7.0 is a stable release, featuring OpenGL 2.1 API support.
A number of bugs have been fixed since the 6.5.3 release.
</p>
<h2>MD5 checksums</h2>
<pre>
35a1698986f7ac8dc435624ee9256cda MesaLib-7.0.tar.gz
50c371455fa7532c04aa0a970f9bc51f MesaLib-7.0.tar.bz2
bcedb6f43c97c1bc49e5cc7f12835722 MesaLib-7.0.zip
9bad332c7b74f59be96556135212ca9e MesaDemos-7.0.tar.gz
fada2bc1f29da513e015fda1e3abd0c0 MesaDemos-7.0.tar.bz2
84e3bbe470d983ae32f1f0c779faf99e MesaDemos-7.0.zip
76c7bb54f9850c689eba844f6daed332 MesaGLUT-7.0.tar.gz
4af28296e02772ef1de00e4e79bf3d12 MesaGLUT-7.0.tar.bz2
9043cb0b54cc03d1874728d74b12188c MesaGLUT-7.0.zip
</pre>
<h2>New features</h2>
<ul>
<li>OpenGL 2.0 and 2.1 API support.
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fixed a few fog-related bugs.
<li>Fixed broken GLSL mix() function.
<li>Fixed broken GLSL exp() functions.
<li>Fixed GLSL mod4(vec4, vec4) bug.
<li>Implemented GLSL asin(), acos(), atan() functions.
<li>Fixed an R300 driver bug that caused Xorg composite manager to crash
<li>Fixed R300 vertex program/matrix bug (10848)
<li>GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
<li>Specifying an invalid texture unit as a sampler could lead to a crash
<li>The GLX protocol request for glXDestroyPBuffer() was incorrect (bug 10983)
<li>ARB vp state.light[n].half value was incorrect (bug 10987)
<li>Fixed a positional light source bug (bug 11009)
<li>Fixed point size attenuation problem (bug 11042)
<li>glPopAttrib didn't restore texture object's LOD bias (bug 11049)
<li>Fixed a TLS / TEXTREL problem (bug 7459)
</ul>
<h2>Internal code changes</h2>
<ul>
<li>Some texture code consolidation and simplifiction (Ian Romanick)
<li>R300 driver clean-ups.
</ul>
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
<h2>Driver Status</h2>
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
</body>
</html>

View File

@@ -20,6 +20,10 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
<LI><A HREF="relnotes-7.0.2.html">7.0.2 release notes</A>
<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A>
<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
<LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A>
<LI><A HREF="relnotes-6.5.html">6.5 release notes</A>

111
docs/repository.html Normal file
View File

@@ -0,0 +1,111 @@
<HTML>
<TITLE>Cocd Repository</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<h1>Code Repository</h1>
<p>
As of December 5, 2006, Mesa is using
<a href="http://git.or.cz/"target="_parent">git</a>
as its source code management system.
CVS was used previously.
The old CVS repository should no longer be used.
</p>
The master git repository is hosted on
<a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>.
</p>
<p>
You may access the repository either as an
<a href="#anonymous">anonymous user</a> (read-only) or as a
<a href="#developer">developer</a>
(read/write).
</p>
<p>
You may also
<a href="http://gitweb.freedesktop.org/?p=mesa/mesa.git"
target="_parent">browse the git repository</a>.
</p>
<a name="anonymous">
<H2>Anonymous git Access</H2>
<p>
To get the Mesa sources anonymously (read-only):
</p>
<ol>
<li>Install the git software on your computer if needed.<br><br>
<li>Get an initial, local copy of the repository with:
<pre>
git clone git://anongit.freedesktop.org/git/mesa/mesa
</pre>
<li>Later, you can update your tree from the master repository with:
<pre>
git pull origin
</pre>
</ol>
<a name="developer">
<H2>Developer git Access</H2>
<p>
Mesa developers need to first have an account on
<a href="http://www.freedesktop.org" target="_parent">freedesktop.org</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>
Once your account is established:
</p>
<ol>
<li>Install the git software on your computer if needed.<br><br>
<li>Get an initial, local copy of the repository with:
<pre>
git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa
</pre>
Replace <em>username</em> with your actual login name.<br><br>
<li>Later, you can update your tree from the master repository with:
<pre>
git pull origin
</pre>
</ol>
<a name="developer">
<H2>Development Branches</H2>
<p>
At any given time, there may be several active branches in Mesa's
repository.
Generally, the trunk contains the latest development (unstable)
code while a branch has the latest stable code.
</p>
<p>
The command <code>git-branch</code> will list all available branches.
</p>
<p>
Questions about branch status/activity should be posted to the
mesa3d-dev mailing list.
</p>
</body>
</html>

312
docs/shading.html Normal file
View File

@@ -0,0 +1,312 @@
<HTML>
<TITLE>Shading Language Support</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Shading Language Support</H1>
<p>
This page describes the features and status of Mesa's support for the
<a href="http://opengl.org/documentation/glsl/" target="_parent">
OpenGL Shading Language</a>.
</p>
<p>
Last updated on 28 March 2007.
</p>
<p>
Contents
</p>
<ul>
<li><a href="#unsup">Unsupported Features</a>
<li><a href="#notes">Implementation Notes</a>
<li><a href="#hints">Programming Hints</a>
<li><a href="#standalone">Stand-alone Compiler</a>
<li><a href="#implementation">Compiler Implementation</a>
<li><a href="#validation">Compiler Validation</a>
</ul>
<a name="unsup">
<h2>Unsupported Features</h2>
<p>
The following features of the shading language are not yet supported
in Mesa:
</p>
<ul>
<li>Dereferencing arrays with non-constant indexes
<li>Comparison of user-defined structs
<li>Linking of multiple shaders is not supported
<li>gl_ClipVertex
<li>The derivative functions such as dFdx() are not implemented
<li>The inverse trig functions asin(), acos(), and atan() are not implemented
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
without perspective correction
</ul>
<p>
All other major features of the shading language should function.
</p>
<a name="notes">
<h2>Implementation Notes</h2>
<ul>
<li>Shading language programs are compiled into low-level programs
very similar to those of GL_ARB_vertex/fragment_program.
<li>All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full
float[4] registers.
<li>Float constants and variables are packed so that up to four floats
can occupy one program parameter/register.
<li>All function calls are inlined.
<li>Shaders which use too many registers will not compile.
<li>The quality of generated code is pretty good, register usage is fair.
<li>Shader error detection and reporting of errors (InfoLog) is not
very good yet.
<li>The ftransform() function doesn't necessarily match the results of
fixed-function transformation.
</ul>
<p>
These issues will be addressed/resolved in the future.
</p>
<a name="hints">
<h2>Programming Hints</h2>
<ul>
<li>Declare <em>in</em> function parameters as <em>const</em> whenever possible.
This improves the efficiency of function inlining.
</li>
<br>
<li>To reduce register usage, declare variables within smaller scopes.
For example, the following code:
<pre>
void main()
{
vec4 a1, a2, b1, b2;
gl_Position = expression using a1, a2.
gl_Color = expression using b1, b2;
}
</pre>
Can be rewritten as follows to use half as many registers:
<pre>
void main()
{
{
vec4 a1, a2;
gl_Position = expression using a1, a2.
}
{
vec4 b1, b2;
gl_Color = expression using b1, b2;
}
}
</pre>
Alternately, rather than using several float variables, use
a vec4 instead. Use swizzling and writemasks to access the
components of the vec4 as floats.
</li>
<br>
<li>Use the built-in library functions whenever possible.
For example, instead of writing this:
<pre>
float x = 1.0 / sqrt(y);
</pre>
Write this:
<pre>
float x = inversesqrt(y);
</pre>
<li>
Use ++i when possible as it's more efficient than i++
</li>
</ul>
<a name="standalone">
<h2>Stand-alone Compiler</h2>
<p>
A unique stand-alone GLSL compiler driver has been added to Mesa.
<p>
<p>
The stand-alone compiler (like a conventional command-line compiler)
is a tool that accepts Shading Language programs and emits low-level
GPU programs.
</p>
<p>
This tool is useful for:
<p>
<ul>
<li>Inspecting GPU code to gain insight into compilation
<li>Generating initial GPU code for subsequent hand-tuning
<li>Debugging the GLSL compiler itself
</ul>
<p>
To build the glslcompiler program (this will be improved someday):
</p>
<pre>
cd src/mesa
make libmesa.a
cd drivers/glslcompiler
make
</pre>
<p>
Here's an example of using the compiler to compile a vertex shader and
emit GL_ARB_vertex_program-style instructions:
</p>
<pre>
glslcompiler --arb --linenumbers --vs vertshader.txt
</pre>
<p>
The output may look similar to this:
</p>
<pre>
!!ARBvp1.0
0: MOV result.texcoord[0], vertex.texcoord[0];
1: DP4 temp0.x, state.matrix.mvp.row[0], vertex.position;
2: DP4 temp0.y, state.matrix.mvp.row[1], vertex.position;
3: DP4 temp0.z, state.matrix.mvp.row[2], vertex.position;
4: DP4 temp0.w, state.matrix.mvp.row[3], vertex.position;
5: MOV result.position, temp0;
6: END
</pre>
<p>
Note that some shading language constructs (such as uniform and varying
variables) aren't expressible in ARB or NV-style programs.
Therefore, the resulting output is not always legal by definition of
those program languages.
</p>
<p>
Also note that this compiler driver is still under development.
Over time, the correctness of the GPU programs, with respect to the ARB
and NV languagues, should improve.
</p>
<a name="implementation">
<h2>Compiler Implementation</h2>
<p>
The source code for Mesa's shading language compiler is in the
<code>src/mesa/shader/slang/</code> directory.
</p>
<p>
The compiler follows a fairly standard design and basically works as follows:
</p>
<ul>
<li>The input string is tokenized (see grammar.c) and parsed
(see slang_compiler_*.c) to produce an Abstract Syntax Tree (AST).
The nodes in this tree are slang_operation structures
(see slang_compile_operation.h).
The nodes are decorated with symbol table, scoping and datatype information.
<li>The AST is converted into an Intermediate representation (IR) tree
(see the slang_codegen.c file).
The IR nodes represent basic GPU instructions, like add, dot product,
move, etc.
The IR tree is mostly a binary tree, but a few nodes have three or four
children.
In principle, the IR tree could be executed by doing an in-order traversal.
<li>The IR tree is traversed in-order to emit code (see slang_emit.c).
This is also when registers are allocated to store variables and temps.
<li>In the future, a pattern-matching code generator-generator may be
used for code generation.
Programs such as L-BURG (Bottom-Up Rewrite Generator) and Twig look for
patterns in IR trees, compute weights for subtrees and use the weights
to select the best instructions to represent the sub-tree.
<li>The emitted GPU instructions (see prog_instruction.h) are stored in a
gl_program object (see mtypes.h).
<li>When a fragment shader and vertex shader are linked (see slang_link.c)
the varying vars are matched up, uniforms are merged, and vertex
attributes are resolved (rewriting instructions as needed).
</ul>
<p>
The final vertex and fragment programs may be interpreted in software
(see prog_execute.c) or translated into a specific hardware architecture
(see drivers/dri/i915/i915_fragprog.c for example).
</p>
<h3>Code Generation Options</h3>
<p>
Internally, there are several options that control the compiler's code
generation and instruction selection.
These options are seen in the gl_shader_state struct and may be set
by the device driver to indicate its preferences:
<pre>
struct gl_shader_state
{
...
/** Driver-selectable options: */
GLboolean EmitHighLevelInstructions;
GLboolean EmitCondCodes;
GLboolean EmitComments;
};
</pre>
<ul>
<li>EmitHighLevelInstructions
<br>
This option controls instruction selection for loops and conditionals.
If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK
instructions will be emitted.
Otherwise, those constructs will be implemented with BRA instructions.
</li>
<li>EmitCondCodes
<br>
If set, condition codes (ala GL_NV_fragment_program) will be used for
branching and looping.
Otherwise, ordinary registers will be used (the IF instruction will
examine the first operand's X component and do the if-part if non-zero).
This option is only relevant if EmitHighLevelInstructions is set.
</li>
<li>EmitComments
<br>
If set, instructions will be annoted with comments to help with debugging.
Extra NOP instructions will also be inserted.
</br>
</ul>
<a name="validation">
<h2>Compiler Validation</h2>
<p>
A new <a href="http://glean.sf.net" target="_parent">Glean</a> test has
been create to exercise the GLSL compiler.
</p>
<p>
The <em>glsl1</em> test runs over 150 sub-tests to check that the language
features and built-in functions work properly.
This test should be run frequently while working on the compiler to catch
regressions.
</p>
<p>
The test coverage is reasonably broad and complete but additional tests
should be added.
</p>
</BODY>
</HTML>

View File

@@ -1,17 +1,18 @@
<HTML>
<TITLE>Mesa Subset</TITLE>
<TITLE>Mesa Subset Driver</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Mesa Subset</H1>
<H1>Mesa Subset Driver</H1>
<p>
In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon
driver for an embedded environment. The result is a reduced-size DRI driver
for the ATI R200 chip, for use with Linux fbdev rather than XFree86.
for the ATI R200 chip, for use with
<a href="fbdev-dri.html">fbdev/DRI environment</a>.
</p>
<p>
@@ -19,15 +20,5 @@ The specification for this subset can be found
<a href="subset-A.html">here</a>.
</p>
<p>
The <a href="MiniGLX.html">MiniGLX specification</a> describes the
interface between fbdev and Mesa.
</p>
<p>
More info to come...
</p>
</BODY>
</HTML>

View File

@@ -42,7 +42,7 @@ WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
<br>
<br>
<li>The Mesa CVS repository is hosted by
<li>The Mesa git repository is hosted by
<a href="http://freedesktop.org/" target="_parent">freedesktop.org</a>.
<br>
<br>

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