Compare commits

...

1405 Commits

Author SHA1 Message Date
Brian Paul
faa6d8af59 docs: set 7.3 release date 2009-01-22 10:01:17 -07:00
Brian Paul
b6c41fd933 docs: assorted updates, link fixes 2009-01-22 10:01:17 -07:00
Eric Anholt
b8bd0b0ddc i915: Add decode for PS in batchbuffers. 2009-01-21 14:03:56 -08:00
Eric Anholt
fc3971d800 i965: Remove gratuitous whitespace in INTEL_DEBUG=wm output. 2009-01-21 14:03:56 -08:00
Eric Anholt
046e88fc0b i965: Use _mesa_num_inst_src_regs() instead of keeping a copy of its contents. 2009-01-21 14:03:56 -08:00
Kristian Høgsberg
194d039f1e [intel] Remove remaining references to intel_wait_flips().
Oops.
2009-01-21 11:47:01 -05:00
Thomas Henn
470e10dfaa windows: fix output dir for glut project file 2009-01-21 09:32:40 -07:00
Brian Paul
8c7135ee14 swrast: fix redundant texture application in affine_textured_triangle().
This function does simple texture mapping so disable normal texture mapping
before we call _swrast_write_rgba_span() so that we don't do it twice.
2009-01-21 09:05:02 -07:00
Brian Paul
4683cab29a mesa: add some debug assertions to detect null current texture object pointers
See bug #17895.  These assertions could be removed when this is resolved.
2009-01-21 08:18:07 -07:00
Karl Schultz
787a001a67 windows: another round of VC8 project file updates
New static configs generate DLLs that do not have a dependency on the MSCVR*
DLL's.
2009-01-21 07:59:11 -07:00
Brian Paul
dd92f483b0 Revert "windows: new VC8 projects statically linked against libcmt"
This reverts commit bbda892c55.

Static configs rolled into regular project files (in next commit).
Provided by Karl Schultz.
2009-01-21 07:57:45 -07:00
Brian Paul
65118a51b6 docs: document glXMakeContextCurrent() and Windows fixes 2009-01-20 15:36:01 -07:00
Ian Romanick
ab9b4e1f59 Fix issues with glXMakeContextCurrent and glXMakeCurrentReadSGI
There were several bugs in the infrastructure for these two routines.

1. GLX_ALIAS was incorrectly used.  The function and its alias must be
identical!  glXMakeContextCurrent / glXMakeCurrentReadSGI and
MakeContextCurrent had different parameters.  This caused the last
parameter of MakeContextCurrent to get random values.

2. We based the implementation of glXMakeContextCurrent on the manual
page instead of the GLX spec.  The GLX spec says that
glXMakeContextCurrent can be passed a Window as a drawable.  When this
happens, it will behave just like glXMakeCurrentReadSGI or
glXMakeCurrent.

3. If there was a problem finding or creating the DRI drawable,
MakeContextCurrent would crash instead of returning an error.

This commit fixes all three issues, and fixes bug #18367 and bug #19625.
2009-01-20 13:55:18 -08:00
Timo Aaltonen
39e6d0d810 [intel] Go back to using the typedef for the sarea struct
The upstream linux kernel headers and libdrm kernel headers disagree on the
tag name for the sarea struct: _drm_i915_sarea vs drm_i915_sarea.  They
both typedef it to drm_i915_sarea_t though, so just use that.
2009-01-20 11:52:32 -05:00
Owain G. Ainsworth
b5da7feee0 Remove intel pageflipping support in its entirety.
It's been broken and deprecated for a while, so it's time to die. This has the
wonderful benefit of cleaning up the code a fair amount; making it marginally
less twisty.

I'm unsure if the for loops in IntelWindowMoved are still needed.
2009-01-20 11:52:32 -05:00
Brian Paul
0f548dbc98 glsl: silence unused var warnings 2009-01-20 09:21:32 -07:00
Brian Paul
9d216be8cf mesa: silence uninitialized var warnings 2009-01-20 09:20:41 -07:00
Brian Paul
eb26cc6cf5 mesa: silence compiler warning at -O2 2009-01-20 09:17:12 -07:00
Brian Paul
bb63a663b1 mesa: bump version to 7.3-rc3 2009-01-20 09:13:41 -07:00
Brian Paul
dace4e3e2a mesa: inlclude whole windows/VC8/ directory in tarballs 2009-01-20 09:13:06 -07:00
Thomas Henn
bbda892c55 windows: new VC8 projects statically linked against libcmt 2009-01-20 09:07:01 -07:00
Karl Schultz
61a387dca1 windows: more VC8 project file updates
Make some compiler flags per-file.
Remove driverfuncs.c from osmesa project.
2009-01-20 09:07:01 -07:00
Thomas Hellstrom
437fa85ba3 Add a comment about _tnl_emit_indexed_vertices_to_buffer. 2009-01-20 11:40:51 +01:00
Thomas Hellstrom
b00477acf3 tnl: Add a utility to emit indexed vertices to a DMA buffer.
This utility is useful for hardware that doesn't support HW index buffers.
It's a bit inefficient but appears to give a substantial performance gain,
as we can emit tri strips that would otherwise be split into triangles.
2009-01-20 11:15:57 +01:00
Thomas Hellstrom
7374285f07 Fix store texel for argb4444. 2009-01-20 11:13:38 +01:00
Thomas Hellstrom
5c84a1032c Fix store texel for argb8888_rev. 2009-01-20 11:13:05 +01:00
Thomas Hellstrom
dbda49a9e6 Add RGBA4444 and RGBA5551 texture formats. 2009-01-20 11:12:17 +01:00
Thomas Hellstrom
11351f0c8a dri1: Add a macro to validate two dri drawables in one go.
Dri drivers often may validate first a write drawable and then a read
drawable ("readable"). However, the hardware lock may be unlocked when
validating the readable, causing the write drawable status to be stale.

Drivers should use this macro instead when validating two drawables.
2009-01-20 11:07:10 +01:00
Brian Paul
a5b5bc9f95 mesa: fix build of stand-alone glslcompiler driver 2009-01-19 17:50:44 -07:00
Brian Paul
f97792421b tests: test pseudo-XOR blend mode.
GL_XOR logicop mode can be approximated with blending by computing 1 - dst.
Here's a couple test programs for that.
2009-01-19 12:09:40 -07:00
Alan Hourihane
396711b840 dri: add fake front definitions 2009-01-19 15:41:19 +00:00
Thomas Henn
dbd8e4066b windows: updated VC8 project files 2009-01-19 08:23:22 -07:00
Brian Paul
b7f802eca2 glx: gcc 2.95 build fix (move declaration before code)
Adapted from patch by Matthieu Herbb <matthieu.herrb@laas.fr>
2009-01-18 10:00:34 -07:00
Brian Paul
a61a1a8181 i965: fix polygon culling bug when rendering to a texture/FBO
Since we use an inverted viewport transformation for render to texture, that
inverts front/back polygon orientation.
Now glCullFace(GL_FRONT / GL_BACK) works correctly.
2009-01-16 13:33:19 -07:00
Brian Paul
345a08a77f intel: added intel_rendering_to_texture() helper function.
When we're rendering to textures we have to invert the viewport transformation.
This helper cleans up that test and can be used elsewhere...
2009-01-16 13:31:04 -07:00
Brian Paul
12c6d28cc7 mesa: remove GL_DEPTH_TEST + no depth buffer test
One could enable depth testing before binding an FBO that has a depth buffer
so this test is no longer useful or correct.
2009-01-16 13:25:41 -07:00
Brian Paul
e442fe5ba5 glsl: fix broken sampler assignments 2009-01-16 09:30:58 -07:00
Xiang, Haihao
66a4f5cf9a i915: fallback on transfer mode 2009-01-16 16:06:33 +08:00
Karl Schultz
a740858fc0 windows: updated VC8 project file 2009-01-15 11:32:47 -07:00
Karl Schultz
e7c988d065 windows: updated mesa.def file 2009-01-15 07:05:31 -07:00
Brian Paul
4a8356209d glsl: use _mesa_sprintf() 2009-01-15 07:05:30 -07:00
Brian Paul
e1ba29ea19 glsl: move declaration before code 2009-01-15 07:05:30 -07:00
Alan Hourihane
fbf13bcb8a mesa: check frambuffer complete status before rendering 2009-01-15 11:56:00 +00:00
Brian Paul
8f8435637d mesa: bump version to 7.3-rc2 2009-01-14 17:05:26 -07:00
Brian Paul
7d08091767 glsl: fix comment 2009-01-14 17:05:26 -07:00
Brian Paul
b5f32e1d5a glsl: minor clean-up for rect sampler test 2009-01-14 17:05:26 -07:00
Brian Paul
0dffd22349 r300: work-around FRAG_BIT_FOGC warning/error
See bug 17929.

Fog doesn't actually work, but the often complained about warning is
silenced.
2009-01-14 16:49:24 -07:00
Brian Paul
947d1c5b2a i965: asst. fixes, work-arounds for FBOs and render to texture
OpenGL allows mixing and matching depth and stencil renderbuffers in
framebuffer objects while the hardware really only supports interleaved
depth/stencil buffers.  This makes for some tricky buffer management.

An extra wrinkle is the situation where the user allocates a 16bpp depth
texture or renderbuffer then tries to render to it along with a stencil
buffer.  We'd have to promote the 16bpp Z values to 24-bit Z values and
mix in the stencil values to setup the depth/stencil renderbuffer.

There's no support for that now, so always allocate 32bpp depth textures/
renderbuffers for now.
2009-01-14 16:49:24 -07:00
Brian Paul
c7f43543af i965: fix incorrect renderbuffer DataType assignment 2009-01-14 16:49:24 -07:00
Brian Paul
5912cdff3e i965: fix some FBO depth/stencil assertions 2009-01-14 16:49:24 -07:00
Ian Romanick
03188b09e0 intel: SW fallback maps texture images, not texture coordinates 2009-01-14 12:48:22 -08:00
Brian Paul
fae9604727 glsl: propagate pragma info down into compiler from preprocessor 2009-01-14 12:16:00 -07:00
Brian Paul
aac4a0509e windows: remove reference to swizzle.c file 2009-01-14 12:07:25 -07:00
Brian Paul
b5f89e5f17 glsl: simplify IR storage for samplers
Don't overload the Size field with the texture target, to avoid confusion.
2009-01-14 11:58:45 -07:00
Brian Paul
c12d24b513 mesa: fix incorrect transformation of GL_SPOT_DIRECTION
This was changed between GL 1.0 and 1.1.  Mesa still had the 1.0 behaviour.
2009-01-14 11:51:30 -07:00
Ian Romanick
2549c26a8b Treat image units and coordinate units differently.
Previously MaxTextureUnits was used to validate both texture image
units and texture coordinate units in fragment programs.  Instead, use
MaxTextureCoordUnits for texture coordinate units and
MaxTextureImageUnits for texture image units.

Fixes bugzilla #19468.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2009-01-14 10:09:01 -08:00
Alan Hourihane
a98dccca36 glsl: fix regression from sampler arrays commit 2009-01-14 16:34:19 +00:00
Brian Paul
1b3e3e6b84 i965: indentation fixes 2009-01-14 08:34:07 -07:00
Brian Paul
49b53407c7 i965: allow larger AA points on fallback path 2009-01-14 08:34:06 -07:00
Brian Paul
d911e3e24f i965: fix indentation 2009-01-14 08:34:06 -07:00
Brian Paul
658ab3c3ae i965: comment for emit_kil() 2009-01-14 08:34:06 -07:00
Brian Paul
8f7349dbb4 mesa: put _NV suffix on a few opcodes 2009-01-14 08:34:06 -07:00
Brian Paul
d687476edd i965: fix indentation 2009-01-14 08:34:06 -07:00
Xiang, Haihao
c157a5bb91 intel: bump driver date 2009-01-14 09:32:55 +08:00
Alan Hourihane
14eca6b573 glsl: fix a comment typo 2009-01-14 00:12:59 +00:00
Alan Hourihane
ef0e0f2550 glsl: support sampler arrays. 2009-01-14 00:12:33 +00:00
Brian Paul
34d17d2bdc docs: #pragma now handled 2009-01-13 15:09:40 -07:00
Brian Paul
01a0938776 glsl: add preprocessor support for #pragma
Two forms are supported:

Pragmas are silently ignored at this time.
2009-01-13 15:09:40 -07:00
Ian Romanick
1f47388dfe Add language about implicit flush and command completion
Copied language from the glXSwapBuffers manual page about the implicit
glFlush and expected command completion.  This just codifies what
people already expect from glXCopySubBufferMESA.  The intention of
this command is to work like glXSwapBuffers but on a sub-rectangle of
the drawable.

Acked-by: Brian Paul <brianp@vmware.com>
2009-01-13 12:36:03 -08:00
Brian Paul
34500a6da5 docs: fixes since 7.3-rc1 2009-01-13 09:03:43 -07:00
Karl Schultz
00c02626d8 windows: try to create a context in wglCreateLayerContext() 2009-01-13 09:02:04 -07:00
Brian Paul
eeeed45c2c i965: fix glDrawPixels Z coordinate in intel_texture_drawpixels().
As for glBitmap, it needs to be an NDC coord in [-1,1].
2009-01-12 15:47:57 -07:00
Brian Paul
3a5463d158 i965: fix broken glBitmap + depth test
When we use the do_blit_bitmap() function, it seems the fragment Z is always
1.0.  If depth testing is on, that means that bitmap fragments are often
occluded by other rendering.  So, the bitmap doesn't appear even if
rasterpos.Z==0.
The fix is to use the intel_texture_bitmap() path when depth testing is on.
Also, fix the incorrect Z coordinate.  It needs to be an NDC value in [-1,1].
2009-01-12 15:43:54 -07:00
Brian Paul
de35989cde i965: fix broken ARB fp fog options
Just call _mesa_append_fog_code() if the fragment program's FogOption is
not GL_NONE.
This allows us to remove some unnecessary i965 fog code.
Note, the arbfplight.c demo can be used to test this (see DO_FRAGMENT_FOG).
2009-01-12 14:24:45 -07:00
Dan Nicholson
29f603a270 autoconf: Only _GNU_SOURCE feature test macro needed on gnu systems
According to feature_test_macros(7), _GNU_SOURCE encompasses all the
other feature macros we were setting, so we can just dispose of them.
2009-01-12 11:10:31 -08:00
Julien Cristau
7f7fc3e3af mesa: match against *-gnu* instead of *-gnu in configure.ac
Fixes build on arm-linux-gnueabi
2009-01-12 11:08:02 -08:00
Thomas Henn
a0318d7f8e windows: updated VC8 project files 2009-01-12 10:56:42 -07:00
Brian Paul
06fdb6a74c glsl: better fix for for-loop scope issue (commit 6333005f7a) 2009-01-12 08:52:54 -07:00
Brian Paul
88fdddcbbe windows: added new sources for 7.3 (may be more, needs testing) 2009-01-12 08:36:21 -07:00
Brian Paul
1598be5083 mesa: add osmesa.pc.in to tarball list 2009-01-12 08:36:21 -07:00
Matthieu Herrb
436024561a Build fixes for gcc 2.95 2009-01-11 16:56:34 -07:00
Matthieu Herrb
0f0922f93c Big endian fixes. 2009-01-11 16:44:54 -07:00
Matthieu Herrb
33f6dc3c33 build fix on big endian OpenBSD architectures. 2009-01-11 16:44:52 -07:00
Matthieu Herrb
356428d4e4 replace nearbyint() by rint() for now. 2009-01-11 16:44:50 -07:00
Owain G. Ainsworth
b4866f8a52 Fix build with GCC 2.95. 2009-01-11 16:44:40 -07:00
Matthieu Herrb
297a9606ea __builtin_expect is a gcc 3.x feature. define it out for gcc 2.95.
Patch suggested by miod@. Thanks.
2009-01-11 16:44:36 -07:00
Brian
44557bf065 mesa: require libdrm 2.4.3 in configure.ac 2009-01-10 16:32:32 -07:00
Brian Paul
f1455ca5f4 mesa: omit old headers from tarball 2009-01-10 12:21:37 -07:00
Brian Paul
834db82153 docs: document deprecated/removed headers/interfaces 2009-01-10 12:09:08 -07:00
Brian Paul
ef193c10e7 mesa: remove old GLView.h header for BeOS 2009-01-10 12:07:58 -07:00
Brian Paul
c3a00a728b mesa: remove deprecated headers from Makefile.am 2009-01-10 12:06:29 -07:00
Brian Paul
287102ddcc mesa: deprecate GL/amesa.h header (allegro driver) 2009-01-10 12:04:39 -07:00
Brian Paul
f5979b0c15 mesa: deprecate the GL/fxmesa.h header 2009-01-10 12:01:40 -07:00
Brian Paul
d25cc16efa mesa: remove the ancient include/GL/ugl*.h headers 2009-01-10 12:00:27 -07:00
Brian Paul
1636328b0a xmesa: deprecate the "XMesa" interface
Move the include/GL/xmesa*.h files to src/mesa/drivers/x11/ so they're no
longer considered public.
2009-01-10 11:57:13 -07:00
Brian Paul
2c56dd7757 docs: prerequisite updates 2009-01-10 11:52:55 -07:00
Brian Paul
6333005f7a glsl: force creation of new scope for for-loop body
Fixes regression in progs/demos/convolution.c due to loop unrolling.
This also allows the following to be compiled correctly:
for (int i = 0; i < n; i++) {
   int i;
   ...
}
This fix is a bit of a hack, however.  The better fix would be to change
the slang_shader.syn grammar.  Will revisit that...
2009-01-10 11:40:20 -07:00
Brian Paul
1d352b42a1 glsl: replace 0/1 with GL_FALSE/GL_TRUE 2009-01-10 11:39:05 -07:00
Ian Romanick
9939a306f7 swrast: Fix GL_ATI_separate_stencil
GL_ATI_separate_stencil is enabled by default for software
rasterizers, but the extension functions weren't hooked up to the
dispatch table.
2009-01-09 16:44:08 -08:00
Brian Paul
ca03e881a8 glsl: make minimum struct size = 2, not 1
1-component structs such as "struct foo { float x; }" could get placed at
any position within a register.  This caused some trouble computing the
field offset which assumed all struct objects were placed at R.x.
It would be unusual to hit this case in normal shaders.
2009-01-09 09:59:49 -07:00
Brian Paul
4497a5a57d mesa: 7.3-rc-1 Makefile changes 2009-01-08 17:21:20 -07:00
Brian Paul
f7b4c2cca9 mesa: latest glxext.h header, no version change 2009-01-08 17:20:41 -07:00
Brian Paul
08fdc741bc mesa: import glext.h version 44 2009-01-08 17:20:18 -07:00
Brian Paul
d0c2cbd257 docs: dri2proto, libdrm tweaks 2009-01-08 17:19:51 -07:00
Brian Paul
acd99f67cc glsl: fix typo in the vec2 += operator function 2009-01-08 17:07:28 -07:00
Brian Paul
0713e9da73 mesa: set version string to 7.3-rc1 2009-01-08 16:16:36 -07:00
Brian Paul
2c0ce92e8a docs: updated Cell docs, from gallium-0.2 branch 2009-01-08 16:15:31 -07:00
Brian Paul
1ed9b1ec90 docs: more 7.3 doc updates 2009-01-08 16:14:19 -07:00
Brian Paul
11ade9a3d1 docs: import 7.2 relnotes, start on 7.3 relnotes 2009-01-08 16:12:23 -07:00
Brian Paul
730a407ca2 glsl: fix broken +=, -=, *=, /= operators
These functions need to return the final computed value.
Now expressions such as a = (b += c) work properly.
Also, no need to use __asm intrinsics in these functions.  The resulting
code is the same when using ordinary arithmetic operators and is more legible.
2009-01-08 15:35:23 -07:00
Brian Paul
19c877c327 mesa: fix off-by-one bug in _mesa_delete_instructions() 2009-01-08 15:35:23 -07:00
Eric Anholt
83a74521cf i965: Fix GLSL FS DPH to return the right value instead of src0.w * src1.w. 2009-01-07 20:35:25 -08:00
Eric Anholt
6d2cf395f4 i965: Remove worrisome comment about _NEW_PROGRAM signaling fp change.
Everything now depends on either BRW_NEW_FRAGMENT_PROGRAM or
BRW_NEW_VERTEX_PROGRAM.
2009-01-07 20:35:24 -08:00
Eric Anholt
8fb727548a mesa: Remove _Active and _UseTexEnvProgram flags from fragment programs.
There was a note in state.c about _Active deserving to die, and there were
potential issues with it due to i965 forgetting to set _UseTexEnvProgram.
Removing both simplifies things.

Reviewed-by: Brian Paul <brianp@vmware.com>
2009-01-07 20:34:46 -08:00
Eric Anholt
b9b482bd8d i965: Remove dead brw_vs_tnl.c 2009-01-07 20:34:43 -08:00
Brian Paul
f68f94c2bc i965: allow gl_FragData[0] usage when there's only one color buffer
If gl_FragData[0] is written but not gl_FragCOlor, use the former.
2009-01-07 18:45:49 -07:00
Brian Paul
bc7d2c4f51 mesa: additional case in file_string() 2009-01-07 18:44:41 -07:00
Brian Paul
9629be5e07 glsl: pass GLcontext::Extension info down into GLSL preprocessor
Now the #extension directives can be handled properly.
2009-01-07 18:44:00 -07:00
Brian Paul
176464b14b glsl: bump up MAX_FOR_LOOP_UNROLL_COMPLEXITY 2009-01-07 18:41:54 -07:00
Brian Paul
d1860bcd0a glsl: check that the fragment shader does not write both gl_FragColor and gl_FragData[] 2009-01-07 18:22:56 -07:00
Brian Paul
95fa98d61a i965: init dst reg RelAddr field to zero 2009-01-07 15:06:06 -07:00
Eric Anholt
8112c9e2cc i965: Note when we drop saturate mode on the floor in a VP. 2009-01-07 12:41:55 -08:00
Eric Anholt
f53d9913ac i965: Add support for LRP in VPs.
Bug #19226.
2009-01-07 12:40:16 -08:00
José Fonseca
b3c7f7466c mesa: Add _mesa_snprintf.
On Windows snprintf is renamed as _snprintf.

(cherry picked from commit f8f9a1b620)
2009-01-07 09:00:05 -07:00
Brian Paul
510ed7f51e glsl: disable some unused functions (but don't remove just yet) 2009-01-07 08:56:10 -07:00
Brian Paul
a8542200b3 glsl: also unroll loops with variable declarations such as "for (int i = 0; ..." 2009-01-07 08:54:09 -07:00
Brian Paul
cea7f7b763 glsl: remove dead code 2009-01-07 08:32:21 -07:00
Brian Paul
1a414a4dbe mesa: OSMesa Makefile fixes (use LIB_DIR) 2009-01-07 08:25:59 -07:00
Brian Paul
0b0d0dcdef glsl: loop unroll adjustments
Add a "max complexity" heuristic to allow unrolling long loops with small
bodies and short loops with large bodies.

The loop unroll limits may need further tweaking...
2009-01-06 17:36:20 -07:00
Brian Paul
1fa978c891 glsl: implement loop unrolling for simple 'for' loops
Loops such as this will be unrolled:
  for (i = 0; i < 4; ++i) {
      body;
  }
where 'body' isn't too large.

This also helps to fix the issue reported in bug #19190.  The problem there
is indexing vector types with a variable index.  For example:
  vec4 v;
  v[2] = 1.0;  // equivalent to v.z = 1.0
  v[i] = 2.0;  // variable index into vector!!

Since the for-i loop can be unrolled, we can avoid the problems associated
with variable indexing into a vector (at least in this case).
2009-01-06 17:24:23 -07:00
Brian Paul
338ae34d22 mesa: Move var declaration to top of scope.
(cherry picked from commit 3740a06e28)
2009-01-06 14:29:08 -07:00
Brian Paul
814bc5ccda mesa: fix GL_DEPTH_CLEAR_VALUE casting
(cherry picked from commit d14d494dcd)
2009-01-06 14:24:16 -07:00
Brian Paul
a8ee35c1c5 mesa: remove dri_sarea.h, add glcore.h in Makefile 2009-01-06 07:36:11 -07:00
Xiang, Haihao
f1f022dbb1 mesa: Fix the size per pixel for packed pixel format data type. 2009-01-06 15:37:45 +08:00
Xiang, Haihao
241c0bfc98 mesa: Fix the number of components for GL_UNSIGNED_SHORT_1_5_5_5_REV. (bug #19390) 2009-01-06 15:34:51 +08:00
Xiang, Haihao
7627c7f5df dri: correct the damage.
Fixes bug #17234
2009-01-06 11:22:19 +08:00
Brian Paul
c5c9241cca mesa: add GLushort cases for render to texture (Z-buffers) 2009-01-05 18:12:23 -07:00
Brian Paul
9736d8f033 mesa: fix a GLSL swizzled writemask bug
This fixes cases such as:
  vec4 v4;
  vec2 v2;
  v4.xz.yx = v2;
The last line now correctly compiles into MOV TEMP[1].xz, TEMP[0].yyxw;
Helps to fix the Humus Domino demo.  See bug 19189.
2009-01-05 13:16:09 -07:00
Brian Paul
0d797365de i965: implement OPCODE_TRUNC (round toward zero) on vertex path.
Also, fix some RNDD vs. RNDZ confusion elsewhere.
2009-01-05 10:09:28 -07:00
Tom Fogal
4469355df2 glu: Add mangled symbols to export list
This adds all of the `mglu' symbols to the list of symbol exports
for GLU.  Without this patch, mangled GLU symbols are considered
`internal' symbols, and calling any results in undefined references.
2009-01-05 08:00:16 -07:00
Brian Paul
724ed5b84b mesa: fix warning about possibly undefined var in GLSL compiler 2009-01-02 17:30:08 -07:00
Brian Paul
1fad6ccb75 mesa: fix another "out of samplers" problem
Now only the samplers that are actually used by texture() functions are
saved in the uniform variable list.  Before, we could run out of samplers
if too many were declared while only some of them were actually used.
2009-01-02 12:28:37 -07:00
Brian Paul
4a6ad999ea i965: increase number of texture samplers to 16
This lets GLSL shaders use up to 16 samplers.
Fixed function is still limited to 8 textures.
Tested with progs/glsl/samplers.c
2009-01-01 14:05:30 -07:00
Brian Paul
3b891a502b i965: comments, clean-ups, re-order some functions 2009-01-01 14:05:30 -07:00
Brian Paul
32e03c4a2f i965: added OPCODE_NRM3/4 2009-01-01 14:05:30 -07:00
Brian Paul
e262da8040 i965: fix comment 2009-01-01 14:05:30 -07:00
Brian Paul
914fcbafdb i965: indentation and formatting fixes 2009-01-01 14:05:30 -07:00
Brian Paul
131ac5b465 i965: implement OPCODE_NRM3/NRM4 2009-01-01 14:05:30 -07:00
Brian Paul
23b0ad4d7e i965: whitespace, comment changes 2009-01-01 14:05:30 -07:00
Brian Paul
1d03f2834f mesa: comments, whitespace changes 2009-01-01 14:05:30 -07:00
Brian Paul
46b8fe00c9 demos: added progs/glsl/samplers.c to test all available texture samplers 2009-01-01 14:02:17 -07:00
Brian Paul
dfada459aa mesa: updated comments about GLSL constants 2009-01-01 08:07:54 -07:00
Brian Paul
e9b34885b8 mesa: increase max texture image units and GLSL samplers to 16
The max texture coord units is still 8.  All the fixed-function paths are
still limited to 8 too.  But GLSL shaders can use more samplers now.

Note that some texcoord-related data structures are declared to be 16
elements in size rather than 8.  This just simplifies the code in a few
places; the extra elements aren't accessible to the user.

These changes haven't been extensively tested yet, but sanity checking has
been done.

It should be possible to increase the max image units/samplers to 32 without
doing anything special.  Beyond that we'll need longer bitfields in a few
places.
2008-12-31 12:00:17 -07:00
Eric Anholt
bfebeffc00 intel: Share passthrough transform setup between glBitmap and glDrawPixels.
The DrawPixels path was missing glViewport care, so blender's toolbar icons
would go to the wrong places.

Bug #19118.
2008-12-31 00:35:17 -08:00
Eric Anholt
e1a9217554 intel: Add support for glBitmap as metaops using GL calls.
This lets us avoid software fallbacks when clients forget to turn some state
off (engine demo) or just do crazy things to test conformance (OGLC).

This should probably be brought into mesa generic code so other drivers can
make use of it.

Bug #19016.
2008-12-31 00:10:29 -08:00
Brian Paul
e8d7db31e2 mesa: fix bug in evaluation of structure fields
Fixes incorrect size information.  See bug 19273.
2008-12-30 17:50:39 -07:00
Brian Paul
c6537ac8b8 mesa: allow variable indexing into the predefined uniform variable arrays
This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work.

When a built-in uniform array is indexed with a variable index we need to
"unroll" the whole array into the parameter list (aka constant buffer) because
we don't know which elements may be accessed at compile-time.  In the case of
the gl_LightSource array of size [8], we emit 64 state references into the
parameter array (8 elements times 8 vec4s per gl_LightSourceParameters
struct).

Previously, we only allowed constant-indexed references to uniform arrays
(such as gl_LightSource[2].position) which resulted in a single state reference
being added to the parameter array, not 64.  We still optimize this case.

Users should be aware that using "gl_LightSource[i].ambient" in their shaders
is a bit expensive since state validation will involve updating all 64
light source entries in the parameter list.
2008-12-30 17:11:32 -07:00
Brian Paul
ca0540e25c mesa: better error message when running out of GLSL samplers 2008-12-30 17:03:09 -07:00
Brian Paul
6f346ec0b8 mesa: comments for some state vars 2008-12-30 17:00:36 -07:00
Brian Paul
432e9fa852 mesa: increase max constants/uniforms to 256 (vec4 vectors) 2008-12-30 17:00:06 -07:00
Brian Paul
49a3fabed8 mesa: updated compilation documentation 2008-12-30 07:57:16 -07:00
Brian Paul
c9122072fc demos: minor fixes to twoside.c glsl demo 2008-12-30 07:24:19 -07:00
Xiang, Haihao
0c4346e632 intel: disable ATI_texture_env_combine3 for i830( and related device).
Thanks to Eric for pointing it out.
2008-12-30 11:25:45 +08:00
Eric Anholt
6c01500228 dri: Fix driWaitForMSC32 when divisor >= 2 and msc < 0.
We'd come up with a negative remainder, while we were looking for the positive
version of it in the loop conditional.  And, since the "did we hit our target"
break was disabled for the target_msc == 0 ("Just make the divisor/remainder
work") path, we'd never exit.

Simplify the code by just using int64_t all over instead of trying to do it
in a u32 space.
2008-12-29 12:09:24 -08:00
Alex Deucher
c40cd2ccdd R300: missing semicolon 2008-12-29 12:28:12 -05:00
Xiang, Haihao
0674a23854 intel: enable ATI_texture_env_combine3. Fixes #17707 2008-12-29 09:32:51 +08:00
Dave Airlie
0d1f90c75e r300: remove the unknowns from the indx_buffer code 2008-12-28 16:48:36 +10:00
Xiang, Haihao
129b6bc4e3 i915: separate the fog term from the specular color term.
Previously fog parameter and specular color are packed into the
same dword. Note specular color should be packed in BGRA for device,
so if fog parameter and specular color all are present, fog parameter
will dirty the alpha term of specular color. This fixes rendering
issue when playing 'Yo Frankie' on 915/945.
2008-12-24 09:26:46 +08:00
Eric Anholt
15b2e0d138 intel: Fix glBitmap clipping for DRI1. 2008-12-23 15:01:53 -08:00
Dave Airlie
b359350017 Remove third buffer support from Mesa.
This is part of the deprecated pageflipping infrastructure.
2008-12-23 15:01:53 -08:00
Ian Romanick
f83f5ec8f5 Add do_row_3d for mipmapping 3D textures
Previously 3D textures were mipmapped using multiple passed through
the 2D mipmap generation code.  This had 3 disadvantages.  First, the
extra passes were slow.  Second, this required the allocation of a
temporary buffer to hold intermediate data.  Third, and most
important, the extra passes caused loss of additional bits due to
integer division / bit-shifting.

With this change, our mipmapgen conformance test passes for
non-compressed texture formats.
2008-12-19 13:06:53 -08:00
Ian Romanick
a330933bb7 Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REV 2008-12-19 13:06:53 -08:00
Ian Romanick
7e04272690 965 / GLSL: Use full precision for EXP instruction
The partial precision mode doesn't have quite enough bits of precision
to pass conformance tests.
2008-12-19 13:06:53 -08:00
Ian Romanick
962fa6bbc1 GLSL: The LOG2 macro doesn't have enough precision
It looks like the LOG2 macro only has 8 or 9 bits of precission, but
the ARB_vertex_program spec says "accurate to at least 10 bits".
2008-12-19 13:06:53 -08:00
Eric Anholt
1db6371304 intel: Fix glBitmap top/bottom clipping.
Bug #19139.
2008-12-19 13:05:50 -08:00
Eric Anholt
e67350da34 intel: Don't forget the source bitmap size when clipping the size we draw. 2008-12-19 13:04:29 -08:00
Eric Anholt
b9752a2bd6 intel: Update mesa state in blit operations that want post-scissor draw bounds. 2008-12-19 13:04:29 -08:00
Eric Anholt
d091ebd4e4 intel: don't clip to scissor-clipped read framebuffer bounds in copypixels. 2008-12-19 13:04:23 -08:00
Eric Anholt
1e7785fe07 intel: Move copyteximage source clipping out of copytexsubimage.
glCopyTexSubImage already gets the (correct) clipping for us, so it doesn't
need the path.  While moving the clipping out, replace the code with the mesa
path to do the same job.
2008-12-18 18:50:16 -08:00
Eric Anholt
d01c44aaca mesa: Clip copytexsubimage to read framebuffer bounds, not scissor region. 2008-12-18 18:32:07 -08:00
Eric Anholt
aa09e0a1d5 mesa: Correct _mesa_clip_to_region() off-by-one.
Note how if:
x + width == xmax + 0: width -= 0
x + width == xmax + 1: width -= 0
x + width == xmax + 2: width -= 1

So, the function was clipping to [xmin, xmax+1), not [xmin, xmax) like it was
supposed to.  Same for ymax.
2008-12-18 18:32:07 -08:00
Michal Krol
d9b92b112f glsl: Fix handling of nested parens in macro actual arguments. 2008-12-18 11:11:59 -07:00
Brian Paul
f43019b226 demos: all glutDestroyWindow() upon exit to test query object clean-up 2008-12-18 11:11:59 -07:00
Xiang, Haihao
cb453244ca i915: check WRAP_T instead of WRAP_R for cube map texture. 2008-12-18 12:59:43 +08:00
Xiang, Haihao
df73363ed1 i915: fix abort issue. (bug #19147) 2008-12-18 10:07:45 +08:00
Brian Paul
35aebf4667 mesa: remove unneeded _mesa_reference_fragprog() call
The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
2008-12-17 18:05:03 -07:00
Jon Turney
8e7599892f dri: fix for Cygwin compilation, bug 19144 2008-12-17 18:01:16 -07:00
Brian Paul
20555835b6 mesa: updated comments 2008-12-17 14:54:46 -07:00
Brian Paul
1cb680d06b demos: add test of vertex-only and fragment-only shader programs 2008-12-17 13:58:31 -07:00
Brian Paul
637f06dcdc util: check for frag/vertShader=0 before attaching 2008-12-17 13:58:05 -07:00
Brian Paul
3be8d6db9e mesa: disable debug output 2008-12-16 15:25:58 -07:00
Brian Paul
368df1615e mesa: fix some GLSL array regressions
array.length() wasn't working.
Swizzle mask for accessing elements of float arrays was incorrect.
2008-12-16 14:29:52 -07:00
Brian Paul
702b5b076b mesa: rename slang_library_noise.[ch] to prog_noise.[ch] and rename functions
The noise functions were not glsl-specific.
Also, ran indent on the code to clean it up.
2008-12-15 18:37:39 -07:00
Brian Paul
c4341fe80a mesa: updated GLSL docs 2008-12-15 18:30:40 -07:00
Brian Paul
ec8cdc7113 Merge branch 'glsl-1.20-v2' 2008-12-15 18:25:43 -07:00
Brian Paul
4561307a27 mesa: bump glsl grammar revision
And update some copyrights.
2008-12-15 18:24:16 -07:00
Brian Paul
63fc119d6c mesa: in slang linker, replace assertion with link error when max samplers exceeded 2008-12-15 18:19:05 -07:00
Brian Paul
b8bfddf976 demos: updated tests/floattex.c (doesn't work just yet). 2008-12-15 18:19:05 -07:00
Brian Paul
c573b9f94a mesa: move _mesa_dlopen(), etc into separate dlopen.c file 2008-12-15 18:19:05 -07:00
Brian Paul
12219210af glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
Set GLUT_PPM_FILE to the desired filename.  The first frame rendered will
be written to that file.
2008-12-15 18:19:05 -07:00
Brian Paul
49543d7177 mesa: more re-org of variable declarations in glsl compiler 2008-12-15 18:18:08 -07:00
Brian Paul
a1229cc9e7 mesa: more comments, clean up 2008-12-15 16:57:37 -07:00
Brian Paul
a66ff046cc mesa: added comments, remove unused code 2008-12-15 16:49:32 -07:00
Brian Paul
aa1b904636 mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()
This allows uniform declarations with scalar/array initializers.
The code is rough though, and will be cleaned up.
2008-12-15 16:44:55 -07:00
Eric Anholt
dc58da3e06 intel: stub out CompressedTexSubImage2D instead of segfaulting. 2008-12-15 15:10:18 -08:00
Eric Anholt
095c3a5cb1 i965: Update state before checking for fallbacks in brw_try_draw_prims.
This got flipped around in 7855b2aef6.

Bug #18907.  Thanks to idr for pointing me at a nicer testcase than blender.
2008-12-15 13:34:07 -08:00
Pierre Willenbrock
e72a442153 intel: Don't steal renderbuffer from caller in intel_miptree_create_for_region
Fixes double-frees of some regions, once from the renderbuffer code and
once from the miptree itself.

Bug #19062
2008-12-14 19:27:56 -08:00
Eric Anholt
0dfec4ab61 i965: Add decode of index/vertex buffer and primitive emit. 2008-12-14 19:27:56 -08:00
Eric Anholt
bc3b8a39a7 intel: Add batchbuffer assertions to hopefully catch future mistakes. 2008-12-14 19:27:55 -08:00
Ian Romanick
1126aa86bf Perform range checking on app supplied texture base level
It is possible for applications to specify any texture base level,
including trivially invalid values (i.e., 47000000).  When an app
specifies an invalide base level, we should gracefully disable the
texture instead of accessing memory outside the gl_texture_object.

This fixes an occasional segfault in one of our conformance tests.
2008-12-14 18:46:18 -08:00
Ian Romanick
63cca2ba10 GLX: Include glapi.h before glapitable.h
A previous commit (2dbc515a66) change
some of the interdependencies between these two header files.  Now
glapi.h must be included before glapitable.h.
2008-12-14 18:46:17 -08:00
Ian Romanick
2dd0c16f21 GLX: Change resulting from previous commit
Commit db61cbfa2aa241da49589331d8b6875d9a77d826 made modifications to
the protocol generator data and scripts.  This commit represents the
changes to the generated files resulting from the previous changes.

This is the client-side part of the fix for bugzilla #11003.
2008-12-14 18:46:17 -08:00
Neil Roberts
1709ab01ef Return 0 as the request size when the pixels parameter is NULL
img_null_flag was being ignored when calculating the size of a request
so a BadLength error gets thrown for glTexImage3D when the pixels
parameter is NULL.

See bug #11003
2008-12-14 18:46:17 -08:00
Ian Romanick
0f73302d24 GLX: Fix protocol for glTexSubImage#D
The TexSubImage commands do not have the "NULL image" flag that was
introduced with glTexImage3D.  However, there is a CARD32 pad element
where that flag would be.  Removing the img_null_flag causes the flag
to be removed from the protocol.  This changes the protocol and breaks
everything.

In order to prevent needing to hand-code all of the TexSubImage
functions, a new attribute was added to the param element.  This new
attribute, called "padding," is a boolean flag that selects whether or
not the parameter is a real parameter (default / false) or is protocol
padding (true) that does not appear in the function's parameter list.

This change resulted in a number of changes to other Python scripts.
In almost all cases parameters with the is_padding flag set should not
be emitted.

This patch only changes the the XML, the DTD, and the generator
scripts.  It does NOT include the resulting changes to the generated
code.  Generated code in the X server is also changed by the script /
XML changes in this patch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2008-12-14 18:46:17 -08:00
Dan Nicholson
8be02fc8c6 Add OSMesa pkg-config file
This makes the GLU .pc file a little simpler, too.
2008-12-14 09:35:29 -08:00
Dan Nicholson
71e208bafe Add more package metadata to the pkg-config files
The pkg-config files have been filled in more thoroughly to allow users
to use mesa more effectively. By adding metadata to Requires.private,
Libs.private and Cflags, we can ensure that all the libraries and
headers will be found in all situations. However, the full substitutions
are only done when using the configure script.

This also fixes the glu pkg-config file to account for using GL or
OSMesa.

Fixes bug 18161.
2008-12-14 08:47:03 -08:00
Gary Wong
a42342cd90 Fix silly type mismatch error in multinoise demo. 2008-12-13 20:06:21 -07:00
Gary Wong
d28e852895 i965: Finish OPCODE_NOISEn instructions.
Added missing OPCODE_NOISE4, and use BRW_REGISTER_TYPE_D (instead of _UD)
in the initial RNDD instructions (which avoids saturating negative inputs
to 0).
2008-12-13 14:28:28 -07:00
Gary Wong
d427a2910f Add "multinoise" demo, to test 1/2/3/4 dimensional noise. 2008-12-13 14:28:04 -07:00
Gary Wong
0df3dfab82 Ensure p.w is initialised in noise demo. 2008-12-13 14:25:52 -07:00
Brian Paul
a9475cc240 mesa: use IFLOOR(x) instead of (int) FLOORF(x) 2008-12-12 18:03:48 -07:00
Brian Paul
3b61e9c6e6 mesa: place glsl constant arrays in constant memory
For example, a declaration like
   const float[3] xxx = float[3](1.1, 2.2, 3.3);
will place the array in the constant buffer whereas a regular, non-const array
would be placed in the temporary register file.
Next up: do the same thing for uniform arrays.
2008-12-12 18:00:47 -07:00
Brian Paul
0da44c62cc mesa: remove old size=4 limit 2008-12-12 18:00:19 -07:00
Brian Paul
d4be09fb2b mesa: code clean-up in glsl compiler 2008-12-12 16:20:31 -07:00
Brian Paul
240e211c71 mesa: remove unneeded swizzle init code in glsl compiler 2008-12-12 16:02:31 -07:00
Brian Paul
4d49fc83f1 mesa: disable glsl debug output 2008-12-12 15:34:58 -07:00
Brian Paul
81253be334 mesa: remove unused varpool code in glsl compiler 2008-12-12 15:11:08 -07:00
Brian Paul
5c0c5e5af9 mesa: basic array constructors work now
For example: float[3] xxx = float[3](1.1, 2.2, 3.3);

Optimizations for const-qualified arrays next.
2008-12-12 15:07:21 -07:00
Brian Paul
c20d00f04b mesa: copy array_len in slang_fully_specified_type_copy() 2008-12-12 15:01:00 -07:00
Brian Paul
9016331d0f mesa: remove incorrect array_len assignment 2008-12-12 15:00:06 -07:00
Brian Paul
87a00959ba mesa: array size fix in _slang_typeof_operation() 2008-12-12 13:18:30 -07:00
Brian Paul
8571401d7d mesa: fix some more GLSL 1.20 array things.
Function that return arrays should work now.
2008-12-12 13:05:29 -07:00
Brian Paul
d5367622a3 mesa: more glsl function renaming 2008-12-12 10:32:56 -07:00
Brian Paul
b4019483de mesa: use _slang_alloc() 2008-12-12 10:29:15 -07:00
Brian Paul
456a4e274f mesa: glsl compiler function renaming 2008-12-12 10:22:47 -07:00
Brian Paul
9a174ef409 mesa: more glsl type/function movement 2008-12-12 10:17:58 -07:00
Brian Paul
aeeb9bca27 mesa: move some glsl compiler functions to different files to be more consistant 2008-12-12 10:11:41 -07:00
Brian Paul
ea9dc3879f mesa: move _slang_locate_function() to different file 2008-12-12 10:03:31 -07:00
Brian Paul
19ca2908be mesa: remove unused fixup table code in glsl compiler 2008-12-12 09:58:18 -07:00
Brian Paul
ade777ea1b mesa: checkpoint: GLSL 1.20 array constructors 2008-12-12 09:56:13 -07:00
Brian Paul
1737f2dbdd mesa: consolidate variable declaration initializer code for globals too 2008-12-11 19:34:43 -07:00
Brian Paul
2760bca1e1 mesa: move variable initializer IR generation into _slang_gen_var_decl()
More code consolidation coming...
2008-12-11 19:28:22 -07:00
Brian Paul
05ed9f7fe9 mesa: simplify some glsl variable declaration code 2008-12-11 19:10:58 -07:00
Xiang, Haihao
8b69c42b35 intel: check for null texture. (fix #13902) 2008-12-12 10:02:05 +08:00
Brian Paul
929eb00b32 mesa: glsl clean-ups 2008-12-11 18:49:28 -07:00
Brian Paul
2dc3de016c mesa: checkpoint commit of GLSL 1.20 array syntax.
This allows things like float[3] x = float[3](1., 2., 3.);

Parsing and AST construction now.  Codegen not working yet.
2008-12-11 18:02:19 -07:00
Xiang, Haihao
c8b505d826 i915: fallback for cube map texture.
The i915 (and related graphics cores) only support TEXCOORDMODE_CLAMP and
TEXCOORDMODE_CUBE when using cube map texture coordinates, so fall back to
software rendering for other modes to avoid potential gpu hang issue. This
fixes scorched3d issue on 945GM(see bug 14539).
2008-12-11 14:03:00 +08:00
Brian Paul
e8f5c1a5e8 mesa: in slang linker, replace assertion with link error when max samplers exceeded 2008-12-09 14:30:42 -07:00
Brian Paul
3c7419d57b demos: updated tests/floattex.c (doesn't work just yet). 2008-12-09 14:29:14 -07:00
Brian Paul
c89690f765 mesa: move _mesa_dlopen(), etc into separate dlopen.c file 2008-12-09 14:26:02 -07:00
Guillaume Melquiond
3b9bc821e1 tnl: Fix zeroing of the 3ub part of a 3ub+1ub attrib pair in SSE.
Bug #16520.
2008-12-09 13:18:02 -08:00
Guillaume Melquiond
b66495a0d9 tnl: Optimize SSE load[23]f_1 since they don't need the identity swizzle.
SSE movss from memory zeroes out everything above the destination dword, so
we get the (a, 0) or (a, 0, 0) result that these functions needed.

Bug #16520.
2008-12-09 13:17:48 -08:00
Guillaume Melquiond
6e29a3c8e2 tnl: Fix typo that resulted in fallback from SSE for EMIT_3UB_3F_RGB/BGR.
Bug #16520
2008-12-09 11:42:24 -08:00
Guillaume Melquiond
d507cd749b tnl: Avoid undefined input value use in insert_3f_viewport_2().
Bug #16520.
2008-12-09 09:29:08 -08:00
Brian Paul
5295f9a033 glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
Set GLUT_PPM_FILE to the desired filename.  The first frame rendered will
be written to that file.
2008-12-09 10:23:14 -07:00
Pierre Willenbrock
a0d5c3cfe6 intel: Require the right amount of space in glBitmap blit acceleration.
This leads to problems when the batchbuffer is flushed, but the bitmap
data could not fit into it.
2008-12-08 14:06:51 -08:00
Eric Anholt
f849d364c2 mesa: Fix GenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB).
The ctx->Driver.GenerateMipmap() hook only expects cubemap face enums, not
CUBE_MAP_ARB, so walk all faces when we encounter that.  Fixes oglconform
fbo.c segfault with both swrast and i965 drivers.
2008-12-06 22:41:52 -08:00
Eric Anholt
8b661a5d33 intel: Fall back on rendering to a texture attachment with a border.
Fixes a segfault in oglconform fbo.c test.
2008-12-06 22:41:52 -08:00
Eric Anholt
75b26e18a6 intel: Fix crash in automatic mipmap generation for glCopyTex{Sub,}Image.
The images aren't mapped at this point, so we want the generic Mesa path for
GenerateMipmapEXT that does the mapping/unmapping for us.  Ideally Mesa would
just call it for us.
2008-12-06 22:41:52 -08:00
Eric Anholt
a0625fa281 intel: Fix glCopyPixels blit acceleration for FBO destinations.
This was another opportunity to either get clipped to screen size or not get
clipped enough and draw outside of object boundaries.
2008-12-06 22:41:51 -08:00
Eric Anholt
cb433d91c6 intel: Fix glBitmap blit acceleration for FBO destinations.
Bug #18914.  Fixes fbo_firecube hang due to drawing outside the FBO bounds.
Thanks to Pierre Willenbrock for debugging the issue.
2008-12-06 22:41:51 -08:00
Eric Anholt
bdc8ac4426 intel: Put CopyTexImage fallback under DEBUG_FALLBACKS not DEBUG_TEXTURE. 2008-12-06 22:41:51 -08:00
Brian
6e0f8b174d mesa: assorted clean-ups, updated comments, etc. 2008-12-05 09:20:06 -07:00
Brian
249e1e4d30 mesa: replace large macros with inline functions 2008-12-05 09:20:06 -07:00
Brian
39091cc638 demos: added simple vertex shader texture test.
Draw a quadmesh where Z coord is taken from a texture map.
2008-12-03 18:55:25 -07:00
Jeremy Huddleston
f18880038b darwin: Use -Os instead of -O2
(cherry picked from commit 456dbb143a0d11b69d8af0d493cd84efb0596273)
2008-12-03 17:03:35 -08:00
Eric Anholt
264cba6f70 i965: Fix failure to upload new constant data when changing programs.
This is fallout from the ffvertex_prog.c work.  It doesn't call
ProgramStringNotify, so we don't set param_state, so we wouldn't track when
VP parameters changed, and constants wouldn't get uploaded.  Instead, remove
param_state entirely and just use the real value that we want to be tracking.

Fixes rendering in openarena since BRW_NEW_BATCH got disentangled from
BRW_NEW_INDICES.

Bug #18822.
2008-12-03 11:45:16 -08:00
Eric Anholt
8a1e7086c7 i965: Fix stray character that the compile whined about. 2008-12-03 11:30:58 -08:00
Kristian Høgsberg
154a9e5317 Bump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol. 2008-12-01 21:44:03 -05:00
Dave Airlie
cd031749a7 intel: restore old vertex submit paths for i8xx hardware.
Intel docs state that only 830/845 have VBOs, 855/865 don't. So
lets just not use them on i8xx at all.

This restores the old pre-vbo code and uses it on all 8xx hw.
2008-12-02 20:31:14 +10:00
Brian
1e2f574251 mesa: fix conditional in save_Lightfv(), bug 18838 2008-12-01 18:32:47 -07:00
Eric Anholt
e476acb105 i965: Add a new state flag BRW_NEW_NR_SURFACES instead of CACHE_NEW_SURFACE
The CACHE_NEW_SURFACE bit always gets spammed since we get many different
surface BOs per state emit, but the only consumer of it wanted to just know
how many surfaces were enabled.
2008-11-28 17:09:46 -08:00
Eric Anholt
8e5639577c i965: Fix clashing enums for BRW_NEW_INDICES/VERTICES versus BATCH/DEPTH_BUFFER.
Fixes upload of large amounts of state for every new primitive emit.
2008-11-28 17:09:46 -08:00
Eric Anholt
287d719a93 i965: Remove BRW_WM_LOCK dirty bit, introduced to work around lack of relocs.
This was causing a prepare of wm state at every primitive emit.
2008-11-28 17:09:46 -08:00
Eric Anholt
3f973de07c i965: Add debug code for dumping how frequently different dirty bits are set. 2008-11-28 17:09:46 -08:00
Eric Anholt
8e76ac070d i915: Remove dead early z enable bit which was always on. 2008-11-28 17:09:46 -08:00
Eric Anholt
7855b2aef6 i965: Reduce fast-pathiness of brw_try_draw_prims, bringing in important checks.
Later primitives, even if they caused a full state validate, wouldn't check
that there was enough space in the batchbuffer, occasionally triggering the
sanity check.  We also skipped the aperture space check, even if it would
mean bringing in new programs and associated state.
2008-11-28 17:09:45 -08:00
Brian Paul
baaf9779f1 mesa: add missing break statements 2008-11-28 16:17:57 -07:00
Brian Paul
166d5ac170 mesa: enable texture compression extensions for software drivers when possible 2008-11-28 14:08:04 -07:00
Phillip Klaus Krause
3b5cd7d74a mesa: remove unneeded compressed texure size checks 2008-11-28 13:54:08 -07:00
Brian Paul
ec17001cd4 mesa: fix default switch case in append_token(), see bug 18734 2008-11-28 13:50:41 -07:00
Brian Paul
c303e7299b mesa: remove an assertion (see bug 18734) 2008-11-27 11:01:30 -07:00
RALOVICH, Kristóf
8c2b4b33c5 Revert "glx: xcbified visual and FBConfig choosing"
This reverts commit 62688f1135.
2008-11-27 07:20:38 -07:00
RALOVICH, Kristóf
80d1531ebe Revert "glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX"
This reverts commit 5369876501.
2008-11-27 07:20:35 -07:00
RALOVICH, Kristóf
5369876501 glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX
This uses a GLX VendorPrivate request. VendorPrivates are real GLX API
calls but use the same protocol request. XCB does not currently
support specific VendorPrivetes directly. See eg.:
http://lists.freedesktop.org/archives/xcb/2008-November/004036.html
for more information.
2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
1e167f6b5c glx: remove XCB debug leftover 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
ff3fa92eaa glx: xcbified glXSwapBuffers 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
62688f1135 glx: xcbified visual and FBConfig choosing 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
66db1b64e8 glx: xcbified __glXClientInfo 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
5f19f5c586 configure.ac: advertise XCB 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
6d1d157606 glx: no graphics context during initialization 2008-11-26 10:02:11 -07:00
RALOVICH, Kristóf
9c7aaa7afb glx: xcbified __glXIsDirect 2008-11-26 10:02:10 -07:00
RALOVICH, Kristóf
00f22f972f glx: missing static on local function 2008-11-26 10:02:10 -07:00
RALOVICH, Kristóf
f0d015cccb glx: use __glXGetString 2008-11-26 10:00:58 -07:00
RALOVICH, Kristóf
9c98e35ff6 glx: use __glXQueryServerString 2008-11-26 10:00:58 -07:00
RALOVICH, Kristóf
24b8a8cfe8 glx: implement __glXGetString, hide __glXGetStringFromServer 2008-11-26 10:00:58 -07:00
RALOVICH, Kristóf
fd52001c5c glx: implement QueryVersion using XCB 2008-11-26 10:00:58 -07:00
RALOVICH, Kristóf
5444424562 glx: implement __glXQueryServerString using XCB 2008-11-26 10:00:58 -07:00
Thomas Henn
55aeeef547 windows: fix visual object memleak 2008-11-26 09:51:29 -07:00
Thomas Henn
279343059f windows: fix _mesa_unreference_framebuffer() to pass ** type. 2008-11-26 09:49:32 -07:00
Brian Paul
001b1cbb0d mesa: add missing type check for function calls 2008-11-26 09:35:26 -07:00
Brian Paul
aa40de5c6f mesa: add missing size check for assignment optimization 2008-11-26 09:35:08 -07:00
Brian Paul
fea3a32e17 mesa: remove debug code 2008-11-26 09:02:37 -07:00
Brian Paul
e23122d309 demos: press SPACE to toggle fbo_firecube animation 2008-11-26 09:00:44 -07:00
Brian Paul
11701b4c15 mesa: add some missing switch cases for generating state var strings 2008-11-26 07:21:12 -07:00
Daniel Zimmermann
c03af8e780 fix possible memory leak in bezierPatchMeshMake 2008-11-26 07:20:02 -07:00
Brian Paul
8d95e66cf7 mesa: added support for GLSL 1.20 array.length() method
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
2008-11-24 17:18:56 -07:00
Brian Paul
0fab514ff5 mesa: support for GLSL 1.20 array types
This allows syntax like "float[8] foo, bar;"
2008-11-24 15:28:21 -07:00
Brian Paul
b730d0d3e9 mesa: add gl_program::Input/OutputFlags[] array
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.
2008-11-24 13:05:54 -07:00
Bernd Buschinski
d52e8543b6 glx: Add missing include for XCB, fixing crash on 64-bit.
Bug #18689
2008-11-24 11:40:38 -08:00
Brian Paul
153cc70ddb windows: replace free() with _mesa_unreference_framebuffer()
Fixes invalid memory reference bug when exiting.
2008-11-24 11:10:58 -07:00
Brian Paul
a203713738 mesa: copy centroid/invariance/precision info in parse_init_declarator() 2008-11-24 09:28:25 -07:00
Brian Paul
dc1107c08d mesa: check that varying variable qualifiers agree 2008-11-24 09:25:05 -07:00
Brian Paul
0e2f757413 mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy() 2008-11-24 09:13:14 -07:00
Brian Paul
3197954554 mesa: set flags for varying vars 2008-11-24 09:05:49 -07:00
Brian Paul
f490ec9797 mesa: rename program parameter flags to match other Mesa conventions 2008-11-24 09:04:52 -07:00
Brian Paul
08b825a771 mesa: copy Flags in _mesa_clone_parameter_list() 2008-11-24 09:04:11 -07:00
Brian Paul
3f6668a4bf mesa: dump/debug varying vars list 2008-11-24 09:03:47 -07:00
Brian Paul
777a5c4f2e mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
Plus, update the print/debug code.
2008-11-24 08:43:38 -07:00
Brian Paul
0f228d7ab3 mesa: add Flags field to gl_program_parameter
Only one flag defined so far: PROG_PARAM_CENTROID_BIT
2008-11-24 08:33:49 -07:00
Brian Paul
5464667874 docs: update webmaster email addr 2008-11-24 08:14:28 -07:00
Brian Paul
4f05893415 mesa: issue error, don't crash, when calling a prototyped, but undefined function
Bug #18659.
2008-11-21 17:22:16 -07:00
Brian Paul
b63a31b36f mesa: better variable name: s/aux/store/ 2008-11-21 14:24:28 -07:00
Brian Paul
c45c5c4ca4 added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
Fragment's red/greenb/blue is a function gl_FragCoord.xyz
2008-11-21 10:04:37 -07:00
Eric Anholt
3e0164aabb i965: Add support for accelerated CopyTexSubImage.
There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
the offsets had been adjusted for a negative pitch.  It appears that those
hacks were due to an unclear and surprising aspect of the hardware: inverting
the pitch results in the blit into the specified rectangle being inverted,
without the user needing to adjust y and base offset.

Tested with piglit copytexsubimage test on 915GM and GM965.  Should fix
serious performance issues with ETQW and other applications.
2008-11-21 17:35:33 +08:00
Eric Anholt
a6aa926e3f intel: Don't glBitmap fallback with scissoring enabled.
The blit bitmap code already handles scissoring.  This is a 15-100% speedup on
blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
2008-11-21 13:25:10 +08:00
Eric Anholt
2adef553f2 i915: Don't overwrite i915's Viewport function from generic code.
Instead, have i965 and i915 both call the generic function from their Viewport.
2008-11-21 13:23:46 +08:00
Xiang, Haihao
b6bb5e09e0 mesa: fix shadow sampling unit issue.
texture comparison logic is bypassed if the currently bound texture is not
a depth/depth_stencil texture.
2008-11-20 16:54:16 +08:00
airlied
1412ca0be2 intel: fix i830 comment + backwards VB offsets.
According to Keith the docs have these offsets the other way around
2008-11-20 21:27:45 +10:00
airlied
1ea414fdeb intel: fix i8xx vbo enable bit 2008-11-20 21:14:45 +10:00
airlied
b17e343bdd intel: add lots of i830 engine to intel_decode debug 2008-11-20 18:18:20 +10:00
Brian Paul
bab4e78734 mesa: minor comment reformattting 2008-11-19 16:04:37 -07:00
Brian Paul
bf7f9d2143 mesa: glsl compiler debug code
RETURN0 macro reports file/line before returning zero.
2008-11-19 15:08:46 -07:00
Brian Paul
ae0ff8097b mesa: rework GLSL array code generation
We now express arrays in terms of indirect addressing.  For example:
  dst = a[i];
becomes:
  MOV dst, TEMP[1 + TEMP[2].y];
At instruction-emit time indirect addressing is converted into ARL/
ADDR-relative form:
  ARL ADDR.x, TEMP[2].y;
  MOV dst, TEMP[1 + ADDR.x];
This fixes a number of array-related issues.  Arrays of arrays and complex
array/struct nesting works now.
There may be some regressions, but more work is coming.
2008-11-19 14:12:25 -07:00
Brian Paul
e709d68d92 mesa: don't realloc instruction buffer so often 2008-11-19 09:12:47 -07:00
Brian Paul
d9fa9e3290 mesa: updated comment 2008-11-19 09:12:47 -07:00
Xiang, Haihao
2f9ceb158a mesa: clamp luminance if needed.
This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue
on fixed-point color buffers.
2008-11-19 11:30:30 +08:00
Brian Paul
80d6379722 mesa: no longer need Writemask field in GLSL IR nodes
The Swizzle and Size fields carry all the info we need now.
2008-11-13 18:19:12 -07:00
Brian Paul
3a7ed9779b mesa: revamp GLSL instruction emit code
This is a step toward better array handling code.  In particular, when more
than one operand of an instruction uses indirect addressing, we'll need some
temporary instructions and registers.  By converting IR storage to instruction
operands all in one place (emit_instruction()) we can be smarter about this.

Also, somewhat better handling of dst register swizzle/writemask handling.
This results in tighter writemasks on some instructions which is good for
SOA execution.

And, cleaner instruction commenting with inst_comment().

Next: remove some more dead code and additional clean-ups...
2008-11-13 18:19:12 -07:00
Brian Paul
610c2461ce mesa: make writemask_string() non-static 2008-11-13 18:19:12 -07:00
Brian Paul
4c167f8fc1 mesa: remove some do-nothing GLSL code 2008-11-13 18:19:12 -07:00
Brian Paul
fe984aed5a mesa: fix accidental regression in GLSL built-in texture matrix lookup
Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
2008-11-13 18:19:12 -07:00
Brian Paul
d835f415c6 mesa: use the tighter definition of GLSL ftransform() from the gallium branches 2008-11-13 18:19:12 -07:00
Brian Paul
e556cc82f8 mesa: remove unused/obsolete __NormalMatrixTranspose matrix 2008-11-13 18:19:12 -07:00
Brian Paul
47b883e42b mesa: fix bug in GLSL built-in matrix state lookup 2008-11-13 18:19:12 -07:00
Brian Paul
557fde9531 mesa: tweak program register printing for RelAddr case 2008-11-13 18:19:12 -07:00
Alan Hourihane
e4c9aeed8b mesa: fix generation of fixed function state when no vp exists 2008-11-13 13:31:10 +00:00
Eric Anholt
c30eb2c104 i965: Upload state on primitive switch, don't just prepare it.
This was a regression in 59b2c2adbb that broke
blender, among other apps.
2008-11-12 13:37:16 -08:00
Eric Anholt
2fc9d671e0 i965: Fix VB refcount leak on aperture overflow. 2008-11-12 13:34:20 -08:00
Eric Anholt
72bbc89534 Add glsync demo program from jbarnes for testing vblank synchronization. 2008-11-12 13:07:23 -08:00
Eric Anholt
62ff7ab720 i965: Fix up VS max_threads for G4X and removing a magic number.
As far as I can read in the docs, VS threads can be 1:1 with the pairs of
VUE handles allocated for them.  Also, G4X can run twice as many threads as
before (though we won't unless the we bump the preferred URB entries for VS).
2008-11-12 13:07:23 -08:00
Eric Anholt
9dadfc09a9 i965: Fix up SF max_threads.
We were dividing the number of URB entries by two to get number of threads,
which looks suspiciously like a copy'n'paste-o from brw_vs_state.c.  Also, the
maximum number of threads is 24, not 12.
2008-11-12 13:07:23 -08:00
Eric Anholt
82eb7c235d i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.
The clip thread could potentially deadlock when processing tristrips since
being moved back to dual-thread mode, as the two threads could each have 4 VUEs
referenced and not be able to allocate another one since SF processing
wasn't able to continue (needing 5 entries before it freed 2).
In constrained URB mode, similar deadlock could even have occurred with
polygons (so we cut back max_threads if we can't handle it any primitive type).
2008-11-12 13:07:22 -08:00
Eric Anholt
5cb7ba10cc i965: Update WM maximum threads for G4X. 2008-11-12 13:07:22 -08:00
Eric Anholt
d70d62c561 i965: Add a big comment explaining my understanding of URB management.
It shouldn't offer anything new over what's in the docs (except for G4X notes),
but here it's all in one place.
2008-11-12 13:07:22 -08:00
Kristian Høgsberg
e1fbb30211 glFlush before CopySubBuffer, fix coordinates and extension name typo. 2008-11-12 15:26:25 -05:00
Hanno Böck
becf3d9272 glx: fix xcb build 2008-11-12 06:56:42 -07:00
Brian Paul
90246d3ea5 mesa: fix version check in dinoshade.c 2008-11-11 14:35:39 -07:00
Brian Paul
f4361540f8 mesa: allow relative indexing into all register files and indirect dst register indexing 2008-11-11 14:35:39 -07:00
Kristian Høgsberg
57d78067bd Don't mess with emacs tab width. 2008-11-11 13:41:43 -05:00
Xiang, Haihao
09623fe551 intel: reset cliprect_mode to IGNORE_CLIPRECTS.
This ensures all batchbuffers have a same cliprect mode after calling
_intel_batchbuffer_flush even if there aren't invalid commands in the
current batch buffer. (fix bug#18362).
2008-11-11 13:58:15 +08:00
Xiang, Haihao
8412b06b67 mesa: restore the negate flag of dots in build_lighting.
Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.
2008-11-11 13:36:32 +08:00
Xiang, Haihao
064b04d464 mesa: update new state for RasterPos like other operations.
This fixes a lighting issue when drawing a bitmap.
2008-11-11 13:35:51 +08:00
Brian
be1b8e5d6c mesa: new _mesa_is_pow_two() function 2008-11-10 20:16:00 -07:00
Brian Paul
8df4f6667f mesa: restore glapi/ prefix on #include 2008-11-10 16:38:47 -07:00
Brian Paul
59cc973940 mesa: fix some misc breakage caused by editing auto-generated files rather than the python generators
Specifically:
  #include "glapitable.h" in src/mesa/main/glapi/dispatch.h
  Call _mesa_bsearch() in src/mesa/main/enums.c.
2008-11-10 14:42:02 -07:00
Brian Paul
13f96c5401 GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()
See bug 18445.
When getting array results, __glXReadReply() always reads a multiple of
four bytes.  This can cause writing to invalid memory when 'n' is not a
multiple of four.

Special-case the glAreTexturesResident() functions now.
To fix the bug, we use a temporary buffer that's a multiple of four bytes
in length.

NOTE: this commit also reverts part of commit 919ec22ecf
(glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which
directly edited the indirect.c file rather than the python generator!
I'm not repairing that issue at this time.
2008-11-10 14:27:42 -07:00
Brian Paul
6186e7a206 dri: alloc __DRIscreen object with calloc() 2008-11-10 12:39:36 -07:00
Brian Paul
2d76a0d77a mesa: track initialization status of uniform variables. Plus, asst clean-ups. 2008-11-10 12:39:36 -07:00
Brian Paul
379ff8c956 mesa: initial support for uniform variable initializers.
This lets one specify initial values for uniforms in the code, avoiding
the need to call glUniform() in some cases.
2008-11-10 12:39:36 -07:00
Brian Paul
242c0cb543 mesa: fix logic error in GLSL linker when looking for main() shaders 2008-11-10 12:39:36 -07:00
Brian Paul
80c8017a64 mesa: allows 'f' suffix on GLSL float literals 2008-11-10 12:39:36 -07:00
Brian Paul
e5359401d6 undo accidental changes to multitex.frag shader 2008-11-10 12:39:36 -07:00
Brian
f1c9016af1 mesa: remove OPCODE_INT #define 2008-11-08 10:33:30 -07:00
Brian
e24afc808f mesa: use NRM3 in emit_normalize_vec3() when drivers are ready 2008-11-08 10:29:03 -07:00
Brian Paul
87d1a26ba3 mesa: add support for 'centroid' qualifier in GLSL 1.20 2008-11-07 16:08:21 -07:00
Brian Paul
448156f769 mesa: add support for 'invariant' keyword for GLSL 1.20 2008-11-07 15:51:10 -07:00
Brian Paul
b632e5aa7f mesa: reformat comments, rewrap lines, etc for a little better readability 2008-11-07 14:28:00 -07:00
Brian Paul
22459e7a9c mesa: forgot sqrt in NRM3/4 instructions 2008-11-07 12:59:36 -07:00
Brian Paul
6dc91b8371 mesa: fix opcode table order bug 2008-11-07 12:59:08 -07:00
Brian Paul
a98a25c25f mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually emitted yet though) 2008-11-07 09:51:25 -07:00
Brian Paul
65cb74ecc0 mesa: added DP2, DP2A instructions 2008-11-07 09:51:25 -07:00
Brian Paul
37eef7b474 mesa: added AND/OR/NOT/XOR instructions 2008-11-07 09:51:25 -07:00
Brian Paul
d93072782a mesa: include shader/prog_instruction.h
Seems to fix a mysteriously missing build dependency.
2008-11-07 09:51:25 -07:00
Brian Paul
f6ead50827 mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.
We may emit these instructions from GLSL instead of DP3/RCP/MUL.

Also, implement SSG (set sign) instruction in the interpreter.
2008-11-07 09:51:25 -07:00
Xiang, Haihao
4550b0562d mesa: use _bfc0 instead of _col0 when building back face lighting. 2008-11-07 14:58:04 +08:00
Brian Paul
035c0cf71a mesa: rename OPCODE_INT -> OPCODE_TRUNC
Trunc is a more accurate description; there's no type conversion involved.
2008-11-06 17:14:33 -07:00
Brian Paul
517401af07 mesa: update the shader programs->TexturesUsed array at link time
If an application never calls glUniform() to set sampler variable values
they'll remain 0 (the default value/unit).
Now call _mesa_update_shader_textures_used() at link time in case glUniform()
is never called.  program->TextureUsed[] will then be correct for state
validation.
2008-11-06 15:24:18 -07:00
Xiang, Haihao
df94fd1764 i965: Always check vertex program.
Now i965 also uses the vertex program created by Mesa Core, but this vertex program
is not only depend on mesa state _NEW_PROGRAM, so always check the current vertex
program is updated or not. This fixes broken demo cubemap.
2008-11-06 15:25:55 +08:00
Gary Wong
0060d41549 i965: Implement missing OPCODE_NOISE3 instruction in fragment shaders.
OPCODE_NOISE4 coming later.
2008-11-05 20:38:05 -05:00
Brian Paul
1bfdab781b mesa: Fix compiler warnings on Windows.
cherry-picked subset of a77976d2ee
2008-11-05 16:04:40 -07:00
Brian Paul
50beb4e6fd mesa: fix a GLSL array indexing codegen bug
Expressions like array[i] + array[j] didn't work properly before.
2008-11-05 16:02:16 -07:00
Brian Paul
dea4826b84 mesa: remove extra \n from printf string 2008-11-05 09:34:15 -07:00
Brian Paul
949e7383b5 mesa: add Initialized field to gl_uniform struct, for debugging purposes only 2008-11-05 09:17:55 -07:00
Brian Paul
aab429c8df added glsl/skinning.c test to test matrix blending/weighting 2008-11-04 16:56:59 -07:00
Brian Paul
6c8274078d mesa: fix float-valued GLSL vertex attribute variables
The swizzle mask for such variables wasn't set up properly.
2008-11-04 16:55:18 -07:00
Brian Paul
35a9f1bccf print err msg if unable to open shader file 2008-11-04 16:55:18 -07:00
Brian Paul
d3222cb1d4 remove old debug glFlush/Finish calls from demos 2008-11-04 16:55:18 -07:00
Eric Anholt
4be624d693 i965: Clean up stale NDC comment. 2008-11-02 12:30:01 -08:00
Eric Anholt
9fd4c27ae3 i965: Avoid vs header computation for negative rhw on G4X.
This cuts one MOV out when setting a zero header.
2008-11-02 12:30:01 -08:00
Eric Anholt
34b1776e8d i965: Merge GM45 into the G4X chipset define.
The mobile and desktop chipsets are the same, and having them separate is
more typing and more chances to screw up.
2008-11-02 12:30:00 -08:00
Eric Anholt
d758c48761 i965: Fix copy'n'paste issue that made brw->urb.constrained useless.
Also, add a comment explaining what brw->urb.constrained tries to do.
2008-11-02 12:30:00 -08:00
Brian Paul
bbffed0857 mesa: silence warnings 2008-11-01 16:05:40 -06:00
Brian Paul
b625a0a475 mesa: do scope replacement for while/for loops too
This fixes a function inlining bug involving vars declared inside loop bodies.
2008-11-01 16:05:40 -06:00
Brian Paul
3d0d803313 mesa: glsl tree print improvements 2008-11-01 16:05:40 -06:00
Brian Paul
1e1ba54a94 mesa: fix assignment / parameter passing of sampler types 2008-11-01 16:05:40 -06:00
Brian Paul
131d42573c mesa: additional debug flags for glsl debug/disassembly 2008-11-01 16:05:40 -06:00
Keith Packard
72c914805b Fix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1
Quoting section 11.3.10, paragraph 10.2 of the 965PRM:

10.2. 	If ExecSize is 1, dst.HorzStride must not be 0. Note that this is
	relaxed from rule 10.1.2. Also note that this rule for destination
	horizontal stride is different from that for source as stated in
	rule #7.

GM45 gets very angry when rule 10.2 is violated.

Patch 58dc8b7 (i965: support destination horiz strides in align1 access mode)
added support for additional horizontal strides in the ExecSize 1 case, but
failed to notice that mesa occasionally re-purposes a register as a
temporary destination, even though it was constructed as a repeating source
with HorzStride = 0.

While, ideally, we should probably fix the code using these register
specifications, this patch simply rewrites them to use HorzStride 1 as the
pre-58dc8b7 code did.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-01 14:38:19 -07:00
Brian Paul
06fe728e5b mesa: fix some bugs with precision qualifier parsing 2008-10-31 17:42:26 -06:00
Brian Paul
90711775d7 mesa: do scope replacement for variable initializers too 2008-10-31 17:42:26 -06:00
Brian Paul
89bca902b3 mesa: fix copy/paste error in GLSL error msg 2008-10-31 17:42:25 -06:00
Eric Anholt
69e10084cd intel: pixelzoom doesn't apply to glBitmap, so disable the fallback. 2008-10-31 16:04:50 -07:00
Eric Anholt
018088996a intel: Remove fallback for glDrawPixels(GL_COLOR_INDEX)
GL_COLOR_INDEX mode is just like other normal formats (that is, not
depth/stencil) and is uploaded fine by TexImage.
2008-10-31 16:04:50 -07:00
Eric Anholt
ed478a5fde intel: Add more fallback debugging for glDrawPixels. 2008-10-31 16:04:50 -07:00
Gary Wong
ab3e9c481f i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.
(Only in fragment shaders, so far.  Support for NOISE3 and NOISE4 to come.)
2008-10-31 17:37:26 -04:00
Gary Wong
58dc8b7db5 i965: support destination horiz strides in align1 access mode.
This is required for scatter writes in destination regions to work.
2008-10-31 17:34:32 -04:00
Xiang, Haihao
963071ffea mesa: fix a typo in the previous commit 2008-10-31 09:24:27 +08:00
Xiang, Haihao
bccc09e6bf mesa: fix an issue in _mesa_PointParameterfv(). 2008-10-30 10:40:51 +08:00
Brian Paul
239ce2240a glx: added PFNGL*PROC typedefs for GLX 1.3 functions
Since we define GLX_VERSION_1_3 in glx.h, the typedefs in the glxext.h header
were getting skipped.
2008-10-29 15:49:19 -06:00
Nigel Stewart
cd1283f515 glu: fix compilation problem when using Windows gl.h (sf bug 2204589) 2008-10-29 09:23:48 -06:00
Eric Anholt
26c1c04fd0 intel: Fix glDrawPixels with 4d RasterPos. 2008-10-28 22:52:38 -07:00
Eric Anholt
59b2c2adbb i965: Fix check_aperture calls to cover everything needed for the prim at once.
Previously, since my check_aperture API change, we would check each piece of
state against the batchbuffer individually, but not all the state against the
batchbuffer at once.  In addition to not being terribly useful in assuring
success, it probably also increased CPU load by calling check_aperture many
times per primitive.
2008-10-28 22:52:38 -07:00
Brian Paul
835a9fef05 mesa: include glslcompiler driver in tarball 2008-10-28 18:27:21 -06:00
Brian Paul
1100866aa1 mesa: fix stand-alone glslcompiler build 2008-10-28 17:03:49 -06:00
Eric Anholt
0cade4de4f intel: Don't keep intel->pClipRects, and instead just calculate it when needed.
This avoids issues with dereferencing stale cliprects around intel_draw_buffer
time.  Additionally, take advantage of cliprects staying constant for FBOs and
DRI2, and emit cliprects in the batchbuffer instead of having to flush batch
each time they change.
2008-10-28 13:23:33 -07:00
Gary Wong
e92a457ac0 i965: Allocate temporaries contiguously with other regs in fragment shaders.
This is required for threads to be spawned with correctly sized GRF
register blocks.
2008-10-28 15:03:14 -04:00
Julien Cristau
98fcdf3f49 configure.ac: Add support for gnu/kfreebsd
Check for *-gnu instead of linux* to set DEFINES.
Change some freebsd* checks to *freebsd*.
2008-10-28 11:45:05 -07:00
Eric Anholt
bcfba0d91e i965: Fix compiler warning from unused var. 2008-10-27 11:53:06 -07:00
Eric Anholt
a74b1e149d i965: Remove dead brw->wrap flag. 2008-10-27 11:53:06 -07:00
Eric Anholt
dd17cd600a intel: Use dri_bo_get_tiling to get tiling mode of buffers we get from names.
Previously, we were trying to pass a name to the GEM GET_TILING_IOCTL,
which needs a handle, and failing.  None of our buffers were tiled yet, but
they will be at some point with DRI2 and UXA.
2008-10-27 11:53:06 -07:00
Xiang, Haihao
2a877411db intel: GL_FALSE on a BO if it won't be modified when mapping this BO. (thanks Eric). 2008-10-26 06:38:27 +08:00
Xiang, Haihao
ec8076264e i965: don't emit state when dri_bufmgr_check_aperture_space fails.
This ensures there is an unfilled batchbuffer used for emitting states again. Partial fix for #17964.
2008-10-24 16:05:48 +08:00
Xiang, Haihao
f657c81911 intel: fallback for intelEmitCopyBlit.
Use _mesa_copy_rect instead of BLT operation if dri_bufmgr_check_aperture_space
still fails after flushing batchbuffer. Partial fix for #17964.
2008-10-24 15:55:32 +08:00
Brian Paul
8c20c913f8 mesa: version 43 of glext.h 2008-10-23 11:23:36 -06:00
Brian Paul
3efd3b1512 mesa: version 21 of glxext.h 2008-10-23 11:21:32 -06:00
Brian Paul
ea6ddcbe0e mesa: remove calls to _mesa_adjust_image_for_convolution(), use texImage fields
The texImage->Width/Height fields will have the post-convolution width/height.
2008-10-23 10:49:51 -06:00
Brian Paul
95c04cccfe mesa: move convolution image adjustment code for glCopyTexSubImage1/2/3D()
Do it after initial error checking, after we know the texture's internal format.
2008-10-22 07:53:26 -06:00
Brian Paul
9dfd54fa83 mesa: some re-org of glCopyTexSubImage1/2/3D() error checking 2008-10-22 07:48:37 -06:00
Brian Paul
22e442544b mesa: in textore.c, only adjust image for convolution if image is a color format
Makes things consistant with the code in teximage.c.
We only want to apply convolution to color formats (not depth/index formats)
2008-10-22 07:36:33 -06:00
Kristof Ralovich
0970de3171 glx: updated comment 2008-10-21 08:20:43 -06:00
Xiang, Haihao
b4bf9acc32 i915: fix carsh in i830_emit_state. (bug #17766) 2008-10-21 10:30:39 +08:00
Brian Paul
893ea47e44 glxswapcontrol: added -fullscreen option 2008-10-16 14:33:27 -06:00
Brian Paul
9a84d78c18 glxgears: for fullscreen, disable window borders the right way 2008-10-16 14:33:27 -06:00
Roland Scheidegger
73e1193632 fix span issue with really old ddx and non-tcl r100 chips 2008-10-16 16:25:52 +02:00
Brian Paul
a7b24ac02f mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861 2008-10-16 08:23:53 -06:00
Kristian Høgsberg
4830809524 Update DRI2 implementation according to new specification. 2008-10-14 23:07:55 -04:00
Kristian Høgsberg
77c7f90ed4 Revert pointless reindents to avoid merge conflicts.
Why are we reindenting code that's work in progress...
2008-10-14 23:07:42 -04:00
RALOVICH, Kristóf
351de8aecc glx: indent -br -i3 -npcs --no-tabs glxclient.h 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
03b471d389 glx: indent -br -i3 -npcs --no-tabs glcontextmodes.h 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
843a09cf5c glx: indent -br -i3 -npcs --no-tabs glxextensions.c 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
80c83c97fc glx: indent -br -i3 -npcs --no-tabs glxextensions.h 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
1d0a9e4377 glx: indent -br -i3 -npcs --no-tabs xfont.c 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
4a3ccc6ca5 glx: indent -br -i3 -npcs --no-tabs xf86dristr.h 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
4d2a381114 glx: indent -br -i3 -npcs --no-tabs XF86dri.c 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
04a810beac glx: indent -br -i3 -npcs --no-tabs xf86dri.h 2008-10-13 16:53:41 -06:00
RALOVICH, Kristóf
4c4cb1b5d1 glx: kill old K&R syntax in XF86dri.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
b9a2d35429 glx: indent -br -i3 -npcs --no-tabs vertarr.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
64085b2c2c glx: indent -br -i3 -npcs --no-tabs singlepix.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
dd0edeb887 glx: indent -br -i3 -npcs --no-tabs single2.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
507808875d glx: indent -br -i3 -npcs --no-tabs renderpix.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
6bfd57ecde glx: indent -br -i3 -npcs --no-tabs render2.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
40c481dc91 glx: indent -br -i3 -npcs --no-tabs pixelstore.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
6581071c1d glx: indent -br -i3 -npcs --no-tabs pixel.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
cfe7f20d0e glx: indent -br -i3 -npcs --no-tabs packsingle.h 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
0cff716e70 glx: indent -br -i3 -npcs --no-tabs packrender.h 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
68583292b1 glx: indent -br -i3 -npcs --no-tabs indirect_window_pos.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
ccc03b427a glx: indent -br -i3 -npcs --no-tabs indirect_vertex_program.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
1c916736b8 glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array_priv.h 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
9389aa3c0b glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.h 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
c868ab3dd1 glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.c 2008-10-13 16:53:40 -06:00
RALOVICH, Kristóf
39df336635 glx: indent -br -i3 -npcs --no-tabs indirect_transpose_matrix.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
64d1c10e6c glx: indent -br -i3 -npcs --no-tabs indirect_texture_compression.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
6020e6e66a glx: indent -br -i3 -npcs --no-tabs glx_query.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
2d4c26b85e glx: indent -br -i3 -npcs --no-tabs glx_pbuffer.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
bd6a3d5975 glx: indent -br -i3 -npcs --no-tabs glxhash.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
39c958944c glx: indent -br -i3 -npcs --no-tabs glxhash.h 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
acb7e52430 glx: indent -br -i3 -npcs --no-tabs glxext.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
3a2d2fcd8a glx: indent -br -i3 -npcs --no-tabs glxcurrent.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
1293356c60 glx: indent -br -i3 -npcs --no-tabs glxcmds.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
07c9bd246d glx: indent -br -i3 -npcs --no-tabs glcontextmodes.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
f76724b767 glx: indent -br -i3 -npcs --no-tabs eval.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
60aa0918a1 glx: indent -br -i3 -npcs --no-tabs drisw_glx.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
4e88ae5639 glx: indent -br -i3 -npcs --no-tabs dri_glx.c 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
09c889b318 glx: indent -br -i3 -npcs --no-tabs dri_common.h 2008-10-13 16:53:39 -06:00
RALOVICH, Kristóf
4d86228321 glx: indent -br -i3 -npcs --no-tabs dri_common.c 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
2e8d62be61 glx: indent -br -i3 -npcs --no-tabs dri2.h 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
bca6e79a45 glx: indent -br -i3 -npcs --no-tabs dri2_glx.c 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
66cc150770 glx: indent -br -i3 -npcs --no-tabs dri2.c 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
f788a8ed69 glx: indent -br -i3 -npcs --no-tabs compsize.c 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
ee3a6cec36 glx: indent -br -i3 -npcs --no-tabs clientattrib.c 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
58b72103d3 glx: add a line of Emacs helping variables 2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
61eb4f50eb glx: No need to zero a local variable.
My previous commit e206034863 introduced this.
2008-10-13 16:53:38 -06:00
RALOVICH, Kristóf
0b188d1cdc glx: make INIT_MESA_SPARC more robust
Embed the macro body into do { ... } while(0) .
2008-10-13 16:53:38 -06:00
Xiang, Haihao
c238098bbc i915: Texture instructions use r/t/oC/oD register as texture coordinate.
Fix http://bugs.freedesktop.org/show_bug.cgi?id=16287.
2008-10-13 13:04:04 +08:00
Eric Anholt
5c39bad220 intel: Add acceleration for glDrawPixels(GL_STENCIL_INDEX).
This is nasty because there's no way in GL to output data to the stencil
buffer directly, so we have to do a dance to wrap the depth/stencil buffer
in an ARGB renderbuffer.

Improves performance of several oglconform testcases by better than a factor
of 2.
2008-10-11 03:17:08 -07:00
Brian Paul
24748268a3 mesa: fix asst. issues in _mesa_texstore_argb8888()
If we shift bytes into the texel word (or use the PACK_COLOR_8888 macro),
we don't have to worry about big vs. little endian.  See comments about
texel formats in texformat.h.
Remove an unneeded/incorrect else-if clause that produced wrong results
on big-endian systems.
2008-10-10 16:34:08 -06:00
Brian Paul
bf9d9a9d01 mesa: include needed header 2008-10-10 16:34:08 -06:00
Brian Paul
f863ae1a04 mesa: remove unneeded includes 2008-10-10 16:34:08 -06:00
Brian Paul
85a3bf6dab mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861 2008-10-10 16:34:08 -06:00
Brian Paul
3210a6d6c7 mesa: rename macro params to emphasize that there's no particular color ordering 2008-10-10 16:34:08 -06:00
Brian Paul
f63594bfef mesa: remove unneeded includes 2008-10-10 16:34:08 -06:00
Ian Romanick
e700269441 intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver 2008-10-10 11:47:43 -07:00
Eric Anholt
5e9cb42aa6 i965: Add missing intel_pixel_draw.c symlink to fix build. 2008-10-10 09:43:15 -07:00
Eric Anholt
7216679c19 i965: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
2008-10-09 11:45:58 -07:00
Eric Anholt
91221483a6 i965: Actually hook up the accelerated DrawPixels support. 2008-10-09 10:23:47 -07:00
Eric Anholt
9aec1288ee i915: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
2008-10-08 23:55:58 -07:00
Brian Paul
a71b1af5ad mesa: vertex emit debug code (disabled) 2008-10-08 09:33:56 -06:00
Brian Paul
5462d447aa mesa: fix vertex format/attribute bug
If the tnl output attributes matches the swsetup input attributes we still
need to check if the desired vertex color type (float vs. chan) has changed
so that we use the right emit functions.

Fixes a conformance failure found with logicop test at pathlevel 3.
2008-10-08 09:33:56 -06:00
Eric Anholt
902727b7e3 mesa: Pass the context to query object delete cb to avoid null dereference. 2008-10-07 18:52:12 -07:00
Eric Anholt
c157cfc637 i965: Add ARB_occlusion_query support. 2008-10-07 18:52:12 -07:00
Eric Anholt
fc19536aa9 intel: Push flushing for cliprects changes down into the cliprects changes.
This lets us short-circuit when we're leaving the same cliprects in place,
which becomes quite common with metaops clears, and may be useful for some of
our FBO paths.
2008-10-07 18:52:12 -07:00
Xiang, Haihao
94d3a30df7 i965: Fix a potential assertion failure. 2008-10-08 09:30:12 +08:00
Brian Paul
7cb723a3fd mesa: pass 'mask', not NULL to renderbuffer->Put functions
Fixes bug 17800.
2008-10-07 16:52:47 -06:00
Brian
4f4147eadd mesa: fix convolve/convolution mix-ups 2008-10-06 17:10:22 -06:00
Brian Paul
f8baad2d25 mesa: set FRAG_BIT_FOGC bit in InputsUsed if FogOption!=GL_NONE 2008-10-06 12:29:29 -06:00
Brian Paul
6e34fc0d37 mesa: adjust texcoords for swrast sprite points.
Fixes glean pointSprite test w/ software rendering
2008-10-06 11:34:01 -06:00
Brian Paul
145d49838f mesa: fix static library construction
If the .a is made of other .a files, extract the objects from the later.
2008-10-06 11:01:31 -06:00
Brian Paul
b0ca50bd38 mesa: updated _mesa_delete_query() comments 2008-10-06 09:32:33 -06:00
Brian Paul
382911bdbc mesa: add missing GLcontext param to _mesa_delete_query().
Fixes vtk crash and others.
2008-10-06 09:26:45 -06:00
Eric Anholt
91d0020eec i915: Refine the texture indirect lookup accounting.
Without this, we would reject programs which sampled multiple times from
registers defined in the same phase (block of instructions with the same
texture indirection count), as each sample would count as a new phase
beginning.  Instead, keep track of which phases registers were written in,
and only bump phase when we're reading from one generated in this phase.

On the other hand, we failed to count oC or oD texture samples as being new
phases.

Bug #17865.
2008-10-04 18:40:32 -07:00
Ian Romanick
db9ba91971 intel: Don't advertise unsupported extensions on pre-965 hardware
Move GL_ARB_texture_non_power_of_two and GL_ATI_separate_stencil
from the generic extension list to the 965-specific list.  Neither
extension is supported on i830-class hardware, and
GL_ATI_separate_stencil is not supported on i915-class hardare.
GL_ARB_texture_non_power_of_two is supported on i915-class hardare and
is already in the i915-specific list.
2008-10-03 12:16:04 -07:00
Ian Romanick
4741dbcbbc Unify ARB_depth_texture and SGIX_depth_texture
The ARB extension is a superset of the older SGIX extension.  Any
hardware that can support the SGIX version can also support the ARB
version.  In Mesa, any driver that supports one also supports the
other.  This unification just simplifies some bits of code.
2008-10-01 20:38:10 -07:00
Eric Anholt
17fdd1ab3b i965: sampler default color ends up in texture cache, not instructions.
See volume 4, SAMPLER_BORDER_COLOR_STATE programming notes.
2008-10-01 16:59:16 -07:00
Eric Anholt
df6ae3f0a3 i965: Fix overwriting of depth override for SetTexOffset.
Fixes black borders around windows in compiz.  Bug #17233.
2008-10-01 14:15:17 -07:00
Ian Romanick
08b9e29c1d intel: Clean-up the extension string madness!
- Sort extensions by ARB, then EXT, then vendor by name
- Remove redundant (only one of GL_{ARB,EXT,NV}_texture_rectangle) or
  duplicate extension strings
2008-09-29 18:50:05 -07:00
Ian Romanick
3ab4b2066f GLSL: Implement GL_OBJECT_TYPE_ARB query
The GL_OBJECT_TYPE_ARB query is handled directly in
_mesa_GetObjectParamterivARB because it is only supported in the
extension version of the shanding language API.  glGetProgramiv and
glGetShaderiv should not accept this enum.
2008-09-29 12:30:05 -07:00
Ian Romanick
905d8e0742 GLSL: Implement _mesa_get_handle
Implementing _mesa_get_handle in using
glGetIntegerv(GL_CURRENT_PROGRAM, ...) allows glGetHandleARB to work.
2008-09-29 12:27:00 -07:00
Ian Romanick
d806d451e6 GLSL: AttachShader returns INVALID_OPERATION for repeated attach
The GL_ARB_shader_objects spec says that glAttachShaderARB is supposed
to return GL_INVALID_OPERATION if a shader is attached to a program
where it is already attached.  _mesa_attach_shader perviously returned
without error in this case.
2008-09-29 12:18:06 -07:00
Jouk Jansen
fc13269b82 mesa: asst updates for VMS 2008-09-29 08:35:05 -06:00
Shunichi Fuji
e095d5812a mesa: drop calloc from _mesa_get_fixed_func_vertex_program
Signed-off-by: Shunichi Fuji <palglowr@gmail.com>
2008-09-29 10:38:45 +01:00
Ian Romanick
2b8d8989fb Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
Added an x86-64 CPUID function and use it to detect 3Dnow!  If 3Dnow!
is available, use _mesa_3dnow_transform_points4_3d_no_rot,
_mesa_3dnow_transform_points4_perspective,
_mesa_3dnow_transform_points4_2d_no_rot, and _mesa_3dnow_transform_points4_2d.

This fixes long standing bug #8724.
2008-09-28 20:32:05 -07:00
Ian Romanick
b5d59222cc Remove TNL-to-VP tracking from i965
The i965 driver previously had it's own set of code to convert
fixed-function TNL state to a vertex program.  Core Mesa has code to
do this, so there is no reason to duplicate that effort in the driver.
In fact, this duplication leads to bugs when other aspects of the Mesa
infrastructure change.
2008-09-28 20:32:05 -07:00
Tobias Jakobi
2e5d717007 glapi: add DISPATCH_FUNCTION_SIZE 2008-09-27 08:51:45 +01:00
Tobias Jakobi
a23026effc glapi: add gl_dispatch_functions_start and end 2008-09-27 08:47:55 +01:00
Eric Anholt
7d99ddcb2b intel: Fix a number of memory leaks on context destroy. 2008-09-26 15:39:20 -07:00
Jeremy Huddleston
8338cc25f9 configs: darwin: Don't build GLw
(cherry picked from commit ef688ba1ee366a8937a41075cbe8b76a9bf75013)
2008-09-26 12:37:31 -07:00
Brian Paul
a4a5a37f27 mesa: remove invalid assertions that programs have parameters
Fixes failure with demos/fplight.c
2008-09-26 07:45:06 -06:00
Brian Paul
4bc39c58eb mesa: fix assertion in _mesa_reference_program() 2008-09-26 07:40:45 -06:00
Brad King
ee80c64be8 mesa: fix param indexing 2008-09-26 07:40:05 -06:00
Brian
1e3a44fab0 mesa: fix cast/conversion for optional code 2008-09-25 19:57:34 -06:00
Brian Paul
b3c3bc63f0 mesa: fix typo (s/feadback/feedback/). Fixes broken selection/feedback. 2008-09-25 18:55:52 -06:00
Brian Paul
8124faf89d mesa: fix float->int mapping for glGetIntegerv(GL_DEPTH_CLEAR_VALUE) 2008-09-25 11:54:00 -06:00
Brian Paul
6222eb3fcd mesa: fix some VBO buffer object issues
The VBO module may use a real VBO or a malloc'd buffer for vertex storage.
Be careful not to accidentally replace the later with the former when drawing.
Check if using a real VBO at destroy time to prevent a double-free.
2008-09-25 11:03:46 -06:00
Sam Hocevar
507ef82077 mesa: fix function params to match prototypes 2008-09-25 09:58:27 -06:00
Sam Hocevar
7be5411ce6 mesa: prevent the slang code generator from aborting when faced with a sampler variable redeclaration. 2008-09-25 09:53:09 -06:00
Sam Hocevar
561787e697 i965: support for sin() and cos() in vertex shaders. 2008-09-25 09:49:36 -06:00
Sam Hocevar
831bfb9053 i965: more meaningful message for unsupported opcodes. 2008-09-25 09:49:18 -06:00
Eric Anholt
c5945c2d17 intel: Fix clears to depth_stencil texture attachments.
Broken by 0adfd10210, showed up as an assertion
failure in a software fallback in the shadowtex demo when we failed to
recognize the texture format.
2008-09-24 15:13:19 -07:00
Brian
1fe385fdc9 set SamplerUnit[] entry in load_texture() just to be safe
(cherry picked from commit fce4612f8a)
2008-09-24 10:15:07 -07:00
Brian
dff0b0e772 use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating immediates/literals
(cherry picked from commit fdc8636bdc)
2008-09-24 10:13:46 -07:00
Brian
9b7e5a51f4 set program->SamplersUsed bit when using a texture instruction 2008-09-24 10:13:31 -07:00
Brian
93fef22d05 Remove ctx field from texenvprog_cache 2008-09-24 10:11:37 -07:00
Brian
fb3c41f504 include programopt.h
(cherry picked from commit 83fad68ec1)
2008-09-24 10:04:31 -07:00
Brian
c81cce7831 Disable vertex shader fog, compute fog in fragment shader. 2008-09-24 10:04:17 -07:00
Brian
19d77d6cfa temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled
(cherry picked from commit 63be96bdc7)
2008-09-24 10:03:27 -07:00
Keith Whitwell
8e7d941d7a mesa: fix main/ prefix in include 2008-09-23 21:08:50 -07:00
Keith Whitwell
33fef8be82 vbo: unmap and remap immediate vbo before/after each draw.
Also use BufferData(NULL) to get fresh storage and avoid synchronous
operation where we would have to flush and wait for the fence after each
draw because of the map.

This will chew through a whole load of buffer space on small draws, so
it isn't a proper solution.  Need to support a no-fence or append mapping
mode to do this right, or use user buffers.
2008-09-23 18:26:17 -07:00
Brian
6f765fbde4 added vbo_use_buffer_objects() to specify that immediate mode data should be put into bufferobjects 2008-09-23 18:26:00 -07:00
Keith Whitwell
b36bc54d3c vbo: seed initial max_element value with a more likely candidate
(cherry picked from commit 026e7731e5)
2008-09-23 18:05:48 -07:00
Brian Paul
9acf207277 mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/
(cherry picked from commit 8a369b909a)
2008-09-23 17:36:01 -07:00
Brian Paul
5b98236e75 mesa: glsl: fix glGetUniform for matrix queries
(cherry picked from commit 7a6eba54d0)
2008-09-23 17:34:59 -07:00
Brian Paul
eda291e316 mesa: glsl: fix a number of glUniform issues
Additional error checking.
Allow setting elements of uniform arrays.  This involves encoding both
a uniform location and a parameter offset in the value returned by
glGetUniformLocation().
Limit glUniform[if]v()'s count to the size of the uniform array.
When setting bool-valued uniforms, convert all float/int values to 0 or 1.
2008-09-23 17:33:49 -07:00
Brian Paul
bda6ad273d mesa: glsl: fix error check in get_uniformfv()
(cherry picked from commit 18cd9c229a)
2008-09-23 17:33:19 -07:00
José Fonseca
452a592ca4 mesa: Apply MSVC portability fixes from Alan Hourihane. 2008-09-23 17:20:38 -07:00
Brian Paul
9118b02fd0 mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs() 2008-09-23 17:11:25 -07:00
Brian Paul
c79779aff0 mesa: add fwd decl of fill_in_entrypoint_offset()
(cherry picked from commit b1eff0228b)
2008-09-23 17:09:24 -07:00
Brian Paul
ec76910187 mesa: new gl_fragment_program fields indicating use of fog, front-facing, point coord
(cherry picked from commit d7a7b0a10d)
2008-09-23 17:01:05 -07:00
Brian
03bafd1f9f Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in the drivers.
This should probably be pulled into main-line Mesa...
(cherry picked from commit 324ecadbfd)
2008-09-23 16:59:56 -07:00
Brian Paul
a97226352f mesa: refactor: move GetProcAddress code from glapi.c into new glapi_getproc.c file 2008-09-23 16:56:23 -07:00
Eric Anholt
d533da2db8 i965: Cope with batch getting flushed in the middle of batchbuffer emits.
This isn't required for GEM (at least, yet), but the check_aperture code
for non-GEM results in batch getting flushed during emit.  brw_state_upload
restarts state emits, but a bunch of the state emit functions were assuming
that they would be called exactly once, after prepare and before new_batch.

Bug #17179.
2008-09-23 15:53:29 -07:00
Eric Anholt
4b038e24b0 intel: Add missing include files for meta drawpixels since mesa shuffling. 2008-09-23 15:32:41 -07:00
Eric Anholt
f85ea6837d intel: Replace pbo-only drawpixels function with a generic Mesa metaops.
Improves performance of some oglconform regression tests 9x.
2008-09-23 13:31:19 -07:00
Eric Anholt
15487e46a2 i915: Fix overlapping CopyPixels with negative pixel zoom.
Fixes a failure in pixel-pos.c oglconform test.
2008-09-23 13:31:12 -07:00
Eric Anholt
b9532f078a i915: fix crash in flush_prim -> wait_flips -> flush_batch -> flush_prim. 2008-09-23 13:30:03 -07:00
Ian Romanick
2511d57fa4 i965: Adapt to new TNL program tracking semantics
This fixes bugzilla #17718.
2008-09-22 17:23:40 -07:00
Michel Dänzer
ed4c6cbe01 r300: Adapt to the removal of _tnl_ProgramCacheInit() and friends. 2008-09-22 11:49:34 +02:00
Michel Dänzer
78f4a695ad Remove incorrect test from mmAllocMem.
0 is a perfectly valid alignment shift, see e.g. driTexturesGone() which was
broken by this.
2008-09-22 11:48:26 +02:00
Brian Paul
6fd15dd806 mesa: allow for extra per-context init
(cherry picked from commit 815cdcfbc0)
2008-09-21 22:13:57 -07:00
Brian Paul
1b7e909845 mesa: texture crop rect state
(cherry picked from commit c01fbc7866)
2008-09-21 22:13:57 -07:00
Brian Paul
93c90d34d1 mesa: set point state
(cherry picked from commit af3d9dba56)
2008-09-21 22:13:57 -07:00
Brian Paul
868c09a267 mesa: fix some feature tests
(cherry picked from commit 74b14fe6dd)
2008-09-21 22:13:57 -07:00
Brian Paul
8122ab2dfd mesa: fix some pixel transfer state tests for depth formats
(cherry picked from commit 966e199e40)
2008-09-21 22:13:57 -07:00
Brian Paul
6bc8749cd5 mesa: fix issues causing warnings on Windows 2008-09-21 22:13:57 -07:00
Michal Krol
9614eac85d mesa: Silence compiler warnings on Windows. 2008-09-21 22:13:57 -07:00
Brian Paul
ce1685ce94 mesa: comments about vectors vs components 2008-09-21 22:13:57 -07:00
Brian Paul
eb10fa3ed6 mesa: remove debug code 2008-09-21 22:13:57 -07:00
Brian Paul
6246dd890f mesa: implement glGetUniformiv() with new ctx->Driver function
The old implementation could overwrite the caller's param buffer.
2008-09-21 22:13:56 -07:00
Brian Paul
48cba703fa mesa: added case for fixed pt 2008-09-21 22:13:56 -07:00
Brian Paul
1cf2c8a043 mesa: point size arrays 2008-09-21 22:13:56 -07:00
José Fonseca
f8e50dd796 mesa: Replace deprecated __MSC__ macro. 2008-09-21 22:13:56 -07:00
José Fonseca
60325331a8 mesa: More signed/unsigned float/integer fixes. 2008-09-21 22:13:56 -07:00
José Fonseca
457d7218b8 mesa: Use appropriate unsigned/signed, float/integer types. 2008-09-21 22:13:56 -07:00
José Fonseca
88f729e4ec mesa: Use _mesa_bsearch. 2008-09-21 22:13:56 -07:00
José Fonseca
baa76e9aa2 mesa: bsearch implementation for WinCE. 2008-09-21 22:13:56 -07:00
José Fonseca
2e8af5ffcf mesa: ASSERT macro is already defined by WinCE headers.
Even when just the standard headers are used....
2008-09-21 22:13:56 -07:00
Brian Paul
c115616bda mesa: init ctx->RenderMode 2008-09-21 22:13:56 -07:00
Brian Paul
d17485fef9 mesa: GL_BYTE vertex/texcoord arrays 2008-09-21 22:13:55 -07:00
Brian Paul
394c1d1c53 mesa: initial support for fixed-pt vertex arrays 2008-09-21 22:13:55 -07:00
Brian Paul
bb00f09f1b mesa: refactor: move initialization of DefaultPacking state. 2008-09-21 22:13:55 -07:00
Brian Paul
9b8b58b79a mesa: fix errors in prev commit 2008-09-21 22:13:55 -07:00
Brian Paul
3a4bed8f08 mesa: revamp glBlendFunc loopback 2008-09-21 22:13:55 -07:00
Brian Paul
85f553d3c1 mesa: fix some FEATURE_x tests 2008-09-21 22:13:55 -07:00
Brian Paul
b51d73dd94 mesa: test for FEATURE_ATI_fragment_shader 2008-09-21 22:13:55 -07:00
Brian Paul
715715e230 mesa: fix ReadBuffer initialization 2008-09-21 22:13:55 -07:00
Brian Paul
cd4d4f590f mesa: FEATURE_dispatch to control dispatch table usage 2008-09-21 22:13:55 -07:00
Brian Paul
2dbc515a66 mesa: move some glapi bits around
Move _glapi_proc typedef from glapitable.h to glapi.h
Also, don't include glapitable.h from glapi.h
Before we were including the huge glapitable.h file in every .c file.
2008-09-21 22:13:55 -07:00
Brian Paul
d22ef6bcba mesa: remove some temp debug code 2008-09-21 22:13:54 -07:00
Brian Paul
4e3ae76fea mesa: check FEATURE_ARB_occlusion_query 2008-09-21 22:13:54 -07:00
Brian Paul
049a59a87c mesa: fix typo: s/stacks/stack/ 2008-09-21 22:13:54 -07:00
Brian
74c64fa748 code refactoring, new next_mipmap_level_size() function
(cherry picked from commit c22d9152e3)
2008-09-21 22:13:54 -07:00
Brian
e93243f8b7 added _mesa_tex_target_to_face()
(cherry picked from commit b52ce6341f)
2008-09-21 22:13:54 -07:00
Brian
abb465cdc7 refactor code, export _mesa_generate_mipmap_level() 2008-09-21 22:13:54 -07:00
Brian
12dc9c99b9 move _mesa_format_to_type_and_comps() to texformat.c
(cherry picked from commit 42eac65da4)
2008-09-21 22:13:54 -07:00
Keith Whitwell
b082002379 mesa: pull in mipmap.c changes from gallium-0.2 2008-09-21 22:13:54 -07:00
Brian Paul
facfb44d37 mesa: remove unneeded #include
(cherry picked from commit 6363960db5)
2008-09-21 22:13:54 -07:00
Brian Paul
ddd630ef90 mesa: refactor: move various ENUM_TO_x macros into macros.h 2008-09-21 22:13:53 -07:00
Brian Paul
ae1fdc1523 mesa: refactor: move glTexParameter-related functions into new texparam.c file 2008-09-21 22:13:53 -07:00
Brian Paul
11ebfd22bb mesa: refactor: move glTexEnv-related functions into new texenv.c file
(cherry picked from commit 7ecac78ab5)
2008-09-21 22:13:52 -07:00
Brian Paul
10db6c2d81 mesa: refactor: move glTexGen-related functions into new texgen.c file
(cherry picked from commit 27049189d6)
2008-09-21 22:13:52 -07:00
Brian Paul
4fc71f3ec2 mesa: refactor: fix some FEATURE_ typos, mistakes
(cherry picked from commit e4cfe0854a)
2008-09-21 22:13:52 -07:00
Keith Whitwell
34a61c66fd mesa: refactor: move #define FEATURE flags into new mfeatures.h file
Also, check the FEATURE flags in many places.
(cherry picked from commit 40d1a40f29)

Conflicts:

	src/mesa/main/config.h
	src/mesa/main/context.c
	src/mesa/main/texobj.c
	src/mesa/main/texstate.c
	src/mesa/main/texstore.c
2008-09-21 22:13:52 -07:00
Brian Paul
24172fe595 mesa: refactor: move _mesa_update_minmax/histogram() into image.c
(cherry picked from commit eded7f010d)
2008-09-21 22:13:52 -07:00
Brian Paul
c132e2b1db mesa: refactor: move multisample-related functions into new multisample.c file 2008-09-21 22:13:52 -07:00
Brian Paul
e48defc980 mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to framebuffer.c
(cherry picked from commit 9091015a97)
2008-09-21 22:13:51 -07:00
Brian Paul
5ab1d0acea mesa: refactor: move glClear, glClearColor into new clear.c file. 2008-09-21 22:13:51 -07:00
Brian Paul
55e341c4c2 mesa: refactor: move scissor functions into new scissor.c file
(cherry picked from commit 4be7296bfc)
2008-09-21 22:13:51 -07:00
Brian Paul
18d2822905 mesa: refactor: move pixel map/scale/bias code into image.c
pixel.c is just the API-related code now.
2008-09-21 22:13:51 -07:00
Brian Paul
533c1dbe75 mesa: refactor: new _mesa_init_pixelstore() function
(cherry picked from commit 5f91007f99)
2008-09-21 22:13:51 -07:00
Brian Paul
c9e5671691 mesa: refactor: move _mesa_init_exec_table() into new api_exec.c file
(cherry picked from commit b36e6f0baf)
2008-09-21 22:13:51 -07:00
Brian Paul
28876dd511 mesa: refactor: move glReadPixels code into new readpix.c file 2008-09-21 22:13:51 -07:00
Brian
87534210bb Add some FLUSH_CURRENT() calls.
Without these we can find ourselves in _mesa_load_state_parameters()
computing derived lighting/material values whhen the current material
properties haven't been updated from the VBO.
This may be a somewhat wide-spread problem that needs more attention...
(cherry picked from commit 49adf51eee)
2008-09-21 22:13:51 -07:00
Brian Paul
411d6672a6 mesa: refactor: move glPixelStore function into new pixelstore.c file 2008-09-21 22:13:51 -07:00
Brian Paul
9228f1c881 mesa: remove EXT/NV suffixes from _mesa_PointParameter functions 2008-09-21 22:13:50 -07:00
José Fonseca
d1e1a76f62 glut: Remove EOF characters. 2008-09-22 12:09:58 +09:00
Benjamin Close
7c1fda71ac i965: fix compilation
Found By: Tinderbox
2008-09-22 12:04:16 +09:30
Chris Rankin
a7573d805e Fix X86 compilation. 2008-09-21 23:56:17 +02:00
Keith Whitwell
45efcc44c7 Remove CVS keywords.
Cherry-picked from gallium-0.1

Conflicts:

	src/glu/sgi/libnurbs/interface/bezierEval.h
	src/glu/sgi/libnurbs/interface/bezierPatch.h
	src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
	src/glu/sgi/libnurbs/internals/dataTransform.h
	src/glu/sgi/libnurbs/internals/displaymode.h
	src/glu/sgi/libnurbs/internals/sorter.h
	src/glu/sgi/libnurbs/nurbtess/definitions.h
	src/glu/sgi/libnurbs/nurbtess/directedLine.h
	src/glu/sgi/libnurbs/nurbtess/gridWrap.h
	src/glu/sgi/libnurbs/nurbtess/monoChain.h
	src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
	src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
	src/glu/sgi/libnurbs/nurbtess/partitionX.h
	src/glu/sgi/libnurbs/nurbtess/partitionY.h
	src/glu/sgi/libnurbs/nurbtess/polyDBG.h
	src/glu/sgi/libnurbs/nurbtess/polyUtil.h
	src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
	src/glu/sgi/libnurbs/nurbtess/quicksort.h
	src/glu/sgi/libnurbs/nurbtess/rectBlock.h
	src/glu/sgi/libnurbs/nurbtess/sampleComp.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
	src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
	src/glu/sgi/libnurbs/nurbtess/sampledLine.h
	src/glu/sgi/libnurbs/nurbtess/searchTree.h
	src/glu/sgi/libnurbs/nurbtess/zlassert.h
	src/glu/sgi/libutil/error.c
	src/glu/sgi/libutil/glue.c
	src/glu/sgi/libutil/gluint.h
	src/glu/sgi/libutil/project.c
	src/glu/sgi/libutil/registry.c
	src/glx/x11/glxclient.h
	src/glx/x11/glxext.c
	src/mesa/drivers/dri/ffb/ffb_dd.h
	src/mesa/drivers/dri/ffb/ffb_points.h
	src/mesa/drivers/dri/gamma/gamma_context.h
	src/mesa/drivers/dri/gamma/gamma_macros.h
	src/mesa/drivers/dri/i810/i810context.h
	src/mesa/drivers/dri/r128/r128_dd.h
	src/mesa/drivers/dri/tdfx/tdfx_dd.h
2008-09-21 11:00:44 -07:00
José Fonseca
64dc397d8b mesa: Prefix main includes with dir to avoid conflicts.
Eliminate a couple of differences with gallium-0.2
2008-09-21 10:48:40 -07:00
Keith Whitwell
2ea3ef9a80 mesa: remove dead file 2008-09-21 10:34:04 -07:00
Keith Whitwell
c07e274f44 mesa: add explict float casts 2008-09-21 10:31:15 -07:00
Keith Whitwell
32ef6e7583 mesa: move fixed function vertex program builder from tnl to core mesa
Also unify caching of fragment and vertex programs in shader/prog_cache.c`

Brought across from gallium-0.2
2008-09-21 09:46:00 -07:00
Brian Paul
e019ead5d7 mesa: add parenthesis
(cherry picked from commit c366fd83b6)
2008-09-21 09:45:41 -07:00
Keith Whitwell
5a46e17671 mesa: standardize on C99's uint*_t instead of u_int*_t 2008-09-21 09:45:00 -07:00
José Fonseca
3474e9de92 mesa: Remove assyntax.h include from generated matypes.h.
matypes.h doesn't really depend on assyntax.h; assyntax.h is only present
on x86; and this way we remove the need of grep being available (which is
relevant for scons and non-unix platforms).
(cherry picked from commit fc286ff3ba)
2008-09-21 09:44:37 -07:00
Keith Whitwell
6b146214dc mesa: move rastpos helper to tnl 2008-09-21 09:44:30 -07:00
Keith Whitwell
7ce597508e mesa: improved driver query interface
Brought over from gallium-0.2 branch.
2008-09-21 09:44:25 -07:00
Adam Jackson
dc8058c337 Update to SGI FreeB 2.0.
Under the terms of version 1.1, "once Covered Code has been published
under a particular version of the License, Recipient may, for the
duration of the License, continue to use it under the terms of that
version, or choose to use such Covered Code under the terms of any
subsequent version published by SGI."

FreeB 2.0 license refers to "dates of first publication".  They are here
taken to be 1991-2000, as noted in the original license text:

 ** Original Code. The Original Code is: OpenGL Sample Implementation,
 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
 ** Copyright in any portions created by third parties is as indicated
 ** elsewhere herein. All Rights Reserved.

Official FreeB 2.0 text:

http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf

As always, this code has not been tested for conformance with the OpenGL
specification.  OpenGL conformance testing is available from
http://khronos.org/ and is required for use of the OpenGL logo in
product advertising and promotion.
2008-09-19 17:16:53 -04:00
Brian
19d9c81b8c glx: re-add glapi/ path 2008-09-18 21:22:08 -06:00
Brian
cfc4b4c989 mesa: remove unneeded s_drawpix.h header 2008-09-18 20:31:05 -06:00
Brian
4eb95ce807 glx: added "glapi/" prefix to include 2008-09-18 20:27:16 -06:00
Chris Rankin
8d41e4536d mesa: fix asst path/include mistakes in prev commits 2008-09-18 16:48:11 -06:00
Brian Paul
58dce864e6 mesa: fix null ptr deref bug in _tnl_InvalidateState(), bug 15834 2008-09-18 15:29:57 -06:00
Brian Paul
ecadb51bbc mesa: added "main/" prefix to includes, remove some -I paths from Makefile.template 2008-09-18 15:17:05 -06:00
Brian Paul
374e7fd6cc mesa: prefix more #includes with "main/" 2008-09-18 13:46:47 -06:00
Brian Paul
06370a91b3 mesa: remove a bunch of -I paths from INCLUDE_DIRS 2008-09-18 13:34:57 -06:00
Brian Paul
a25e1aa0aa glx: remove #include "glheader.h" lines
Was only used to get the PUBLIC/USED macros.
Also, replace "GL_FALSE" with "False" in a couple places.
2008-09-18 13:26:30 -06:00
Brian Paul
3537da87de glx: remove depency on glheader.h and GLboolean type in XF86DRI code
Return Bool instead of GLboolean to match other functions.
Define PUBLIC/USED macros locally.
2008-09-18 13:23:06 -06:00
Brian Paul
bbd287103d mesa: prefix a bunch of #include lines with "main/".
This is another step toward removing a whole bunch of -I flags from
the cc commands.  Still need to address driver code...
2008-09-18 12:26:54 -06:00
Brian Paul
5e530d8384 mesa: fix bug in previous changes to _slang_resolve_attributes() 2008-09-17 09:13:55 -06:00
Eric Anholt
904f31a624 intel: Destroy bufmgr in screen destroy, not context.
Caused server crashes on second context creation since
7e0bbdcf03.

Bug #17600.
2008-09-16 17:02:41 -07:00
Brian Paul
27341a97a1 mesa: rework GLSL vertex attribute binding
Calls to glBindAttribLocation() should not take effect until the next time
that glLinkProgram() is called.
gl_shader_program::Attributes now just contains user-defined bindings.
gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
2008-09-16 16:28:36 -06:00
Brian Paul
d43951192b mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList()) 2008-09-16 13:23:01 -06:00
Brian Paul
9d48a7832b mesa: fix MSAA enable state in update_multisample() 2008-09-15 17:14:53 -06:00
Brian Paul
d36f4ef16b mesa: remove some assertions that are invalid during context tear-down 2008-09-15 09:07:32 -06:00
Keith Whitwell
bd953e872f mesa: get another class of degenerate dlists working
Primitive begin in one dlist, end in another.
2008-09-15 13:49:04 +01:00
Keith Whitwell
a30d2c5727 add dlist-degenerate test case 2008-09-15 13:49:04 +01:00
Shane Blackett
641b80275b glut: s/glut_fbc.c/glut_fcb.c/ 2008-09-14 17:51:01 -06:00
Jakub Bogusz
68a19e353e tdfx: fix crash and lack of visuals bug 2008-09-13 14:35:02 -06:00
Guillaume Melquiond
87ccb9504d i915: fix himask constant init for 64-bit build 2008-09-13 14:25:02 -06:00
Guillaume Melquiond
811d8b86eb glx: fix 64-bit datatype issue 2008-09-13 14:24:31 -06:00
Guillaume Melquiond
11a889db8f mesa: return after _mesa_problem() calls 2008-09-13 14:23:39 -06:00
Guillaume Melquiond
d2e0504d4e mesa: #include <stdio.h> 2008-09-13 14:23:14 -06:00
Guillaume Melquiond
5d4c8ec5e0 remove invalid XDestroyWindow() call 2008-09-13 14:22:15 -06:00
Guillaume Melquiond
ee2c8d6d3e silence warning 2008-09-13 14:21:50 -06:00
Guillaume Melquiond
6e51febc6b GLU: fix asst warnings 2008-09-13 14:20:14 -06:00
Eric Anholt
8db761409d intel: Add a width field to regions, and use it for making miptrees in TFP.
Otherwise, we would use the pitch as width of the texture, and compiz would
render the pitch padding on the right hand side.
2008-09-12 15:48:13 -07:00
Eric Anholt
bdc8ac4ae2 Finish off the previous fix for TFP.
A couple of those lines of debug printfs I deleted weren't actually debug
printfs.
2008-09-12 15:09:43 -07:00
Eric Anholt
34bba445a1 intel: Don't segfault on TFP from a bad drawable. 2008-09-12 13:49:23 -07:00
Eric Anholt
201d3419a6 intel: Remove dead allow_batchbuffer param. 2008-09-12 13:49:23 -07:00
George Sapountzis
d3dc95e26a dri/swrast: fix swapBuffers after dri2 2008-09-12 12:43:10 +03:00
Xiang, Haihao
b2e083eba2 i965: Add support for G41 chipset which is another 4 series. 2008-09-12 09:25:34 +08:00
Shane Blackett
4d42c5bebf added 24bpp support 2008-09-11 08:36:03 -06:00
Shane Blackett
bc3b2a5d7a Fixes for Mingw 2008-09-11 08:36:03 -06:00
Eric Anholt
35fd72756a intel: track move of bo_exec from drivers to bufmgr. 2008-09-10 13:59:45 -07:00
Eric Anholt
3628185f56 intel: track bufmgr move to libdrm_intel and bufmgr_fake irq emit/wait change. 2008-09-10 13:59:45 -07:00
Eric Anholt
7e0bbdcf03 intel: Move the bufmgr back to the screen.
Mesa requires that we be able to share objects between contexts, which means
that the objects need to be created by the same bufmgr, and the bufmgr
internally requires pthread protection for thread safety.
Rely on the bufmgr having appropriate locking.
2008-09-10 13:59:45 -07:00
Brian Paul
11d694b1bb mesa: replace MALLOC w/ CALLOC to fix memory error in glPushClientAttrib() 2008-09-05 08:06:59 -06:00
Brian Paul
9246c2fad4 mesa: replace MALLOC w/ CALLOC to fix valgrind warning 2008-09-05 08:06:24 -06:00
Dave Airlie
06537296f1 intel: only enable occlusion query if the drm has defines.
This interface has to be re-written to not be dumb and to work
for multiple apps.
2008-09-05 13:48:51 +10:00
Brian Paul
37c74af01c mesa: improved gl_buffer_object reference counting
Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
2008-09-04 14:59:40 -06:00
Kristian Høgsberg
4a32f0c638 configure.ac: bump dri2proto requirement, drop TTM_API define. 2008-09-04 06:23:14 -04:00
Xiang, Haihao
0adfd10210 intel: Fix depth_stencil texture. 2008-09-04 11:36:04 +08:00
Xiang, Haihao
218df7f9c5 mesa: merge stencil values into depth values for MESA_FORMAT_S8_Z24 2008-09-04 11:32:52 +08:00
Jakob Bornecrantz
dc44bb8e92 mesa: Support for MESA_FORMAT_S8_Z24 texture
cherry-picked from gallium-0.1
2008-09-04 10:35:01 +08:00
Eric Anholt
a04aeea5c0 intel: Fix prototype warning. 2008-09-03 16:13:18 +01:00
Eric Anholt
e32721c46a intel: Fix refcounting on depth buffer initialization in DRI2.
(Reverts a change to work around the problem on 965).
2008-09-03 13:31:44 +01:00
Xiang, Haihao
3bb2a24921 intel: Fix a crash if dri2 is disabled. 2008-09-03 14:47:36 +08:00
Brian Paul
0fd1a8c4a1 fix BUFFER_DEPTH/BUFFER_ACCUM mix-up 2008-09-02 18:10:51 -06:00
Roland Scheidegger
418b603513 fix no error generated when calling glLight{if}[v] inside begin/end (bug 17408) 2008-09-02 15:48:50 +02:00
Michel Dänzer
55270310c5 Fix build by removing #include of removed dri_sarea.h.
Thanks to JohnFlux on IRC for pointing out the problem.
2008-09-01 11:43:29 +02:00
Kristian Høgsberg
f56b569e9a DRI2: Drop sarea, implement swap buffers in the X server. 2008-08-29 12:13:14 -04:00
Xiang, Haihao
7a2ab6d055 i965: force thread switch after IF/ELSE/ENDIF. partial fix for #16882.
A thread switch is implicitly invoked after the issuance of an IF/ELSE/ENDIF
instruction if necessary. Unfortunately it seems sometimes a forced thread
switch is needed.
2008-08-29 09:49:16 +08:00
Xiang, Haihao
6073b49c79 i965: mask control for BREAK/CONT/DO/WHILE. partial fix fox #16882 2008-08-29 09:28:08 +08:00
Xiang, Haihao
fd81433a4e i965: Push/pop instruction state. partial fix for #16882 2008-08-29 09:23:25 +08:00
Brian Paul
6138ee9de0 mesa: bump MAX_INSN to 350 2008-08-28 15:15:00 -06:00
Brian Paul
bafefccff8 mesa: don't check for GLSL 1.2 to advertise GL 2.1
The GLSL 1.2 features are minor...
2008-08-26 16:13:39 -06:00
Brian Paul
9aeb6e7825 added 7.1 MD5 sums 2008-08-26 16:12:29 -06:00
Brian Paul
019b9529e5 change MESA_MINOR to 3 2008-08-26 15:59:06 -06:00
Brian Paul
17e9bbd5a4 7.1 updates from 7.2 branch 2008-08-26 15:58:42 -06:00
Timo Jyrinki
385d6b2e68 asst. html doc updates 2008-08-26 12:36:39 -06:00
Brian Paul
80af50b35b mesa: glsl: regenerated file 2008-08-25 09:20:26 -06:00
Brian Paul
2d5087bf74 mesa: glsl: grab latest fixes from gallium-0.1 branch
Includes:
1. Fixes failed asserting about bad swizzles in src reg emit.
2. Tracks uniform var usage.
3. Emit exp() in terms of EXP2 instruction.
2008-08-25 09:20:00 -06:00
Brian Paul
d6df735f1c mesa: set version string to 7.3-devel 2008-08-25 09:18:33 -06:00
Dave Airlie
f75843a517 Revert "Revert "Merge branch 'drm-gem'""
This reverts commit 7c81124d7c.
2008-08-24 17:59:10 +10:00
Dave Airlie
7c81124d7c Revert "Merge branch 'drm-gem'"
This reverts commit 53675e5c05.

Conflicts:

	src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-08-24 17:52:40 +10:00
Krzysztof Czurylo
a35002c167 965: Fix incorrect backface culling
Fix incorrect backface culling for OGL tunnel in wireframe and
point mode.
2008-08-21 15:01:59 -07:00
Krzysztof Czurylo
6f4fd3a432 Call _ae_update_state when array enable state changes
Basically, the application enables client vertex and color arrays,
renders something, then disables color array, and renders something
else (using vertex array only).  Even though the color array is
disabled (and the pointer is no longer valid), the driver still tries
to read color data from this array (which results in an exception).

This is because enabling/disabling array does not trigger
_ae_update_state() and the list of enabled arrays is not updated.
_ae_update_state() it's called on the first state validation only (as
all the "dirty" flags are set at the beginning). Any further change to
client arrays' state has no effect.
2008-08-21 15:01:59 -07:00
Krzysztof Czurylo
be30fddc7c 965: Fix color clamping issues
Patch is correctly applied this time.
2008-08-21 15:01:59 -07:00
Ian Romanick
1a244cd9e2 Formatting changes to ease application of patches 2008-08-21 15:01:59 -07:00
Eric Anholt
687cd467b3 i965: use dri_bo_subdata in vertex upload to get pwrite used.
Otherwise, we would ping-pong objects to GTT and back as we did pwrite on
indices (flushed and mapped to GTT) and mapped for vertices (moved back to
CPU domain).

Fixes bug #17180.
2008-08-21 12:15:17 -07:00
Eric Anholt
021ce883e6 Flush vertices when updating texObj->GenerateMipmap state.
Caught by texturing/gen-teximage test in piglit.
2008-08-21 11:21:22 -07:00
Peter Hutterer
3a94b25538 Report damage before modifying the area, not after.
If we copy the area before reporting the damage in this area, the server may
restore buffered data over the new data, leading to artefacts on the screen.
Reproducable with two cursors (second of which is SW rendered) and moving
windows around in compiz.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16384 .
2008-08-21 11:22:40 +02:00
Eric Anholt
495c02262e intel: Fix SGIS_generate_mipmap after a miptree had been validated.
Previously, the updated images would be ignored because the miptree in the
image matched the miptree in the object, even though Mesa core had just attached
updated contents in ->Data.  Additionally, Mesa core could have tried to
free inside our miptree if it had already been validated.

Fixes bug #17077.
2008-08-20 23:18:02 -07:00
Brian Paul
8f1d5ca086 use ftransform() 2008-08-20 15:33:03 -06:00
Kristof Ralovich
8434c65bb9 glx: free driScreen in FreeScreenConfigs() 2008-08-20 15:33:03 -06:00
Kristof Ralovich
8b51278134 glx: free context in driDestroyContext() 2008-08-20 15:33:03 -06:00
Kristof Ralovich
e206034863 glx: free vertex array state when context is destroyed 2008-08-20 15:33:03 -06:00
Kristof Ralovich
fb36a54a1c fix mem leak (free psc->visuals) 2008-08-20 15:33:03 -06:00
Mark Anderson
145f5f60f1 mesa: fix float blend bug 2008-08-20 15:33:03 -06:00
Brian Paul
2848b55ed5 mesa: move old/obsolete MESA extensions specs to OLD/ directory 2008-08-20 15:33:03 -06:00
Dave Airlie
9cc13eba3e i965: fixup format for TFP zero copy
(cherry picked from commit 9bc9e0ecb0 which
was lost in a merge)
2008-08-20 11:28:39 -07:00
Dave Airlie
ce61660ab9 i965: make tex offset override work..
should fix fd.o 14441

(cherry-picked from commit d4244683a6 which was
lost in a merge)
2008-08-20 11:28:39 -07:00
Xiang, Haihao
b17b110716 i965: Enable GL_ARB_fragment_program_shadow and fix key->shadowtex_mask. (bug #16852, #16853) 2008-08-20 15:54:41 +08:00
Corbin Simpson
a667d67cd6 r5xx: Final fog option fix.
Is there some kind of git hook we could use to keep me from committing
after like 10PM or so?
2008-08-19 09:24:27 -07:00
Corbin Simpson
7855ea2af2 r5xx: Don't squish GL context when using FogOption 2008-08-19 03:40:27 -07:00
Corbin Simpson
12e84a8b84 r5xx: Enable fog options.
This uses fog HW instead of fragment programs.
If it breaks you, let me know!
2008-08-18 16:38:21 -07:00
Henri Verbeet
e438827dec fix byte vs. pixel offset bug for 3D textures (see bug 17170) 2008-08-18 09:30:52 -06:00
Brian Paul
6a00625fbb mesa: rearrange some code in _mesa_BindTexture() to fix error detection bug 17173
Also, move GL_TEXTURE_RECTANGLE init code into separate function.
2008-08-18 08:55:13 -06:00
Corbin Simpson
c5d25c8509 r5xx: Add DDX and DDY instructions.
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2008-08-17 22:36:17 -07:00
Brian Paul
b7ff70e16a bring in docs from 7.0.4 release/branch 2008-08-16 11:09:49 -06:00
Corbin Simpson
567d87744a added test for ARB GLSL extensions 2008-08-16 11:07:51 -06:00
Brian Paul
5d762e1613 added glu.exports files to tarballs list 2008-08-16 10:09:38 -06:00
Brian Paul
35479fd4b4 fix convolutions test to consistanty use the ARB shader extension functions
Was using a mix of the ARB functions and the OpenGL 2.0 shader functions.
2008-08-16 09:54:07 -06:00
Brian Paul
7970b2a908 prep for 7.1 rc4 2008-08-16 09:39:10 -06:00
Brian Paul
c0dd9122fd remove .txt suffix from shader source files 2008-08-16 09:36:46 -06:00
Brian Paul
ce00d232f3 mesa: added glsl/convolutions test from gallium branch 2008-08-16 09:34:12 -06:00
Brian Paul
db1103ebe8 mesa: turn off 'x' bit misset on a few .h and .syn files 2008-08-16 09:31:27 -06:00
Brian Paul
1f4997c2aa mesa: import latest GLSL code from gallium-0.1 branch 2008-08-16 09:30:14 -06:00
Brian Paul
1b39b92e6d draw a tristrip ring instead of a single quad 2008-08-15 17:02:09 -06:00
Brian Paul
37f452096b don't need to use LOD version of texture2D() funcs 2008-08-15 17:02:09 -06:00
Dave Airlie
2e79b491fc intel: remove unneeded mem type and args 2008-08-14 21:43:34 +10:00
Michel Dänzer
57acb0fad9 r300: Fix 3D texture support. 2008-08-14 10:40:03 +02:00
Brian Paul
505606349e mesa: fix a swrast state validation bug
Fixes progs/glsl/points.c
2008-08-13 10:28:38 -06:00
Brian Paul
b9c6f2b133 mesa: added new glsl/pointcoord.c test 2008-08-13 08:49:39 -06:00
Brian Paul
60b92129b1 mesa: clear the unused upper-left region to black instead of leaving it undefined 2008-08-13 08:46:50 -06:00
Jeremy Huddleston
f911ca0834 Removed broken/unsupported darwin-static configs
Fixed typo in darwin config
2008-08-12 11:04:19 -07:00
Jeremy Huddleston
98e7c1cf38 Fixed 'make install' for darwin 2008-08-12 10:59:40 -07:00
Jeremy Huddleston
c61f4e2cce Apple: More cleanup of the darwin config in 7.1 2008-08-12 09:45:04 -07:00
Brian Paul
8c51e0002a mesa: glsl: add missing sampler types in sizeof_glsl_type(), bug 17079 2008-08-11 15:12:42 -06:00
Brian Paul
7536f39622 version 41 of glext.h 2008-08-11 15:12:42 -06:00
Brian Paul
d80d0bb4d6 version 20 of glxext.h 2008-08-11 15:12:42 -06:00
Brian Paul
3a428aca93 mesa: added comment about gl_PointCoord 2008-08-11 15:12:42 -06:00
Jeremy Huddleston
ac0d19601c Apple: Cleaned up some linking and dylib ids issues 2008-08-11 09:17:06 -07:00
Dave Miller
1724334d7c dri: fix crash in driGetConfigAttribIndex
Accessing a GLboolean via an int pointer on big-endian == bad.
2008-08-09 16:44:10 +10:00
Eric Anholt
53675e5c05 Merge branch 'drm-gem'
Conflicts:

	src/mesa/drivers/dri/intel/intel_span.c
	src/mesa/main/fbobject.c

This converts the i915 driver to use the GEM interfaces for object management.
2008-08-08 15:32:24 -07:00
Eric Anholt
d2796939f1 intel-gem: Update to new check_aperture API for classic mode.
To do this, I had to clean up some of 965 state upload stuff.  We may end
up over-emitting state in the aperture overflow case, but that should be rare,
and I'd rather have the simplification of state management.
2008-08-08 14:00:43 -07:00
Eric Anholt
527e1cf172 965: cleanups to state emission from aperture checking and state ordering. 2008-08-08 10:53:25 -07:00
Brian Paul
501338d70e mesa: fix out-of-bounds memory reads in swizzle_copy() 2008-08-08 09:05:41 -06:00
Jeremy Huddleston
919ec22ecf glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection 2008-08-08 02:52:10 -07:00
Jeremy Huddleston
ec770150ed glx/x11: Fix missing __GL_EXT_BYTES declaration 2008-08-08 02:37:14 -07:00
Jeremy Huddleston
01ac4540f0 Apple: Some changes to fix compilation problems on OSX 2008-08-08 02:19:52 -07:00
Brian Paul
ee8dfdf4c9 mesa: fix glBindTexture error string (bug 17005) 2008-08-07 07:54:53 -06:00
Brian Paul
523ee3ddbe disable debug code accidentally enabled by prev commit 2008-08-06 09:02:39 -06:00
Haihao Xiang
5f46093938 mesa: glsl: count number of temp regs used 2008-08-06 09:01:34 -06:00
Brian Paul
fb71a48413 mesa: fix comment about texture targets (bug 17005) 2008-08-06 08:52:56 -06:00
Brian Paul
f1e4ca776f fix some FBO/texture queries (bug 15296) 2008-08-06 08:40:25 -06:00
Xiang, Haihao
c20a173656 i965: update TexSrcUnit for OPCODE_TXB 2008-08-06 14:17:08 +08:00
Xiang, Haihao
8e8019b49a dri: Fix write/read depth buffer issue under 16bpp mode. See bug #16646 2008-08-05 11:34:26 +08:00
Xiang, Haihao
a3024caff1 i965: Use program->SamplerUnits[] to get the appropriate texture unit.
inst->TexSrcUnit is used as an index into program->SamplerUnits[] since
the commit ade508312c, and program->SamplerUnits
is a sampler-to-texture-unit mapping.
2008-08-05 10:18:56 +08:00
Adam Jackson
62fb5f7b9a Drop unused 'entries' field from __glxHashTable. 2008-08-04 15:44:34 -04:00
Brian Paul
61b3ce8f97 added null ptr check (fix bug 16959) 2008-08-03 11:13:12 -06:00
Eric Anholt
ded9414024 intel-gem: Always build GEM execbuffer code. 2008-07-31 14:13:30 -07:00
Jesse Barnes
e9bf3e4cc9 intel: sync to vblank by default
Effectively default to vblank_mode=3 on Intel to avoid tearing by default.
Users wanting to go "as fast as possible" (despite not being able to see frames
faster than their refresh rate allows) can still set the vblank_mode manually.
2008-07-31 11:50:37 -07:00
Eric Anholt
c9120a0d19 intel-gem: Use new getparam to detect kernel GEM support. 2008-07-30 14:16:33 -07:00
Guillaume Melquiond
3e8e292db0 Always pass CFLAGS when compiling or linking demos
To ensure that the correct architecture flags are used, always pass the
user's CFLAGS when compiling or linking the demos. Fixes #16860.
2008-07-30 07:56:42 -07:00
Brian Paul
b068ab62a0 updated GLSL bug fixes 2008-07-29 17:50:43 -06:00
Brian Paul
1bdb134570 mesa: glsl: remove old assertion (fixes glsl/bitmap.c) 2008-07-29 17:49:38 -06:00
Brian Paul
40f7e5f674 mesa: disable debug code 2008-07-29 17:47:52 -06:00
Brian Paul
ff916d718a mesa: regenerated files 2008-07-29 17:45:46 -06:00
Brian Paul
016701f686 mesa: Silence compiler warnings on Windows. 2008-07-29 17:43:35 -06:00
Brian Paul
b26a80aa12 mesa: cast to fix warning 2008-07-29 17:37:55 -06:00
Brian Paul
a7dd701421 mesa: fix bug/failure in recursive function inlining
Fixes a failure for cases such as y = f(a, f(a, b))
All the usual tests still pass but regressions are possible...
2008-07-29 17:37:13 -06:00
Brian Paul
6045f17138 mesa: glsl: silence warning (s/int/GLuint) 2008-07-29 17:33:52 -06:00
Brian Paul
a75015ef03 mesa: remove stray debug code 2008-07-29 17:32:35 -06:00
Brian Paul
1638edb325 mesa: glsl: assorted fixes for resolving polymorphic functions
Plus,
- fix some issues in casting function arguments to format param types.
- fix some vec/mat constructor bugs
- find/report more syntax/semantic errors
2008-07-29 17:29:30 -06:00
Brian Paul
6225e51a73 mesa: glsl: re-order some constructors 2008-07-29 17:27:59 -06:00
Brian Paul
d9b6425e00 mesa: glsl: remove unneeded operators 2008-07-29 17:27:54 -06:00
Brian Paul
91e1918f48 mesa: glsl: added null ptr check 2008-07-29 17:27:44 -06:00
Brian Paul
6f1abb9c21 mesa: fix issues causing warnings on Windows 2008-07-29 17:27:22 -06:00
Brian Paul
1b465f287f mesa: glsl: additional error detection
Plus begin some fixes for vec/matrix constructors.
2008-07-29 17:25:44 -06:00
Brian Paul
16dc993d4f mesa: gls: fix broken else clause of conditional break/continue
In the following case:

   for () {
      if (cond)
         break;  // or continue;
      else
         something;
   }

The "something" block didn't get emitted.
2008-07-29 17:23:52 -06:00
Brian Paul
3d500f00d2 mesa: glsl: only try to link shaders defining main() 2008-07-29 17:23:37 -06:00
Michal Krol
56bac7a35c mesa: Silence compiler warning on windows. 2008-07-29 17:23:19 -06:00
Brian Paul
5d9b33095a mesa: glsl: fix/simplify array element handling
Also fix bug in comparing large structs/arrays.
2008-07-29 17:22:58 -06:00
Brian Paul
d4c73c619a mesa: glsl: mark constructor params as const 2008-07-29 17:20:43 -06:00
Brian Paul
01c0558f70 mesa: glsl: rework swizzle storage handling
Build on the heirarchal approach implemented for arrays/structs.
2008-07-29 17:20:30 -06:00
Brian Paul
fb3422a241 mesa: fix uninitialized var 2008-07-29 17:20:22 -06:00
Brian Paul
7af8dddf27 mesa: glsl: implement constructor functions for user-defined types 2008-07-29 17:20:14 -06:00
Brian Paul
a9412ca2e8 mesa: remove stray debug assertion 2008-07-29 17:20:06 -06:00
Brian
b36749d066 mesa: fix glUniform error checking for samplers 2008-07-29 17:19:40 -06:00
Brian Paul
b7eea9a1ce mesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.c
No API-level functions now in program.c.
2008-07-29 17:19:25 -06:00
Brian Paul
ff9b6a0ae2 mesa: initial support for GLSL struct/array comparisons 2008-07-29 17:17:22 -06:00
Brian Paul
65db8c9518 mesa: added null ptr check (error handling case) 2008-07-29 17:17:12 -06:00
Brian Paul
19d44b95fe mesa: fix +=, -=, etc. operators 2008-07-29 17:16:59 -06:00
Brian Paul
be50c48101 mesa: remove an error check for NV_v_p that doesn't apply to ARB_v_p 2008-07-29 17:16:50 -06:00
Brian Paul
bc985b5790 mesa: fix some issues in _mesa_validate_program() 2008-07-29 17:16:33 -06:00
Brian Paul
ffbc66bf61 mesa: assorted glsl uniform/attribute fixes
Fix incorrect uniform/attribute size query results.
Add missing error checking for glUniform, glUniformMatrix params
Fix an array size/allocation error.
2008-07-29 17:16:17 -06:00
Brian Paul
74a19b0abd mesa: glsl: various writemask/swizzle improvements and clean-ups 2008-07-29 17:15:27 -06:00
Brian Paul
38a62ede6c mesa: rework array/struct addressing code.
The slang_ir_storage type now has a pointer to parent storage to represent
storage of an array element within an array, or a field within a struct.
This fixes some problems related to addressing of fields/elements in non-
trivial cases.  More work to follow.
2008-07-29 17:15:08 -06:00
Brian Paul
378017417a mesa: fix some GLSL /= int operators
plus add a few more special constructors to improve code quality.
2008-07-29 17:14:14 -06:00
Brian Paul
f45ed0eb8d mesa: fix set_program_uniform_matrix(): need to loop over matrix count 2008-07-29 17:13:54 -06:00
Brian Paul
5bfbcf7265 mesa: implement grammar/parsing for precision/invariant syntax
Plus, fix some issues with pre-defined preprocessor symbols and version checking.
2008-07-29 17:12:19 -06:00
Brian Paul
c3ad176158 mesa: Silence compiler warnings on Windows. 2008-07-29 17:09:40 -06:00
Brian Paul
153407f72d mesa: fix some function inlining bugs
Need to add local vars of original function to the new scope's variable
list (though the DECLs were already present).
In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.
2008-07-29 17:05:54 -06:00
Brian Paul
527e1357b5 mesa: improved printing 2008-07-29 17:04:53 -06:00
Brian Paul
1a5c99f4b5 document GLSL 1.20 status 2008-07-29 16:46:08 -06:00
Brian Paul
44c7f37b44 disable GL_ARB_shading_language_120 until 1.20 features are complete 2008-07-29 07:47:56 -06:00
Florent Thoumie
b5095ab97f autoconf: disable dri drivers build if being asked
Allow --with-dri-drivers={,no} to disable DRI drivers build.

Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-07-28 11:04:41 -04:00
Michel Dänzer
57aea290e1 r300: Fix off-by-one error in calculation of scissor cliprect.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16123 .
2008-07-28 10:49:43 +02:00
Nicolai Haehnle
c1fb448ce8 r300: Fix a crash related to depth textures (triggered by Glest w/ shadowmaps) 2008-07-27 21:40:17 +02:00
Nicolai Haehnle
c117d0efd2 r300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT 2008-07-27 21:31:49 +02:00
Nicolai Haehnle
e88be7d375 r300: Fix point minmax size
There are 6 subpixel units per pixel, not 16.
2008-07-27 21:18:29 +02:00
Nicolai Haehnle
322677b878 r300: Implement hardware acceleration for ColorLogicOp 2008-07-27 18:18:59 +02:00
Nicolai Haehnle
0973d348d7 r500: Handle non-native swizzles in texture instructions
This fixes piglit's fp-kil and fp-generic/kil-swizzle tests.
2008-07-27 16:48:24 +02:00
Nicolai Haehnle
1bdf5e09a0 r500: Redirect TEX writes to output registers
While R500 fragment program texture instructions appear to support writemasks,
they cannot write to the output FIFO immediately, so we need to insert a MOV
for these instructions.

This fixes piglit's fp-fragment-position and fp-incomplete-tex tests.
2008-07-27 15:14:07 +02:00
Eric Anholt
902e401a38 intel: Don't return a renderbuffer with alpha when just GL_RGB is requested.
Fixes oglconform rbGetterFuncs testcase.  The span code for this mode hasn't
actually been tested.
2008-07-26 17:39:23 -07:00
Nicolai Haehnle
85e44fcd51 r200: Do not set second coordinate clamping for 1D textures
Fixes piglit's tex1d-border test.
2008-07-26 16:16:23 +02:00
Nicolai Haehnle
477fa8fe12 r300: Always emit LOAD_VBPNTR immediately before index-based rendering
This fixes one type of lockup I've been seeing on my test system.
2008-07-26 16:15:33 +02:00
Ian Romanick
1e645b3659 Merge branch 'master' into drm-gem
Conflicts:

	src/mesa/drivers/dri/common/dri_bufmgr.c
	src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-07-25 18:31:44 -07:00
Eric Anholt
e5022c3fdf mesa: Return 0 for cube map face of non-cubemap framebuffer attachments.
Fixes some oglconform fbo testcases.
2008-07-25 12:40:49 -07:00
Eric Anholt
ff60e3fa03 intel: If a tex image doesn't fit in the object's tree, make a temporary tree.
Previously, we would just store the data as malloced memory hanging off the
object, which would get memcpyed in at validate time.  This broke an
oglconform render-to-texture test, since validate wasn't called but a miptree
was expected.
2008-07-25 12:19:50 -07:00
Dave Airlie
9bc9e0ecb0 i965: fixup format for TFP zero copy 2008-07-25 20:32:22 +10:00
Dave Airlie
04c98089d1 Revert "intel: disable zero-copy TFP."
This reverts commit 94979950e8.

I've fixed it instead
2008-07-25 19:57:35 +10:00
Dave Airlie
d4244683a6 i965: make tex offset override work..
should fix fd.o 14441
2008-07-25 19:56:56 +10:00
Dave Airlie
94979950e8 intel: disable zero-copy TFP.
patch from Fedora. maybe someone can fix this later but for now
lets try and release Mesa so ajax can live his life and get Xorg 7.4 out.
2008-07-25 16:31:38 +10:00
Brian Paul
948f6e302c mesa: move extensions->version code into separate function 2008-07-24 15:11:11 -06:00
Brian Paul
d8ababdcc2 mesa: don't include Mesa version in GL_SHADING_LANGUAGE_VERSION string 2008-07-24 15:11:11 -06:00
Brian Paul
51bfb6aa99 query/print GLSL version string 2008-07-24 15:11:11 -06:00
Jesse Barnes
9a4be9785f intel: remove buffer swap debug output
Accidentally pushed as part of the last commit.
2008-07-24 11:46:08 -07:00
Ian Romanick
6118d830a6 Revert "965: Fix color clamping issues"
This reverts commit b993d539a7.  The
patch was applied incorrectly.  Actual fix coming soon.  Sorry for the
noise.
2008-07-24 08:40:22 -07:00
Thomas Hellstrom
7c2d7f8cf5 Fix a typo. 2008-07-24 13:35:35 +02:00
Thomas Hellstrom
9dd73d58ae Add new demo "fbo_firecube".
Tests fbo render-to-texture for various internal texture image formats.
2008-07-24 13:32:59 +02:00
Pawel Pieczul
117533759f 965: Fix partially transparent textures in Doom 3 engine games
Numbers of destination depth registers corrected (destination stencil
register was sent as depth register).
2008-07-23 15:43:23 -07:00
Eric Anholt
2e37143800 intel: Add a little span cache to spead up readpixels by cutting syscalls. 2008-07-23 10:21:25 -07:00
Eric Anholt
d2d5abfaeb intel-gem: Use pread/pwrite for span access.
This will avoid clflushing entire buffers for small acesses, such as those
commonly used by regression tests.
2008-07-23 10:21:25 -07:00
Eric Anholt
f0ca917924 intel: improve 2d batchbuffer debug output. 2008-07-23 10:21:25 -07:00
Eric Anholt
1c8791c581 intel: Fix CopyTexSubImage's src tiling arg for the blit.
Didn't hurt 915, but needed for 965.
2008-07-23 10:21:25 -07:00
Eric Anholt
bdaa06ad63 intel: move renderbuffer mapping to separate functions.
This lets us avoid duplicated code for doing so, including the depthstencil
paths that aren't covered by SpanRenderStart/Finish.  Those paths were
missing the span funcs setup, leading to a null dereference in the fbotexture
demo.
2008-07-23 10:21:24 -07:00
Jesse Barnes
97988ccc46 intel: fix buffer swaps and enable page flipping on 965
Some buffer swap intel render buffer fields (pf_num_pages & vbl_pending) are
also used for page flipping, so enable the code that sets & updates them on
965.  This allows buffer swaps and page flips to work on 965 and prevents hangs
in LOCK_HARDWARE in the buffer swap case due to an uninitialized vbl_pending
field.

Fixes FDO #16118.
2008-07-22 09:39:23 -07:00
Pawel Pieczul
b993d539a7 965: Fix color clamping issues 2008-07-21 10:57:20 -07:00
Brian Paul
77497eb73b mesa: revert building glslcompiler by default 2008-07-21 09:01:34 -06:00
Ian Romanick
99fe0c222c intel-gem: Bump driver date
Bump the driver date and insert the string "GEM".  When running tests,
this make it much easier to know that the right driver is being used.
2008-07-18 12:40:04 -07:00
Dan Nicholson
776c60d3c3 autoconf: Support Motif widgets in GLw with --enable-motif
Add an --enable-motif option, which will enable the Motif widgets in
libGLw and link it with libXm. The Motif installation information will
be gathered from the motif-config script (this comes with LessTif) or
fallback to the standard autoconf checks.

To allow the location of the Motif headers to be set from configure, the
default setting of -I/usr/include/Motif1.2 has been moved into
configs/default and then passed to the Makefile through the MOTIF_CFLAGS
variable.
2008-07-18 08:07:07 -07:00
Xiang, Haihao
b4b7326717 intel: fix texture border issue. (bug #16697) 2008-07-18 17:40:11 +08:00
Brian Paul
3bfedb7ed4 mesa: build the stand-alone glslcompiler by default, update the docs 2008-07-17 15:40:10 -06:00
Brian Paul
73b8ee4121 mesa: regenerated file 2008-07-17 10:09:04 -06:00
Brian Paul
d9f4d04111 mesa: fix/improve the atan(y,x) function 2008-07-17 10:08:14 -06:00
Brad Smith
f49d345a51 mesa: added checks for OpenBSD 2008-07-17 08:15:57 -06:00
Brian Paul
0138435643 mesa: regenerated file 2008-07-16 16:27:14 -06:00
Brian Paul
33a25729e8 mesa: fix temp re-use bug in emit_arith() 2008-07-16 16:20:25 -06:00
Brian Paul
082cde143b mesa: fix copy&paste errors in degrees() functions 2008-07-16 16:20:07 -06:00
Ian Romanick
29cb89d0c2 intel: Clean-up ARB_texture_env_crossbar
Enable support for ARB_texture_env_crossbar in the master extension
list instead of in every single device-specific list.
2008-07-16 10:37:49 -07:00
Ian Romanick
442c195c4a Remove redundant initalization of MaxTextureUnits 2008-07-16 09:43:03 -07:00
Brian Paul
7d13dded5c mesa: add GL_POLYGON_OFFSET_POINT/LINE/FILL queries, remove GL_TEXTURE_ENV_COLOR, GL_TEXTURE_ENV_MODE
Issues found by Bob Ellison.
2008-07-16 10:23:28 -06:00
Blair Sadewitz
b7c54945fe additional preprocessor checks for stdint.h, inttypes.h, etc
The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.
2008-07-15 17:21:56 -06:00
Blair Sadewitz
ece7183ff1 mesa: added test for __NetBSD__ 2008-07-15 17:12:23 -06:00
Blair Sadewitz
4c6dcbf091 mesa: added test for __NetBSD__ 2008-07-15 17:11:54 -06:00
Blair Sadewitz
e6218d071d mesa: check for __INTERIX to typedef uintptr_t 2008-07-15 17:06:17 -06:00
Blair Sadewitz
546c7fb221 mesa: extra braces 2008-07-15 17:05:28 -06:00
Brian Paul
461e178806 mesa: regenerated file 2008-07-15 16:55:23 -06:00
Brian Paul
716f70d782 mesa: add missing IR_LOG2 case 2008-07-15 16:41:35 -06:00
Brian Paul
b0d173f405 mesa: fix some broken /= operators 2008-07-15 16:41:19 -06:00
Brian Paul
8c653f6e09 mesa: fix some broken bool, bvec2, bvec3, bvec4 constructors 2008-07-15 16:40:51 -06:00
Brian Paul
7d7d114e59 mesa: fix storage size computation in emit_arith() 2008-07-15 16:40:38 -06:00
Eric Anholt
a5f02368d2 intel-gem: Disable spantmp sse/mmx functions when tile swizzling.
Those functions rely on being able to treat the GET_PTR returned value as an
array indexed by x, but that's not the case for our tiling.

Bug #16387
2008-07-15 13:21:37 -07:00
Ian Romanick
27e3f7f21d glx: Update my e-mail address. :) 2008-07-15 11:06:31 -07:00
Ian Romanick
67108adb48 glx: Trivial clean-ups to __glXSetArrayEnable 2008-07-15 11:06:04 -07:00
Brian Paul
f214a848ab mesa: assemble main() after all other functions
Before, main() had to come after any functions it called.
2008-07-14 15:59:44 -06:00
Eric Anholt
946abd9b5a i915: fix build after previous commit. 2008-07-14 13:55:37 -07:00
Brian Paul
c62cb6be6c mesa: fix stencil state problem when GL_ATI_separate_stencil wasn't enabled
In glStencilFunc/Op/Mask() set both the front and back-face state, unless
GL_EXT_stencil_two_side is enabled.  Before, we only set the front+back state
if GL_ATI_separate_stencil was enabled.

Ultimately, we probably should remove GL_EXT_stencil_two_side since it's
incompatible with GL 2.x.
2008-07-14 09:51:35 -06:00
Guillaume Melquiond
4430597bf6 fix gltrace (bug 16691) 2008-07-14 08:50:36 -06:00
Julien Cristau
0a7df3794c glu: only export public symbols 2008-07-14 08:37:49 -06:00
Julien Cristau
f7eb0cec69 mklib: don't version symbols when using --exports
Use the default version instead of one based on the library SONAME
in the version script created by --exports.
2008-07-14 08:37:38 -06:00
Blair Sadewitz
a63b90712a mesa: also check for __NetBSD__ 2008-07-14 08:15:10 -06:00
Brian Paul
62db707a3d mesa: check for null shader->Source 2008-07-14 08:13:52 -06:00
Chris Rankin
5e600209f4 radeon: SetTexOffset support
This patch is a straightforward duplication of the R200 SetTexOffset code,
except that there is no big-endian tx_table[] array.
2008-07-14 10:11:20 +02:00
Stephane Marchesin
93115c4b23 nouveau: say goodbye to the old DRI driver... 2008-07-14 01:03:07 +02:00
Dave Airlie
4fab47b13c glx/dri: only report DRI2 extensions when DRI2 is enabled.
Fixes bug 15477
2008-07-13 19:00:46 +10:00
Nicolai Haehnle
e81ba58bf4 r300_fragprog: Use nqssa+dce and program_pair for emit
Share almost all code with r500_fragprog now.

This also fixes Piglit's texrect-many test, which means that the compiz
bicubic plugin should work with hardware acceleration now.
2008-07-12 21:16:16 +02:00
Dan Nicholson
3b8081603b Always pass -linker and -ldflags to mklib for shared libraries
This just makes the use of mklib more consistent throughout Mesa where
we always want to pass the linker and LDFLAGS when we might be making a
shared library.
2008-07-12 10:25:40 -07:00
Dan Nicholson
db072baaaf Call mklib with $(SHELL) so the user controls the interpreter
Respect the user's choice of shell when running mklib rather than always
using /bin/sh.
2008-07-12 10:25:40 -07:00
Dan Nicholson
4f5d97ee9e Call minstall with $(SHELL) so the user controls the interpreter
Running minstall directly means that /bin/sh is always used as hte
interpreter. If the user needs or wants to use a different shell fo
minstall, they can use the SHELL make variable.
2008-07-12 10:25:40 -07:00
Dan Nicholson
9eee7f260f Set $(SHELL) for all configs
Most make implementations will use /bin/sh as the interpreter for
commands and only use a different shell when the $(SHELL) make variable
is set. This makes the setting explicit and allows $(SHELL) to be used
in the commands themselves.
2008-07-12 10:25:40 -07:00
Dan Nicholson
bfb27b5fc0 autoconf: Subsitute SHELL for all platforms
Establish the shell that make will use from configure. This is exactly
how autoconf/automake operate, with the environment variable
CONFIG_SHELL respected to override the autoconf checks. In the usual
case where the user just executes `./configure', autoconf will pick a
shell from the current shell, sh, bash, ksh or sh5 that meets its base
criteria.

The special Solaris case of looking for a POSIX shell has been changed
to just set the SHELL variable since autoconf substitutes this already.
The EXTRA_CONFIG_LINES substitution is dropped as it should no longer be
needed.
2008-07-12 10:25:40 -07:00
Nicolai Haehnle
2d766923c4 r300: Fix saturate mode handling in radeon_program_alu 2008-07-12 12:20:28 +02:00
Nicolai Haehnle
cf0ae102db r500: Set Saturate correctly in radeon_program_pair 2008-07-12 12:04:28 +02:00
Nicolai Haehnle
8774fcd89a r300: Fix input register allocation in radeon_program_pair
When an input is marked in gl_program.InputsRead but is not actually read
in the final program (due to dead-code elimination or whatever), the order
of input registers must still match gl_program.InputsRead. This is done
even more explicitly now.
2008-07-12 11:11:59 +02:00
Nicolai Haehnle
11d711df36 r300: Explicitly set absolute value for the argument of RSQ
This fixes the last r500 bug related to glean/fragProg1.
2008-07-12 09:36:02 +02:00
Nicolai Haehnle
b6765c3499 r500_fragprog: Major refactoring of final emit
Use an abstracted instruction scheduling and register allocation algorithm
that we will be able to share with r300_fragprog.

Unlike the original emit code, this code tries to pair instructions that
only use the RGB part of the ALU with instructions that only use the alpha
part. However, the pairing algorithm still has some shortcomings;
for example, it doesn't generate optimal code for the emulation of LIT.
2008-07-12 09:36:02 +02:00
Nicolai Haehnle
d8d086c20b r500: Add "Not quite SSA" and dead code elimination pass
In addition, this pass fixes non-native swizzles.
2008-07-12 09:36:02 +02:00
Nicolai Haehnle
7904c9fad4 r500_fragprog: Transform trigonometric functions in first pass 2008-07-12 09:36:02 +02:00
Eric Anholt
2e841880cf drm-gem: Use new GEM ioctls for tiling state, and support new swizzle modes. 2008-07-11 18:58:19 -07:00
Alex Deucher
b0ef353b46 R300: update vap_cntl values for NUM_FPUS
based on info from hw team
2008-07-11 19:23:06 -04:00
Dan Nicholson
6c44c6d020 Remove generated pkg-config files on `make clean' 2008-07-11 10:43:29 -07:00
Dan Nicholson
99803a4ec9 autoconf: Add information about the --x-* options to --help output
Try to tell the user that the --x-* options are only used when the X
libraries can't be found by pkg-config.
2008-07-11 10:04:46 -07:00
Dan Nicholson
e97ab72b59 autoconf: Tell the user about docs/autoconf.html in --help output
The documentation in autoconf.html is much more explicit about how the
different configure options control the build. This adds a notice at the
end of the `./configure --help' output to tell the user about it.
2008-07-11 10:04:46 -07:00
Dave Airlie
b52398571b intel: fix batch flushing problem with cliprects handling.
pointed out and debugged by stringfellow on #dri-devel
2008-07-11 07:28:55 +10:00
Brian Paul
ac05da56ec mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity check 2008-07-09 15:06:36 -06:00
Brian Paul
4ca0af1882 mesa: fix state.clip[n].plane parsing bug (bug 16611) 2008-07-09 08:39:25 -06:00
Brian Paul
a2e435054c mesa: check for OpenBSD (bug 15604) 2008-07-09 08:39:25 -06:00
Xiang, Haihao
75e4db1804 i915: fall back to software rendering when shadow comparison is
enabled for 1D texture. fix #12176
2008-07-09 13:10:46 +08:00
Brian Paul
2f1b5ffcda mesa: remove debug code 2008-07-08 16:52:45 -06:00
Brian Paul
e4d9cc94b8 add yet another Makefile 2008-07-08 16:28:33 -06:00
Brian Paul
ee2a101123 bump version to rc3 2008-07-08 16:26:28 -06:00
Brian Paul
7d3feef9d6 added more Makefiles to file list 2008-07-08 16:26:06 -06:00
Brian Paul
2be54a8e8c mesa: implement glGetUniformiv() with new ctx->Driver function
The old implementation could overwrite the caller's param buffer.
2008-07-08 16:17:04 -06:00
Brian Paul
44029f15a8 added src/mesa/drivers/Makefile to file list 2008-07-08 16:16:57 -06:00
Brian Paul
6fe7857629 mesa: bump version to rc2 2008-07-08 15:12:48 -06:00
Brian Paul
c71fa34728 added null texObj ptr check (bug 15567) 2008-07-08 15:11:53 -06:00
Brian Paul
fd6cb1b11d mesa: more debug output 2008-07-08 15:11:53 -06:00
Brian Paul
d14b7890a4 mesa: compute global var size before doing codegen 2008-07-08 15:11:53 -06:00
Brian Paul
477d597df6 mesa: add missing VARYING case to storage_string() 2008-07-08 15:11:53 -06:00
Xiang, Haihao
92c075eeb7 i965: official name for GM45 chipset 2008-07-08 14:14:04 +08:00
George Sapountzis
a36bf890e8 glx: add LIBGL_ALWAYS_SOFTWARE
this disables accelerated DRI and fallbacks to client-side software rendering.

compile-tested only.
2008-07-07 18:34:17 +03:00
Dan Nicholson
e6e4f25aa5 autoconf: Allow commas or spaces to separate DRI drivers
Explicitly allow the argument to --with-dri-drivers to contain
comma-separated or space-separated drivers. A space-separated driver
list worked by chance before.
2008-07-06 14:17:54 -07:00
Dan Nicholson
11ac5b2456 Set library and header installation directories from configuration
Currently the installation directories for libraries and headers are
resolved within the install commands. For instance, the libraries will
be installed to $(INSTALL_DIR)/$(LIB_DIR). This limits the flexibility
of the installation, such as when the libraries should be installed to a
subdirectory like /usr/lib/tls.

This adds the make variables $(INSTALL_LIB_DIR) and $(INSTALL_INC_DIR)
to define the locations that the libraries and headers are installed.
For the static configs, this resolves exactly as before to
$(INSTALL_DIR)/include and $(INSTALL_DIR)/$(LIB_DIR). For autoconf, they
are derived directly from the --libdir and --includedir settings.
2008-07-06 14:15:40 -07:00
Nicolai Haehnle
056689d457 r500_fragprog: Fix RSQ with negative parameters 2008-07-06 16:39:31 +02:00
Nicolai Haehnle
2b2cb56656 r300_fragprog: Emulate trigonometric functions in radeon_program_alu 2008-07-06 10:00:35 +02:00
Nicolai Haehnle
4746752f16 r300: Translate fragment program DST in radeon_program_alu 2008-07-06 10:00:35 +02:00
Nicolai Haehnle
03abd021f2 r300: Translate fragment program LRP in radeon_program_alu.c 2008-07-06 10:00:35 +02:00
Nicolai Haehnle
62bccd6df0 r300: Allow adding parameters during fragprog transform, share LIT code 2008-07-06 09:59:43 +02:00
Nicolai Haehnle
77fdfaa23a r300: Correctly scan for used temporary registers
This fixes a regression introduced by dea8719f0...
2008-07-05 20:01:20 +02:00
Nicolai Haehnle
364d45a3e1 r500: Major refactoring of fragment program emit
Use the common facilities to convert non-native instructions into native ones.
Worked hard to make the code easier to read (hopefully), by using helper
functions instead of direct manipulation of the machine code.
Fixes two bugs related to FLR and XPD.
2008-07-05 18:04:10 +02:00
Nicolai Haehnle
dea8719f00 r300: Remove clause stuff for now in favour of a cloned generic gl_program 2008-07-05 18:04:10 +02:00
Nicolai Haehnle
85b46fbe9c r500_fragprog: Cleanup some unused variables and code. 2008-07-05 18:04:10 +02:00
Nicolai Haehnle
13c44679ad r500: Fix a mixup in fragment program LRP instruction emit 2008-07-05 18:04:10 +02:00
Nicolai Haehnle
09e587fcf3 r500: Fix blend color. 2008-07-05 18:04:09 +02:00
Nicolai Haehnle
82635aad42 _mesa_clone_program: Copy ShadowSamplers 2008-07-05 18:04:04 +02:00
Nicolai Haehnle
e187627c1d r300: Fix depth texture in compare mode
Missed the homogenous divide of R by Q before...
2008-07-04 18:22:16 +02:00
Nicolai Haehnle
845e3f701d Enable TexGen based on InputsRead when a fragment program is active
The old behaviour depended on which texture images the fragment program
reads from, which seems to contradict the shader specifications.

Note: Piglit's general/texgen test checks for this problem.
2008-07-04 18:22:15 +02:00
Brian Paul
1f4d0748ba GLSL-related bug fixes 2008-07-04 10:05:39 -06:00
Brian Paul
e06565b103 mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked 2008-07-04 10:04:03 -06:00
Brian Paul
b931a0c1d9 mesa: remove incorrect assertion 2008-07-04 10:04:03 -06:00
Alan Hourihane
9157b1e09a glcontextmodes.c is required remove the reference in .gitignore 2008-07-04 13:54:49 +01:00
Xiang, Haihao
0c1e96e6d3 mesa: fix polygon offset issue (bug #12061) 2008-07-04 09:53:51 +08:00
Brian Paul
530df581dd mesa: fix various error codes 2008-07-03 16:21:11 -06:00
Brian Paul
011185396b mesa: fix some error codes in _mesa_ShaderSourceARB() 2008-07-03 16:02:05 -06:00
Brian Paul
3dc6591a7c mesa: fix problem freeing framebuffer/renderbuffer objects
Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
2008-07-03 15:40:38 -06:00
Brian Paul
7acb7c1ac0 mesa: additional error checking, fix error codes 2008-07-03 13:49:48 -06:00
Brian Paul
d866cb3712 mesa: regenerated file 2008-07-03 13:24:28 -06:00
Brian Paul
7f4f2ac39d mesa: additional vec4 constructor 2008-07-03 13:24:19 -06:00
Brian Paul
6e46c121f9 mesa: fix array storage allocation bug 2008-07-03 13:05:28 -06:00
Brian Paul
1dc20c7916 mesa: fix incorrect array size, added assertion 2008-07-03 13:03:35 -06:00
Brian Paul
b3e1f9bd52 mesa: fix vertex array validation test for attribute 0 (vert pos)
We don't actually need vertex array[0] enabled when using a vertex
program/shader.
2008-07-02 19:17:11 -06:00
Brian Paul
1726b7d1d3 mesa: when linking a shader program, make sure all the shaders compiled OK 2008-07-02 16:51:49 -06:00
Brian Paul
cb79c5c7c6 mesa: added some debug code (disabled) 2008-07-02 16:50:52 -06:00
Brian Paul
36a5826411 mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
or GL_INVALID_OPERATION.  It depends on whether 'shader' actually names a
'program' or is a totally unknown ID.
There might be other cases to fix...
2008-07-02 16:40:24 -06:00
Brian Paul
a405d69063 mesa: regenerated 2008-07-02 16:39:48 -06:00
Brian Paul
a2cddf58d2 mesa: added some missing equal() notEqual() intrinsics 2008-07-02 16:39:26 -06:00
Eric Anholt
def6e4f420 intel: span rendering requires just a flush before starting, not finish.
The dri_bo_map()s that follow will take care of idling the hardware as needed.
2008-07-02 11:49:10 -07:00
Brian Paul
918f3b17e5 mesa: regenerated files 2008-07-02 12:38:48 -06:00
Brian Paul
18adc71822 mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors 2008-07-02 12:38:48 -06:00
Roland Scheidegger
5ef4e4ffb8 mesa: fix issues around multisample enable
multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.
2008-07-02 20:21:06 +02:00
Eric Anholt
a995bdced2 intel-gem: Emit an MI_FLUSH at glFlush() so frontbuffer rendering is flushed.
We have something similar in the X Server that covers X Server rendering, this
is the equivalent here for rendering to the front buffer.  If we cared about
avoiding this at glFlush time, we could only do this when some actual
frontbuffer rendering had occurred.

Bug #16392.
2008-07-02 11:16:30 -07:00
Eric Anholt
4b3ed4d2d1 intel-gem: Fix y-tile swizzling for our G965 with swizzle_mode=1.
Apparently in Y mode we get bit 6 ^ bit 9.  The reflect demo in 'd' mode now
displays correctly.
2008-07-02 10:21:44 -07:00
Eric Anholt
19f585a3cf intel-gem: Fix Y-tiling span setup.
The boolean that the server gives us for whether the region is tiled was
getting used as the enum for what tiling mode.  Instead, guess the correct
tiling in screen setup.

Also, fix the Y-tiling pitch setup.  The pitch to the next tile in Y is
32 scanlines, not 8.
2008-07-02 09:10:21 -07:00
Brian Paul
6befdca6a3 generate a link error if the vertex shader references too many textures 2008-07-02 09:16:10 -06:00
Brian Paul
43346fb1fb set ctx->Const.MaxVertexTextureImageUnits = 0
This disallows vertex shader texture sampling.  See bugs 16157, 13838.
2008-07-02 09:14:53 -06:00
Ian Romanick
ea190fe050 VBO: Regenerate files based on recent changes to gl_API.xml
Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
changes are innocuous.
2008-07-02 06:26:11 -07:00
Paulo Cesar Pereira de Andrade
abd71144f0 Bring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver tree 2008-07-02 06:22:47 -07:00
Ian Romanick
21e0d47514 VBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 2008-07-01 19:30:32 -07:00
Ian Romanick
c52d6ad465 VBO: add GLX related annotations 2008-07-01 18:20:21 -07:00
Brian Paul
028739faed mesa: fix a GLSL vector subscript/writemask bug
This fixes a failure for cases like:
   vec4 v;
   v[1] *= 2.0;

The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.
2008-07-01 17:59:07 -06:00
Brian Paul
e19af171cf mesa: move some functions 2008-07-01 17:52:31 -06:00
Brian Paul
9ae4d778d8 mesa: make _slang_swizzle_swizzle() non-private 2008-07-01 17:50:14 -06:00
Eric Anholt
e74f54793e intel-gem: Move bit 6 x tiling swizzle to a driconf option, and add new mode.
It turns out that it's not just deviceID dependent, and there's some additional
undefined factor that determines the bit 6 swizzling.  It's now controllable
with swizzle_mode=[012] until we get a response on how to automatically detect.
2008-07-01 16:14:08 -07:00
Brian Paul
32a5c40336 mesa: better function inlining in the presence of 'return' statements
Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.
2008-07-01 11:41:21 -06:00
Brian Paul
b2247c7d29 mesa: add/fix some IrInfo entries for debugging purposes 2008-07-01 11:41:02 -06:00
Brian Paul
011b0e51e4 link to DRM 2.3.1 2008-07-01 09:02:10 -06:00
Brian Paul
2ce4b985a5 press 'm' to toggle multisample enable/disable 2008-07-01 08:49:12 -06:00
Brian Paul
634d2af2b0 init machine->Samplers (fixes vertex program texture fetches) 2008-07-01 08:49:12 -06:00
Dave Airlie
d3f7b463c3 dri: drop asserts to make build against stable libdrm
These asserts are of questionable use at the moment with things in flux.
2008-07-01 18:22:12 +10:00
Xiang, Haihao
bcc2a3d7e3 dri: Take the base image size into account when computing
first level of the mipmap.  fix #16210
2008-07-01 11:50:50 +08:00
Dan Nicholson
5cae1b747b autoconf: Improve the visibility of the swrast DRI driver
Improve the --with-dri-drivers help text so that users are aware that
they should install the swrast DRI driver.
2008-06-30 11:16:09 -07:00
Corbin Simpson
bb1744970d r3xx/r5xx: Enable ARB_point_parameters.
This isn't complete yet. It does cover the two most common usage cases,
though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible,
so I'll do that later.
2008-06-30 11:12:51 -07:00
Nicolai Haehnle
23e9b43ce4 r300: Fix dumb mistake in LOD bias translation 2008-06-30 08:37:37 +02:00
Nicolai Haehnle
4002b75e62 r300: Cleanup LodBias support
. There is both a per-texture unit and a per-texture object (at least for
OpenGL 1.4); this should now be supported properly.
. The LOD bias calculation in r300_state has been simplified and corrected
  (need to multiply by 32 instead of 31, and ensure clamping)
. do not clamp LOD bias in TexEnv, as that behaviour conflicts with what
  the spec says
. set Const.MaxTextureLodBias properly
. remove the no_neg_lod_bias property; if somebody can explain what
  it's good for, we can add it back in, but according to Google, nobody
  seems to use it
. removed some dead code and unused variables
2008-06-30 00:49:00 +02:00
Corbin Simpson
a74d22ba71 r300: Change LOD bias emission to more closely follow per-tex rules.
Okay, this time it's for real, and for good. This should be a perma-fix.
2008-06-29 10:32:19 -07:00
Corbin Simpson
543893eefd Revert accidental edit to progs/demos/lodbias.
*puts yet another paper bag over head*
2008-06-29 10:32:19 -07:00
Nicolai Haehnle
0918023c28 demos/shadowtex: Don't set TEXTURE_WRAP_T for 1D texture
The operation doesn't really make sense. It triggered a bug in the r300 DRI
driver (and possibly other drivers that simulate 1D textures via 2D textures).
I've added an isolated test case for this bug to Piglit, so everybody wins.
2008-06-29 17:34:14 +02:00
Nicolai Haehnle
bc775066aa r300: Fix wrap mode for 1D textures 2008-06-29 17:28:13 +02:00
Brian Paul
6cb1270491 s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv() 2008-06-28 16:48:58 -06:00
Brian Paul
b429e9b2d7 mesa: added null ptr checks 2008-06-28 16:48:58 -06:00
Dan Nicholson
f6da1453c5 DRI-specific pkg-config file
Since the gl pkg-config file doesn't convey any specifics about the
backend in use, this adds a new pkg-config file for when DRI is in use.
This can be used by the xserver build to determine if the DRI and/or
GLX extensions are appropriate.
2008-06-27 16:25:28 -07:00
Dan Nicholson
985e1cdfe8 autoconf: Check for posix_memalign
Rather than just defining HAVE_POSIX_MEMALIGN on Linux, check whether
the function exists on all platforms and define the macro if it is.
2008-06-27 16:24:42 -07:00
Eric Anholt
f059a33022 intel: Fix locking when doing intel_region_cow().
This was broken in the merge of 965 blit support.  It tried to lock only
when things were already locked.
2008-06-26 15:34:27 -07:00
Eric Anholt
93f701bc36 intel: Replace sprinkled intel_batchbuffer_flush with MI_FLUSH or nothing.
Most of these were to ensure that caches got synchronized between 2d (or meta)
rendering and later use of the target as a source, such as for texture
miptree setup.  Those are replaced with intel_batchbuffer_emit_mi_flush(),
which just drops an MI_FLUSH.  Most of the remainder were to ensure that
REFERENCES_CLIPRECTS batchbuffers got flushed before the lock was dropped.
Those are now replaced by automatically flushing those when dropping the lock.
2008-06-26 15:29:28 -07:00
Alan Hourihane
3b132b297f Check in SwapBuffers for any new pending dri2 events 2008-06-26 22:53:29 +01:00
Eric Anholt
f6abe8f0f2 Merge commit 'origin/master' into drm-gem 2008-06-24 14:08:08 -07:00
Eric Anholt
5174b85a0c intel: Fix glCopyPixels when x or y are < 0 in hw coordinates.
Nothing would get drawn as the negative coordinates broke the rectangle
intersection code that used unsigned ints.  Tested with copypix demo and
sliding the copy to the upper left.
2008-06-24 14:04:11 -07:00
Eric Anholt
9a0d773116 i965: Use the shared intel_pixel_copy.c.
This disables the textured copy implementation on 965, which didn't appear
to work (mesa copypix demo, disable the blit path, move so that regions don't
overlap and textured is used, and you get garbage).  If we resurrect this for
i965, I'd rather it used the 915-style metaops instead.  Current metaops code
left in place so that whoever picks it up has a reference.
2008-06-24 13:18:40 -07:00
Eric Anholt
744357e29c intel: Same pixel function init for everyone now. 2008-06-24 11:49:21 -07:00
Eric Anholt
f5eb62a116 intel: Avoid glBitmap software fallback for blending when no blending occurs.
Mesa demos tend to leave blending on but in GL_ONE/GL_ZERO, or
GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA with a source alpha of 1.0.
2008-06-24 11:44:42 -07:00
Eric Anholt
f23adc504d intel: Merge check_blit_fragment_ops between i915/i965.
Both had some useful bits for the other.
2008-06-24 11:34:42 -07:00
Eric Anholt
90d33edf37 intel: Note reasons for blit pixel op fallbacks under INTEL_DEBUG=pix. 2008-06-24 10:50:10 -07:00
Eric Anholt
eda68cccc0 i915: Add support for accelerated glBitmap, shared from 965. 2008-06-24 10:26:57 -07:00
Eric Anholt
5989098779 i915: Fix read != draw drawable for glCopyPixels.
Taken from commit bad6e175cf.
2008-06-24 10:25:19 -07:00
Eric Anholt
98fa0aec36 i915: Allow accelerated pixel ops to be disabled with INTEL_NO_BLIT.
This matches 965.
2008-06-24 10:24:32 -07:00
Eric Anholt
a42dac1879 i915: Accumulate the VB into a local buffer and subdata it in.
This lets GEM use pwrite, for an additional 4% or so speedup.
2008-06-23 15:44:10 -07:00
Eric Anholt
62d66caeba i915: Convert to using VBs instead of inline prims. 2008-06-23 14:45:13 -07:00
Dan Nicholson
fe3b62b5b1 Ensure all objects are built when installing DRI 2008-06-22 20:29:45 -07:00
Dan Nicholson
5aa4d5a87d Don't make libmesa.a or libglapi.a depend on asm_subdirs
Since the asm_subdirs target does not actually create a file, make will
always consider that it needs to be rebuilt. If libmesa.a and libglapi.a
have asm_subdirs as a prerequisite, then they will always need to be
rebuilt, too. The correct order will be preserved by the default target,
though.

This should fix #16358.
2008-06-22 20:27:00 -07:00
Dan Nicholson
7ec5e6a032 Create $(TOP)/$(LIB_DIR) for install, too
If `make install' is run without running `make' first, the $(LIB_DIR)
will not be created. This also changes the mkdir a little bit so that it
isn't run if necessary and added `-p' so that it is immune to races.
2008-06-22 20:19:35 -07:00
Brian Paul
71d2578ac5 replace __inline and __inline__ with INLINE macro 2008-06-21 10:55:24 -06:00
Brian Paul
ba97ed2b74 replace __inline and __inline__ with INLINE macro 2008-06-21 10:52:40 -06:00
Brian Paul
cc96d54920 replace __inline and __inline__ with INLINE macro 2008-06-21 10:52:32 -06:00
Brian Paul
37f19b94ac replace __inline and __inline__ with INLINE macro 2008-06-21 10:49:45 -06:00
Brian Paul
402e7f76b1 #undef DEBUG to silence warnings 2008-06-21 10:49:40 -06:00
Brian Paul
5ee7b7912c replace __inline and __inline__ with INLINE macro 2008-06-21 10:34:38 -06:00
Brian Paul
055ab81920 replace __inline and __inline__ with INLINE macro 2008-06-21 10:34:00 -06:00
Brian Paul
24197b4901 replace __inline and __inline__ with INLINE macro 2008-06-21 10:30:01 -06:00
Brian Paul
7899270b9f replace __inline and __inline__ with INLINE macro 2008-06-21 10:27:36 -06:00
Brian Paul
2e922b0e35 replace __inline and __inline__ with INLINE macro 2008-06-21 10:24:43 -06:00
Brian Paul
2c1bead069 s/inline/INLINE 2008-06-21 10:20:54 -06:00
Brian Paul
77d917a74a remove old comments 2008-06-21 10:20:31 -06:00
Alan Coopersmith
e1f9adc274 Solaris port of Mesa 7.1 with autoconf support
Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-21 10:19:45 -06:00
Daniel Zhu
f30e4af734 Rename quad function to quadr to avoid clash with Solaris quad typedef
Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-21 10:19:45 -06:00
Alan Coopersmith
1043a7c71a Make minstall work with Solaris /bin/sh
Solaris /bin/sh doesn't set $PWD for you

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-21 10:19:45 -06:00
Alan Coopersmith
4ba39c40ae Fix builds with compilers other than gcc 3.0 & newer
Add #include "glheader.h" for definition of __builtin_expect for compilers
that don't support it.

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-21 10:19:45 -06:00
Brian Paul
3491cbea88 added pointer to beta/release candidates 2008-06-21 10:19:45 -06:00
Alex Deucher
dc25661099 R300: 1002:5657 is actually RV410
See bug 14289
2008-06-21 10:52:49 -04:00
Roland Scheidegger
b3f1aac95e r200: fix typo in r200TryDrawPixels parameter validation (bug 16406) 2008-06-21 02:54:14 +02:00
Brian Paul
21177c8764 mesa: tweak mipmap level selection for cube maps
This is just a hack.  After we convert the 3D texcoord into a face plus 2D
texcoord we need to recompute the partial derivatives and mipmap LOD.
But we don't have the info to do that.  Adjusting the original mipmap
level by -1 seems to give somewhat better results than before though.
2008-06-19 14:37:50 -06:00
Eric Anholt
0da9bc6a69 i915: Note the non-PBO fallback for textured drawpixels under DEBUG_PIXEL. 2008-06-18 14:35:59 -07:00
Eric Anholt
bbe80af457 i915: Restore the accelerated PBO pixel path functions after GEM changes.
The fencing code is not required, and waiting on the fences defeated one of
the purposes of the extension, which is to allow asynchronous readpixels.
2008-06-18 14:19:18 -07:00
Eric Anholt
654258a4fe Merge commit 'origin/master' into drm-gem 2008-06-18 14:07:38 -07:00
Eric Anholt
cf29ab3ba0 i915: Bug #14313: Fix accelerated (PBO) ReadPixels.
Refactoring of mine in 02d5ba8491 broke it
by failing to understand that the masking was about sign extension.
2008-06-18 13:50:49 -07:00
Xiang, Haihao
3e8aadee8b i965: add support for Intel 4 series chipsets 2008-06-18 15:33:33 +08:00
Brian Paul
3064069540 mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking 2008-06-17 16:44:04 -06:00
Eric Anholt
64adeb163d [intel] Fix no_rast option on non-965.
The no_rast fallback was getting partially overwritten by later TNL init,
resulting in a segfault when things were in a mixed-up state.
2008-06-17 14:14:02 -07:00
Eric Anholt
e2baf564d1 [intel-gem] Bug #16326: Fix X tile unswizzling on 965.
Apparently a bit gets flipped in the addressing for some rows of each tile.
2008-06-17 11:18:02 -07:00
Wilfried Holzke
5b5bf21874 assorted glide driver fixes 2008-06-17 10:08:22 -06:00
Brian Paul
51ad6e3425 glu: silence warnings 2008-06-17 10:08:22 -06:00
Dave Airlie
a1523c61ea mesa: make mm.c use unsigned ints for offsets.
If you have a GPU using this code and it has the offsets up in this space,
this fails.
2008-06-17 16:29:45 +10:00
Corbin Simpson
27b7f896d4 r300: Make LOD bias a persistent environment variable.
Per airlied's suggestion.
2008-06-16 11:40:34 -07:00
H. Verbeet
e9d1889891 Compute/setup fog coordinates even if vertex program is enabled.
Only when fog's enabled, of course.
In the usual case, this is just a pass-through operation.
2008-06-16 10:40:32 -06:00
Brian Paul
ec2d0decbd mesa: allocate pixel zoom arrays on heap, not stack
Fixes stack overflow on Windows.
2008-06-16 10:03:05 -06:00
H. Verbeet
bbce58802d Don't compute vertex fog when fragment program is active. 2008-06-16 09:41:08 -06:00
Corbin Simpson
588abd6696 r300: Fix new incarnation of bug 3195.
tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.
2008-06-16 01:21:42 -07:00
Corbin Simpson
1738a9a535 r300: Forgot to clear old state before writing new state.
Oooops. Hehe.
2008-06-16 01:02:16 -07:00
Corbin Simpson
776580a6af r300: Enable LOD bias state emission.
Properly set t->filter_1 for r300_state to emit.
Expect buggies as people see LOD bias enabled for the first time...
2008-06-15 23:54:32 -07:00
Corbin Simpson
f7b8a13d65 Oops, misordered a few instructions.
Not like it matters, though, since it's not taking effect yet.
2008-06-15 17:30:07 -07:00
Corbin Simpson
6e6ca40f29 r300: Unbreak LOD biasing, a bit.
Needs a bit more work on submission.
2008-06-15 17:14:07 -07:00
Dan Nicholson
4fc66be296 No more drivers/xorg
Don't try to clean in xorg since GLcore is gone.
2008-06-15 09:06:27 -07:00
Corbin Simpson
f1ae5d4b44 r5xx: Enable fragment.position, partial ARB_shadow.
I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant?
2008-06-14 19:32:33 -07:00
Corbin Simpson
7413c55d93 r5xx: Detangle FP fallback and translation switches.
r5xx should fallback if it encounters a bad FP.
TODO: Re-enable the dumb shader so we don't have to completely fallback.
2008-06-14 17:59:10 -07:00
Nicolai Haehnle
43da118961 r300: Add radeonTransformALU and fix a bug in r300_fragprog DPH
This new generic transform replaces "special" instructions by more generic
variants. Hopefully, we will be able to share this code between r300 and r500.
2008-06-14 23:09:15 +02:00
Nicolai Haehnle
825fdfd0c1 r300_fragprog: Use less complex instructions
MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less
complex and thus leave more room for future optimizations.
2008-06-14 20:26:10 +02:00
Corbin Simpson
b97e48ffe3 r5xx: More FP rewriting; fix texrect FP insts. 2008-06-14 08:56:03 -07:00
Corbin Simpson
69004fb758 r5xx: New FP code, take two.
Add the code emission source file, and comment out unneeded tex de-swizzling.
2008-06-14 07:21:40 -07:00
Corbin Simpson
0a341ef296 r5xx: FP refactor, take one.
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
2008-06-14 07:03:08 -07:00
Corbin Simpson
9704414d13 r3xx/r5xx: Don't force aniso.
*Pulls paper bag down over head*
2008-06-14 04:37:09 -07:00
Nicolai Haehnle
a1c0c56d70 r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs 2008-06-14 04:15:42 +02:00
Nicolai Haehnle
83ad2a756e texenvprogram: Mark textures using ARB_shadow as ShadowSamplers
Since ARB_fragment_program and friends are defined to ignore the setting of
the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the
shadow comparison by marking the texture unit in ShadowSamplers when
appropriate.
2008-06-14 04:15:31 +02:00
Nicolai Haehnle
2882e51625 r300: Add radeonCompilerDump for debugging 2008-06-14 04:15:20 +02:00
Nicolai Haehnle
e34dc8227c r300_fragprog: Refactor TEX transformation
Streamlining source and destination registers, as well as texcoord scaling for
RECT textures is now done in a radeon_program based transformation.

The idea is that this will allow us to optimize away unnecessary indirections
more easily.
2008-06-14 04:14:56 +02:00
Nicolai Haehnle
b5170bc9d3 r300: Add radeon_program and trivial refactoring of r300_fragprog to use it
The idea/hope is that radeon_program will serve as an intermediate
representation for r3xx up to r6xx fragment and vertex programs.
Right now, it is nothing more than a simplistic wrapper around Mesa's
prog_instruction, together with the notion of clauses, taken from r6xx docs.

The clauses will eventually be used to represent the nodes that are used in
r300 family fragment programs.
2008-06-14 04:14:05 +02:00
Nicolai Haehnle
e2aa45c2f9 r300: Do not include r300_fragprog.h from r300_context.h and other cleanups 2008-06-14 04:11:21 +02:00
Nicolai Haehnle
caeabb1ebe r300_fragprog: Remove dead declarations, move NOP declarations into source 2008-06-14 04:11:13 +02:00
Nicolai Haehnle
4ba1c7d848 r300_fragprog: Refactoring and cleanup
Refactor so that r300_pfs_compile_state "owns"/holds a pointer to
r300_fragment_program instead of the other way round. This is more natural from
an object orientation point of view.

Move the compiled hardware state into r300_fragment_program_code, in
anticipation of on-the-fly program recompilation based on external OpenGL
state.
2008-06-14 04:11:05 +02:00
Nicolai Haehnle
defadd9c03 r300_fragprog: Remove dead code 2008-06-14 04:10:52 +02:00
Nicolai Haehnle
b7669e4a86 r300/r500: Separate fragprog compiler structures
r500 code still used r300_pfs_compile_state, which contains some fields that
really only make sense on r3xx type hardware. In order to allow both fragprog
implementations to go forward without disturbing each other, I've pushed this
structure down into the respective r[3|5]00_fragprog.c
2008-06-13 20:51:20 +02:00
Nicolai Haehnle
4919cc3a2c r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup 2008-06-13 19:36:03 +02:00
Nicolai Haehnle
b1056b6127 r300: Reenable t->filter_1 (though currently not used) 2008-06-13 19:36:02 +02:00
George Sapountzis
1087cc61b3 glx: load swrast_dri.so
caveats:

- does not work with old (i.e. libGLcore) xserver:

- made unbindContext a noop

- extensions:

  GLX_SGI_make_current_read
  GLX_EXT_texture_from_pixmap
  GLX_MESA_copy_sub_buffer
2008-06-13 15:54:08 +03:00
George Sapountzis
7ffb1230b3 dri/swrast: make unbind a noop
This is for loading swrast_dri.so from libGL.

MakeContextCurrent() seems to unbind the context right after binding it and
DRI drivers also have a noop DriverAPI.UnbindContext ...
2008-06-13 15:52:32 +03:00
George Sapountzis
341987f688 dri/swrast: add OpenGL 2.1 functions 2008-06-13 15:48:34 +03:00
George Sapountzis
4297413656 glx: use ErrorMessageF 2008-06-13 15:48:06 +03:00
Zack Rusin
95b34baa8f silly bug: it's PROGRAM_VARYING 2008-06-12 19:43:10 -04:00
Zack Rusin
928ec5cd3b glsl: make sure we replace all output reads with temporaries
test in if.glsl
2008-06-12 19:39:20 -04:00
Zack Rusin
53f5b9741a glsl: allow uniforms 2008-06-12 19:37:26 -04:00
Zack Rusin
effb73befa glsl: fix array size initialiazers using const variables
e.g.
const int kernelSize = 9;
uniform vec2 kernel[kernelSize];
2008-06-12 15:15:34 -04:00
Zack Rusin
19659a50f9 almost forgot - RelAddr is a boolean so use it here 2008-06-12 15:08:58 -04:00
Zack Rusin
2542c59c55 shaders: fix allocation of arrays of parameters 2008-06-12 15:08:27 -04:00
Zack Rusin
74964ff04d glsl: implement variable array indexes 2008-06-12 15:08:12 -04:00
Dan Nicholson
0440f5a187 Update .gitignore for progs/glsl 2008-06-12 06:37:45 -07:00
Dave Airlie
41bdb88f27 sparc: add swrast to dri drivers 2008-06-12 16:26:46 +10:00
Dave Airlie
2b0e75ea7a sparc: add DRI drivers for sparc patch from Fedora 2008-06-12 12:06:50 +10:00
Brian Paul
3f3e4f645d remove obsoleted doxygen \param comments
Someone changed the function parameters but didn't bother to update the
comments.

Also, whitespace changes, clean-ups.
2008-06-11 19:33:30 -06:00
Brian Paul
8d976aedc4 comments 2008-06-11 19:33:14 -06:00
Eric Anholt
407ce3da3c [intel-gem] Chase domain flag renaming in the DRM.
This is an API breakage only.
2008-06-11 14:44:48 -07:00
Eric Anholt
0227d91a9e [gem] Enable bo_reuse by default.
The objects are swappable, so we're less concerned by excessive object
allocation now, and it's about a 20% performance improvement.  If we get
concerns about the memory consumption from others, we can look into a
compromise position later.
2008-06-11 11:46:29 -07:00
Brian Paul
9563449c14 remove unnecessary swrast, tnl includes 2008-06-10 12:08:30 -06:00
Brian Paul
c233b4245f add some missing rule dependencies 2008-06-10 10:10:12 -06:00
Roland Scheidegger
17ec0dbd75 copy msaa visuals capability 2008-06-10 15:45:20 +02:00
Dan Nicholson
fbb96a0301 Distribute version.mk in case autoconf needs to be run again
Users may need to rebuild the configure script, so we need to distribute
version.mk so autoconf can run successfully.
2008-06-10 06:06:40 -07:00
Xiang, Haihao
a742bed99a i965: apply commit 6c1a98e97a to glsl 2008-06-10 16:31:36 +08:00
Brian Paul
72f87b6947 fix Xlib libGL.so build problem.
Also, build driverfuncs.c into libmesa.a since it's always needed.
2008-06-09 16:06:44 -06:00
Brian Paul
f6246f85d7 s/SOLO/MESA/ 2008-06-09 14:09:09 -06:00
Brian Paul
910b3bfaeb Makefile clean-ups 2008-06-09 13:52:22 -06:00
Brian Paul
a80ccaadc7 more old stuff, rename SOLO->MESA, etc 2008-06-09 13:52:22 -06:00
Brian Paul
08c07b60be Makefile clean-ups 2008-06-09 13:52:22 -06:00
Brian Paul
376203cff8 document makefile changes 2008-06-09 13:52:22 -06:00
Alan Hourihane
5cf69fe511 Check for NULL pointer 2008-06-09 16:25:01 +01:00
George Sapountzis
906e189bd3 glx: use goto's vs. nested if's ala xserver
compile tested only
2008-06-09 17:47:49 +03:00
George Sapountzis
0793457039 glx: add dri_common.c ala xserver
also drop driFilterModes which is unused

in preparation of loading swrast_dri.so
2008-06-09 17:47:09 +03:00
George Sapountzis
4c7e02298f dri/swrast: minor cosmetic 2008-06-09 17:46:39 +03:00
Nicolai Haehnle
0009973119 r300: Workaround hardware readcache problem
This workaround is similar to the one found in r200_span.c.
It seems like some part of the read hardware doesn't realize that
VRAM has changed. By reading from an arbitrary position, this is fixed.

The piglit test bugs/r300-readcache is a regression test for this bug.
2008-06-08 22:38:58 +02:00
Brian
f440b0ddd9 remove realglx.[ch] from build 2008-06-08 11:25:30 -06:00
Roland Scheidegger
28c28f72fd i965: fix OPCODE_TEX when additional ops are needed 2008-06-08 14:05:07 +02:00
Corbin Simpson
21f50818b0 r300: Allow driconf to set a default anisotropy.
If an app does not use GL_EXT_tex_filter_aniso, this lets driconf set it instead.
2008-06-07 12:37:31 -07:00
Nicolai Haehnle
cb16876608 r300: Some cleanups in depth and stencil state handling
This also fixes a bug with Zfunc set to GL_NEVER in glean/paths.
2008-06-07 21:08:43 +02:00
Nicolai Haehnle
7cb63a25de r300: Apply writemask when clearing stencil buffer
This fixes the glean/maskedClear test.
2008-06-07 20:34:06 +02:00
Nicolai Haehnle
731686b713 r300: Fix stencil buffer clear
The glean/readPixSanity test passes now.
2008-06-07 20:28:04 +02:00
Nicolai Haehnle
75bfe630ff r300: Further anisotropic filtering fixes
Thanks to Corbin for the initial cut today. Fixed some minor stuff (in
particular, make sure we still use a MIP_LINEAR filtering mode; anisotropy
without MIP_LINEAR filtering is not the truly pleasing anisotropy).
2008-06-07 18:56:55 +02:00
Nicolai Haehnle
bf1a7c884d r300: Update LOD_BIAS register constants 2008-06-07 18:34:44 +02:00
Corbin Simpson
5e58e5d777 r5xx: Unbreak anisotropic filtering?
Not quite finished, maybe? Not sure.
2008-06-07 01:37:35 -07:00
Corbin Simpson
f39780242e r5xx: Fix speedy LIT once and for all.
To do: Add a slightly more accurate LIT. Will do later.
2008-06-06 22:07:18 -07:00
Jose Fonseca
ae18cbcfc5 Fix CRLF line endings. 2008-06-07 12:34:45 +09:00
Jose Fonseca
9286a14fbe Fix CRLF line endings. 2008-06-07 12:33:47 +09:00
Nicolai Haehnle
fa1bc0d7d6 r300: Improve texture layout calculations
The texture layout calculations for mipmapped cubemaps used to be completely
wrong, since the GPU expects images to be grouped by miplevel instead of by
face number.

This has been fixed now, though the memory layout is still slightly incorrect
for the smaller miplevels. Unfortunately, the docs are lacking in that area.
2008-06-06 23:47:46 +02:00
Keith Packard
f5d03af109 [intel-gem] Call the new throttle ioctl from swap buffers
Swap buffers is a fairly reasonable time to wait for the hardware for a
while; this keeps us from overrunning the ring.
2008-06-06 13:05:46 -07:00
Nicolai Haehnle
03a1144cd1 r300: Cleanup TX_MIN_FILTER defines
This commit should not affect the functionality at all, just cleanup
some of the original texture filter guesswork using information from
the register documentation.
2008-06-06 21:34:34 +02:00
Nicolai Haehnle
665605234d r300: Remove unused variable r300_tex_obj::dirty_state and related defines
This variable was only ever written to, but nobody used its value.
2008-06-06 21:34:34 +02:00
Brian Paul
0b72fada6a s/subdirs/asm_subdirs/ 2008-06-06 12:27:55 -06:00
Brian Paul
1d5b51abc8 move the install rules 2008-06-06 12:27:14 -06:00
Brian Paul
bde6b57e48 remove stray semicolon 2008-06-06 12:25:24 -06:00
Brian Paul
847f54e2fa move a beos-ism down into drivers/beos/Makefile 2008-06-06 12:24:44 -06:00
Brian Paul
dd750e0763 Remove the old, complicated default build rule; use the new driver_subdirs rule
Also, all the old driver-specific rules are now gone.
2008-06-06 12:18:40 -06:00
Brian Paul
358dcd7178 remove more old stuff, insert new driver_subdir build rules (but not enabled yet) 2008-06-06 12:12:59 -06:00
Brian Paul
04c6ca99dd new drivers/Makefile with simple default/clean/install rules 2008-06-06 12:09:55 -06:00
Brian Paul
c9739b2055 move directfb-libgl into drivers/directfb/Makefile 2008-06-06 12:09:01 -06:00
Brian Paul
f8563ddddb Move fbdev driver construction into src/mesa/drivers/fbdev/Makefile 2008-06-05 16:44:11 -06:00
Brian Paul
b55694512a reorder some lines, more make clean cmds 2008-06-05 16:28:00 -06:00
Brian Paul
4a68b62b86 remove X11, Glide, OSMesa sources 2008-06-05 16:27:43 -06:00
Brian Paul
e89e94e01a added dependencies 2008-06-05 16:26:15 -06:00
Brian Paul
2b84b22bad Move building of stand-alone Mesa into drivers/x11/Makefile
Also, some re-org, renaming, and general clean-up.
We're just a few steps away from removing the all the special case rules
for building drivers.
2008-06-05 16:08:42 -06:00
Brian Paul
ea7eb9a374 new Makefile for building "stand-alone", Xlib-based libGL 2008-06-05 16:06:17 -06:00
Brian Paul
bf5e573926 prefix some includes with mesa/ or glapi/ 2008-06-05 16:05:02 -06:00
Brian Paul
f8c6b6628d minor changes 2008-06-05 15:37:17 -06:00
Brian Paul
18906b7904 Move construction of libOSMesa.so into src/mesa/drivers/osmesa/Makefile
This removes some cruft from src/mesa/Makefile.
Something similar could be done for stand-alone / Xlib-Mesa libGL...
2008-06-05 15:36:07 -06:00
Brian Paul
91b491debe insert mesa/ before include files 2008-06-05 15:26:11 -06:00
Alan Hourihane
b2a9788ec6 Silence warning 2008-06-05 11:47:20 +01:00
Brian Paul
4c7a17c251 fix event handling issues (such as when resizing when not animating) 2008-06-04 16:11:24 -06:00
Brian Paul
6d9c3fa0c2 press 'a' to toggle animation 2008-06-04 16:04:04 -06:00
Brian Paul
c35e021f37 code refactoring (draw_frame(0, handle_event()) 2008-06-04 16:01:47 -06:00
Brian Paul
c5342ad0d0 remove references to incorrect -winwidth/-winheight, replace with -geometry 2008-06-04 15:56:30 -06:00
Brian Paul
028fd5594c Set the attribute as used.
cherry-picked from gallium-0.1
2008-06-04 14:41:33 -06:00
Dan Nicholson
871125a68d autoconf: Collect arch/platform settings in one location
The architecture- and platorm-specific settings were scattered
throughout the configure script. This moves them near the beginning
before any of the driver-specific settings.
2008-06-04 13:00:35 -07:00
Brian Paul
0d8676822d remove old/unused foomesa.h example header 2008-06-04 09:33:02 -06:00
Brian Paul
f34767f04c call glutDestroyWindow() before exit 2008-06-04 09:30:32 -06:00
Xiang, Haihao
9e95fad02e i915: Fix GL_DEPTH_TEXTURE_MODE issue. (bug #16221) 2008-06-04 15:44:38 +08:00
Keith Packard
dbf3c5247c Merge commit 'origin/master' into drm-gem
Conflicts:

	src/mesa/drivers/dri/common/dri_bufmgr.h
	src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
	src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
	src/mesa/drivers/dri/intel/intel_ioctl.c
2008-06-03 22:56:25 -07:00
Dave Airlie
0b734bd7cf mesa/drm/ttm: allow build against non-TTM aware libdrm
I'll release a libdrm 2.3.1 without TTM apis included from a special
drm branch that should allow mesa 7.1 to build against it.

I've had to turn off DRI2 stuff.
2008-06-04 14:08:27 +10:00
Eric Anholt
4b5b008d54 [intel] Convert drivers to using libdrm bufmgr code. 2008-06-03 14:43:48 -07:00
Ian Romanick
f688827ebd bug #16503: use INSTALL macro instead of hard-coding to bin/minstall
This is only part of the fix.  Someone with more autoconf-fu will have
to fix the rest
2008-06-02 11:19:35 -07:00
Nicolai Haehnle
96adcc2e21 [t_vp_build] Fix refcounting-related memory leak
This memory leak is identical to the earlier one in texenvprogram.
Fixed by not creating an additional reference to new programs in cache_item.

On top of that, remove some duplicated state setting.
2008-06-02 18:42:52 +02:00
Nicolai Haehnle
934a53eb44 [texenvprogram] Fix refcounting-related memory leak.
All newly created programs have RefCount == 1, but the fragment program cache
added an additional reference in cache_item, with the result being that none
of the programs were ever freed.

Solve the problem by not creating the additional reference in cache_item.
2008-06-02 18:42:49 +02:00
Dave Airlie
7ead1c5d06 r500: add missing brackets around depth testing 2008-06-02 07:18:21 +10:00
Corbin Simpson
915e49e0fd r5xx: Enable depth write emission.
Thanks to nh for the r3xx version.
2008-06-01 11:45:30 -07:00
Nicolai Haehnle
c9ea62444c r300: Writing to result.depth in fragment programs (R3xx; only stub for R5xx)
Setup fg_depth_src for depth writing programs and change early Z (ztop)
semantics.

Piglit's version of glean/fragprog test passes now (unlike Glean, its
dependency on EXT_fog_coord, which we don't support, is optional).

R3xx only at the moment, but should be straightforward to adapt to R5xx
(I don't own an R5xx, and I don't want to break anything.)
2008-06-01 19:59:42 +02:00
Nicolai Haehnle
d9c7c5f071 [r300] Fix KIL instruction and swizzling of texture coordinates
The KIL instruction only works if at least one texture unit is enabled
in hardware.

Texture instructions do not support swizzles, negations etc. natively,
so we now emit an explicit swizzling etc. operation when the texture coordinate
requires it.

This fixes the Piglit fp-kil test.
2008-06-01 13:23:53 +02:00
Corbin Simpson
3225e2cdb6 r5xx: Add OPCODE_FLR.
Why didn't anybody tell me we were missing this one? I thought I committed it ages ago!
2008-06-01 03:23:00 -07:00
Corbin Simpson
9a34c68faf r5xx: Last emit_sop() for now.
This should also clean up LIT later on.
2008-05-31 22:41:54 -07:00
Corbin Simpson
bffa0909cb r5xx: More emit_sop(), stage 2.
SIN/COS.
2008-05-31 22:23:11 -07:00
Corbin Simpson
ea58dceb1c r5xx: Cleanup SOP with emit_sop().
I wish I had a snarky commit message, but I'll save that for after I get the
trig working with this.
2008-05-31 22:09:38 -07:00
Corbin Simpson
c9679ce1d2 r5xx: Dump shader constants when dumping program assembly. 2008-05-31 20:48:15 -07:00
Dave Airlie
7013eecf28 r300: disable the lowimpact fallbacks by default.
because really we should be able to just fix the driver.
2008-06-01 09:32:55 +10:00
Markus Amsler
a947c1a3fe r500: Use 8bit fog alpha compare value.
This fixes transparency issues on r500 by enabling
backwards compatibility with the r300 alpha compare value.
2008-05-31 03:10:21 +02:00
Eric Anholt
fccc427aac [intel-gem] Remember last offset of reused BOs to avoid more kernel relocs.
This is good for about 5% on ipers on 965, and should help any cpu-bound app.
2008-05-30 15:12:48 -07:00
Luc Verhaegen
4a69c4173d Fix segfault on exit in unichrome driver (bug 16150) 2008-05-29 11:00:06 -06:00
Brian Paul
ef56a563a1 undo prev change to this VC7 project file
Meant to update the VC8 project file.
2008-05-29 10:46:39 -06:00
Karl Schultz
1190261c47 added prog_uniform.[ch] 2008-05-29 10:43:48 -06:00
Brian Paul
645c131264 Assorted Windows fixes (Karl Schultz) 2008-05-29 10:42:02 -06:00
Brian Paul
a1a0e51043 Use the GLuint64EXT type defined by GL_EXT_timer_query
Removes some compiler #ifdef stuff.
2008-05-29 10:42:02 -06:00
Dennis Kasprzyk
328621509f R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer. 2008-05-29 11:25:21 +02:00
Dennis Kasprzyk
377016d728 Report correct damage rectangle in CopySubBuffer. 2008-05-29 11:24:16 +02:00
Keith Packard
d8395f9d9e [intel-gem] Once mapped, leave buffers mapped.
Mapping and unmapping buffers is expensive, and having the map around isn't
harmful (other than consuming address space). So, once mapped, just leave
buffers mapped in case they get re-used.
2008-05-28 23:28:46 -07:00
Markus Amsler
74a217fbcd r300: fix R300_FG_ALPHA_FUNC_VAL_MASK 2008-05-29 02:14:26 +02:00
Brian Paul
5adc763898 updated function list 2008-05-28 09:06:28 -06:00
Brian Paul
5429d4a04a replace make with $(MAKE) (bug 16133) 2008-05-28 08:53:53 -06:00
Dave Airlie
3e6c791390 r300: disable cmdbuf debug again 2008-05-28 10:23:25 +10:00
Dave Airlie
261a15cf63 Merge branch 'r500-support'
Bring in all the r500 3D code into master should be as stable as the r300
code it is landing on top off.

Conflicts:

	src/mesa/drivers/dri/r300/r300_reg.h
	src/mesa/drivers/dri/r300/r300_state.c
	src/mesa/drivers/dri/radeon/radeon_screen.c
2008-05-28 10:20:14 +10:00
Dave Airlie
85af4fde7f r500: remove warnings and only start on newer drms.
This removes lots of warnings to the user, and only allows the driver
to run on > .29 drms for r500 cards.
2008-05-28 10:11:41 +10:00
Alex Deucher
867f5aac53 R3/4/5xx: update to use drm get_param for num gb pipes 2008-05-28 10:11:14 +10:00
Dave Airlie
5552500cdf r500: cleanup warnings and include files 2008-05-28 10:03:10 +10:00
Corbin Simpson
8c39e24ec3 r5xx: Add OPCODE_XPD. In working condition, I might add.
And we're officially finished with the ARB_fragment_program
instruction set. It's worth noting that LIT is still not reliable.
SIN and COS were fixed a few commits ago. We're finished with stage 1!
Whoohoo!
2008-05-27 02:12:10 -07:00
Corbin Simpson
a242b331c6 r5xx: Just a few small LIT fixes.
Still broken; will fix tomorrow.
2008-05-27 01:36:25 -07:00
Corbin Simpson
9412aee4dc r5xx: Fix emit_mov() regression.
Specifically, fix improper swizzling.
2008-05-27 01:36:25 -07:00
Dave Airlie
eee53dfb22 r500: the cs is shared per context - doh so don't use for program upload.
Also remove some unused bits of the r500 fragprog struct
2008-05-27 18:15:14 +10:00
Dave Airlie
7278266612 r500: need to re-setup inst offset/end for translated programs
this fixes texenv
2008-05-27 17:39:35 +10:00
Dave Airlie
774b3bc5a5 r500: reset fp/fp_const counts 2008-05-27 17:11:04 +10:00
Dave Airlie
4af22c9076 r300/r500: emit flush inside vap_cntl state atom
Not sure if this is a good or bad plan, it certainly doesn't make things worse here.
2008-05-27 17:08:03 +10:00
Dave Airlie
8eb7df6302 r500: hopefully fix 4096 texture harder 2008-05-27 15:29:39 +10:00
Corbin Simpson
b5372746ff r5xx: Fix FP temp counting.
One of the ref counters wasn't being added to the temp counter.
Yet another product of late-night coding...
2008-05-26 22:12:24 -07:00
Dave Airlie
9f03e93de9 r500: remove debugging 2008-05-27 12:46:44 +10:00
Dave Airlie
7b88f40116 r300/r500: fix r500 fragment program texture unit references 2008-05-27 12:45:15 +10:00
Dave Airlie
5a5ba35069 r500: initial support for tmu mappings 2008-05-27 10:59:42 +10:00
Corbin Simpson
b57ba7c5b0 r5xx: Enhance emit_mov().
Now we can add arbitrary sources and swizzles. Will make many things smoother.
2008-05-26 16:00:05 -07:00
Corbin Simpson
5499685931 r5xx: Moar LIT.
Still not working, but getting closer.
2008-05-26 15:18:41 -07:00
Corbin Simpson
a2db33219d r5xx: First stab at LIT. 2008-05-26 12:35:39 -07:00
Keith Packard
924eaa2f95 [intel] all flushing in intelEmitCopyBlit
Add both MI_FLUSH and intel_batchbuffer_flush to intelEmitCopyBlit.
This ensures that the data are flushed *and* the gem kernel driver sees the
various memory domain transitions.
2008-05-26 00:19:20 -07:00
Corbin Simpson
21b352bb14 Replace copyright on r500_fragprog.c
Huh, could have sworn I already did this once before...
Maybe I forgot to commit it?
2008-05-25 22:50:00 -07:00
Keith Packard
8ba91b4636 [intel] Enable buffer re-use for gem
Use the new DRM_IOCTL_I915_GEM_BUSY ioctl to detect
idle buffers for re-use.
2008-05-25 20:50:01 -07:00
Corbin Simpson
27d8fcd506 r5xx: Unbreak texture swizzling. 2008-05-25 19:53:48 -07:00
Corbin Simpson
f776f693c0 r5xx: Massive MAD cleanup.
Common uses of MAD now use emit_mad(), the two common negation masks work,
and fixed a few off-by-one errors.
2008-05-25 11:46:16 -07:00
Corbin Simpson
594760148c r5xx: Negation masks for every inst except SWZ.
Yay?
2008-05-25 11:35:54 -07:00
Corbin Simpson
bd74d2aa26 r5xx: More emit_alu().
Converted ADD.
2008-05-25 11:35:20 -07:00
Corbin Simpson
810270ad11 r5xx: Add emit_mad() for FP.
If it uses MAD, emit it with emit_mad()!
(Now available at your local grocer's. Multiply and add responsibly.)
2008-05-25 11:07:51 -07:00
Corbin Simpson
f1d04cd766 r5xx: Consolidate FP tex insts.
They're all the same, really.
2008-05-24 11:30:57 -07:00
Corbin Simpson
b6b5190682 r5xx: Fix SGE/SLT. 2008-05-24 10:25:22 -07:00
Corbin Simpson
6f918a9fda r5xx: Remove some debugging cruft. 2008-05-24 10:25:22 -07:00
Dave Airlie
af77de66d9 r500: missed a couple of inst4s. 2008-05-24 18:18:18 +10:00
Dave Airlie
e9031d6f63 r500: add depth output write
Not sure how well this works yet, but we need to set the alpha to w_omask
2008-05-24 18:12:26 +10:00
Eric Anholt
200fd13d4a Remove stale comment about glFlush().
We don't need an MI_FLUSH there, because everything that's been flushed in the
batch will eventually hit the hardware.
2008-05-23 12:43:05 -07:00
Eric Anholt
a74bf4ef34 Emit a flush after the swapbuffers blit, so contents end up on the screen.
Otherwise, since the MI_FLUSH at the end of every batch had been removed,
non-automatic-flushing chips (965) wouldn't get flushed and apps with static
rendering would get partial screen contents until the server's blockhandler
flush kicked in.
2008-05-23 12:18:50 -07:00
Corbin Simpson
9ab7a2df03 r5xx: Clean up some compiler warnings. 2008-05-23 00:18:14 -07:00
Corbin Simpson
30e61500e1 r5xx: Move dumb_shader.
Was getting ticked having to scroll around it, lawl.
2008-05-23 00:18:14 -07:00
Corbin Simpson
34010bcc91 r5xx: Add OPCODE_DST.
Works completely, swizzles and everything.
2008-05-23 00:18:14 -07:00
Corbin Simpson
d4e93864b8 r5xx: More trig work.
SCS now works. COS/SIN have slight issues still.
2008-05-23 00:18:14 -07:00
Eric Anholt
6cefae5354 Add back a mostly-correct glFinish for GEM and fake.
The right solution would probably be keeping a list of regions which have been
rendered to.
2008-05-22 10:46:58 -07:00
Keith Packard
76286bc76c [intel-gem] Make sure set_domain is called often enough.
The write_domain needs to be set after any batch buffer uses an object,
track when that happens in the new 'cpu_domain_set' field.
2008-05-22 10:44:47 -07:00
Dave Airlie
a01816da59 r500: bump state atom size up for fp and fp constants 2008-05-22 17:09:58 +10:00
Corbin Simpson
4f9dcdc35b r5xx: Fixed LRP.
Works perfectly. It's a complex one, though, so it might fail in weird ways...
2008-05-21 23:35:43 -07:00
Corbin Simpson
0dfbe9cdd7 r5xx: Change debug info for readability.
It's weird seeing the compiled program before the assembly, that's all.
2008-05-21 23:33:13 -07:00
Corbin Simpson
d06f4edb14 r5xx: Initial (broken) OPCODE_LRP.
Will compile, run, and not eat your kids, but the math is wrong.
2008-05-21 13:51:32 -07:00
Corbin Simpson
1e2907f170 r5xx: Add OPCODE_POW.
Necessary for Google Earth, among other things.
2008-05-21 08:24:28 -07:00
Dave Airlie
bb57c30a53 r500: print out opcode string 2008-05-21 16:00:18 +10:00
Dave Airlie
b453b0e2e1 r500: set the RS unit register for R500 not R300 dangnammit..
So this appears to be my BUG. damn it to hell.

also fix sec color to be more like spec says.
2008-05-21 12:14:42 +10:00
Dave Airlie
9ec2b1c83f r500: finish main texture instruction decoding 2008-05-21 10:49:26 +10:00
Corbin Simpson
2bda1a9502 r5xx: Count refs so we don't have to guess on temp reg allocation.
As a bonus, we can now have multiple temp temps, by slot.
2008-05-20 09:47:50 -07:00
Corbin Simpson
94994b13c5 r5xx: Fixup SOP insts.
Use the correct swizzle for alpha/SOP stuff.
2008-05-19 23:56:53 -07:00
Corbin Simpson
78fa506059 r5xx: New fix for COS/SIN/SCS.
Not perfect yet, but getting better.
2008-05-19 23:56:53 -07:00
Dave Airlie
f0d76d526b r300/r500: fixup some of the register write sizes 2008-05-20 16:30:36 +10:00
Dave Airlie
2005de48f9 r300: some ctrl-m's wierd. 2008-05-20 16:02:19 +10:00
Dave Airlie
282cdc8b5c r300/r500: fix RS col fmt bits 2008-05-20 15:59:56 +10:00
Corbin Simpson
476248befe r5xx: Fixup emit_tex, add debugging info, enable temp temps.
emit_tex now chases itself with an OUT if needed.
Added airlied's dump_program, with some fixes.
2008-05-19 11:06:41 -07:00
Dave Airlie
03b3fed8f1 r500: add more input srcs 2008-05-19 21:58:28 +10:00
Dave Airlie
ac315792bf r500: fix swz gets and some returns 2008-05-19 21:40:40 +10:00
Dave Airlie
60b8e1f524 r500: add mask debugging 2008-05-19 21:11:55 +10:00
Dave Airlie
cddab021e3 r500: add fragment program debug dumper 2008-05-19 20:24:09 +10:00
Corbin Simpson
c60bdcf8a8 r5xx: Fix magic offsets for output fifo write masks.
Well, this sure explains a lot.
2008-05-19 00:00:08 -07:00
Corbin Simpson
2708d7f700 r5xx: Swap sources for CMP.
Follows the same pattern as the op on r3xx/r4xx. Thanks airlied.
2008-05-18 23:52:54 -07:00
Corbin Simpson
a6c38f2f64 r5xx: Fix typo of epic proportions. 2008-05-18 23:35:07 -07:00
Corbin Simpson
2225b9bdb0 r5xx: ALU/OUT fixups.
Lots of small changes. Intentionally breaks some tex stuffs.
2008-05-18 22:38:28 -07:00
Dave Airlie
bdfd5d95c5 r300: fixup US_OUT_FMT bits 2008-05-18 17:58:29 +10:00
Keith Packard
8b49cc104d [intel-gem] Don't calloc reloc buffers
Only a few relocations are typically used, so don't clear the
whole thing.
2008-05-17 23:34:47 -07:00
Dave Airlie
126673261d r500: you can have a single texcoord 2008-05-18 15:25:08 +10:00
Corbin Simpson
0910d9d4d6 r5xx: Add OPCODE_KIL. 2008-05-17 13:38:35 -07:00
Corbin Simpson
c57b3b1d2c r5xx: Added OPCODE_DPH.
Like DP4, but with one swizzle change.
2008-05-17 12:45:46 -07:00
Corbin Simpson
6dd3c0ed96 r5xx: Fix FRC.
This makes tri-frc work.
(Remind me again why I'm allowed near a compiler, lawl.)
2008-05-17 09:27:35 -07:00
Corbin Simpson
16cc362f0b r5xx: Fix SCS.
Output instructions need to be marked OUT so they can write to the fifo.
Also, negation doesn't work with SWZ yet.
2008-05-17 07:12:38 -07:00
Corbin Simpson
c11a33fe76 r5xx: Add OPCODE_SWZ.
It's so easy!
2008-05-17 07:12:37 -07:00
Corbin Simpson
d5aa421661 r5xx: Add OPCODE_SCS.
It's disabled, though, because it doesn't work. I'll figure it out later...
2008-05-17 07:12:37 -07:00
Corbin Simpson
405ee871c5 r5xx: Adding more opcodes.
EX2, FRC, LG2, SIN, RCP, and RSQ, if you care.
All of these except FRC are like COS. This pretty much rounds out the set of
opcodes which can be done in one ALU inst.
2008-05-17 07:12:37 -07:00
Corbin Simpson
0de02f1716 r5xx: First swing at OPCODE_COS. 2008-05-17 07:12:37 -07:00
Corbin Simpson
d8529d9b00 r5xx: Unbreak MAX and MIN.
Both of them had faulty copypasta.
2008-05-17 07:12:37 -07:00
Dave Airlie
5e075fb809 r500: set fragprog end to correct place 2008-05-17 13:31:14 +10:00
Alex Deucher
ba50c3fed3 r300: SC register naming cleanup 2008-05-17 10:40:47 +10:00
Alex Deucher
791c95230c r500: write out the correct FP registers 2008-05-17 10:29:52 +10:00
Dave Airlie
d6333af7e9 r500: default rsunit swizzle like fglrx 2008-05-15 20:38:41 +10:00
Dave Airlie
9aa62c7238 r500: shift tex src properly 2008-05-15 18:40:07 +10:00
Dave Airlie
76f32499d2 r500: fixup r500 rs unit texture coordinate counting 2008-05-15 18:40:07 +10:00
Dave Airlie
a0bc6d2fb2 r500: remove some debugging 2008-05-15 18:40:07 +10:00
Dave Airlie
73af48fff5 r500: split output/pixel masks and emit in the correct places 2008-05-15 18:40:07 +10:00
Dave Airlie
c9d5d11d2d r3/500: emit RS state before VAP 2008-05-15 18:40:07 +10:00
Dave Airlie
412c850eab r500: fixup the program allocations to be the correct sizes 2008-05-15 18:40:07 +10:00
Dave Airlie
350c80fa99 r300: set screen so that context init can find out chip ids 2008-05-15 18:40:07 +10:00
Dave Airlie
e1bffd0318 r500: add cmp support in theory 2008-05-15 18:40:07 +10:00
Dave Airlie
10e0a36a49 r500: some trivial fixups to get tri working.
the counter was being used one instruction over the end
2008-05-15 18:40:07 +10:00
Dave Airlie
375656440b r500: we just need to emit a colour for clear drop tex instruction 2008-05-15 18:40:07 +10:00
Alex Deucher
f86baae1a7 R300: clean up GA registers 2008-05-13 16:12:57 -04:00
Alex Deucher
de3fc8b1c4 R3xx: clean up ZB registers 2008-05-13 15:46:23 -04:00
Alex Deucher
c5b7a1ee3c R300: clean up CB registers 2008-05-13 14:32:30 -04:00
Eric Anholt
cba90d4a77 [GEM] Actually include the presumed offset in initial relocations.
This avoids kernel relocations for most batchbuffer relocs.
2008-05-13 11:30:18 -07:00
Alex Deucher
8d70181b03 R300: clean up Fog registers 2008-05-13 14:02:29 -04:00
Alex Deucher
d09aa2138b R500: fixup r300EmitClearState() FP for r5xx 2008-05-13 13:38:30 -04:00
Alex Deucher
9ef4126d48 R300: cleanup FS code and fill in missing details 2008-05-13 08:37:58 -04:00
Alex Deucher
0cc8ed5ccc R3xx: more PVS cleanup 2008-05-13 06:09:55 -04:00
Alex Deucher
e000f2ab6e Merge branch 'r500-support' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r500-support 2008-05-12 11:58:35 -04:00
Alex Deucher
2a4d1085cb R500: add support for 4k textures 2008-05-12 11:57:08 -04:00
Keith Packard
145523ba3a [intel] update GEM api. Add bo_subdata and bo_get_subdata driver hooks.
Track DRM GEM name changes.
Add driver hooks for bo_subdata and bo_get_subdata so that GEM can use pread
and pwrite.
2008-05-11 00:16:25 -07:00
Keith Packard
0cb006c1fd [intel-gem] move domains to relocations. add set_domain to bo_map.
Fix the kernel API to place the read/write domain information in the
relocation instead of the buffer.
2008-05-08 10:38:55 -07:00
Keith Packard
fda5687241 [intel] intel_batchbuffer_flush using uninit 'used' to check for buffer empty
Make sure 'used' tracks the right value through the whole function.
Also, use GLint for intel_batchbuffer_space in case we do bad things
in the future.
2008-05-08 10:37:23 -07:00
Keith Packard
68a9161832 Merge commit 'anholt/drm-gem' into drm-gem 2008-05-07 20:20:26 -07:00
Eric Anholt
ead798eb10 GEM: Remove already-disabled PIPE_CONTROL command.
This existed to get the icache flushed.  However, GEM handles this for us
now for sure, and we had disabled it prematurely anyway.
2008-05-07 14:01:18 -07:00
Eric Anholt
ab50ddaa91 GEM: Make dri_emit_reloc take GEM domain flags instead of TTM flags.
The GEM flags are much more descriptive for what we need.  Since this makes
bufmgr_fake rather device-specific, move it to the intel common directory.
We've wanted to do device-specific stuff to it before.
2008-05-07 13:51:29 -07:00
Eric Anholt
8b2a7f08bc GEM: Don't emit an extra MI_FLUSH in the batch since GEM handles it. 2008-05-07 10:01:14 -07:00
Dave Airlie
3d15280278 r500: cleanup r500 RS setup 2008-05-07 17:48:17 +10:00
Dave Airlie
53a7ccc08b r500: for rectangular textures set to unscaled coordinates. 2008-05-07 17:48:17 +10:00
Corbin Simpson
1da094c9ad r5xx: Fix FP inputs. (For good?)
FP inputs are now counted and mapped correctly, and temps
are allocated tightly and correctly.
2008-05-07 00:06:26 -07:00
Corbin Simpson
49c30ce958 r5xx: Fix false error with DP3/DP4.
DP3/DP4 only takes two arguments, but tried to load three, causing
a false fallback to the dumb shader.
2008-05-06 23:36:50 -07:00
Corbin Simpson
dc24fb51a3 r5xx: Index inputs and temps.
This is not the same as r3xx indexing. It only tries to protect inputs on
the pixel stack from getting clobbered by temps or texs.

Texs don't need special treatment since they read from special input regs
and write to the same temp regs as ALU/FC instructions.
2008-05-06 22:18:28 -07:00
Keith Packard
c75b2d74d8 Merge commit 'anholt/drm-gem' into drm-gem 2008-05-06 22:07:58 -07:00
Keith Packard
a2ec8570ae [intel-GEM] partial support for memory domains.
Doesn't deal with local modifications yet (need new kernel set_domain ioctl
for that to work). Also, guesses what domains are affected based on the
read/write bits set in the flags. Works for 915, probably not so much for
965.
2008-05-06 22:06:41 -07:00
Corbin Simpson
40db59038c r5xx: FP: Add OPCODE_TXB.
Tex lookup with biased LOD. Should magically work.
2008-05-06 18:14:21 -07:00
Corbin Simpson
20baf128ef r5xx: FP: Make MOV/ABS look pretty.
We can't really do anything like emit_alu, so we're doing emit_mov instead.
2008-05-06 17:21:30 -07:00
Eric Anholt
42d4f89264 GEM: Fix previous commit to avoid asserting when we run into reserved space.
These are the dwords that the reserved space is for.
2008-05-06 15:25:51 -07:00
Eric Anholt
96f52f089f GEM: Don't emit an extra MI_FLUSH in the batch since GEM handles it. 2008-05-06 13:57:08 -07:00
Corbin Simpson
1562dd2c26 r5xx: Emit an OUT instruction at the end of execution.
This should make TEX/TXP work right. (Note: "Should" is not "does.")
2008-05-06 12:44:53 -07:00
Corbin Simpson
fa465fb2b1 r5xx: We update max_temp_idx now, so no need to hard-code it.
This roughly doubles the speed of glxgears (GINAB) by allowing
more pixels to run concurrently.
2008-05-06 12:42:40 -07:00
Corbin Simpson
171ba1d0d1 r5xx: Fix typo.
Gotta be more careful with my cut'n'paste, lawl.
2008-05-06 12:18:07 -07:00
Corbin Simpson
06e2e1b87c r5xx: Use max_temp_idx. 2008-05-06 12:03:28 -07:00
Keith Packard
537bbe6dec [intel-GEM] Add tiling support to swrast.
Accessing tiled surfaces without using the fence registers requires that
software deal with the address swizzling itself.
2008-05-06 10:51:08 -07:00
Keith Packard
df4b49c2ce Dump buffer tiled status from intelPrintSAREA 2008-05-05 22:08:05 -07:00
Eric Anholt
e9a2a67745 GEM: Allocate the right number of relocs, avoiding heap smashing. 2008-05-05 15:45:15 -07:00
Eric Anholt
1decab06d1 GEM: Include target buffer handle in relocation debug. 2008-05-05 15:44:49 -07:00
Eric Anholt
01d1a292bf GEM: Set validate index to keep the same buffer from being duped on the list. 2008-05-05 14:20:18 -07:00
Eric Anholt
be59d52ca0 Print GEM handles instead of BO pointers in debugging.
small integers are much prettier, and let me correlate to DRM debug output.
2008-05-05 14:15:40 -07:00
Eric Anholt
5290ec4756 Initialize bufmgr_gem->validate_array[i].offset.
This is just cosmetic, to produce less scary values when the ioctl fails and
doesn't return values there.
2008-05-05 13:45:45 -07:00
Eric Anholt
1f810b85b1 Make intel_{batch,exec}_ioctl return an error code so we can recover better. 2008-05-05 13:40:50 -07:00
Keith Packard
87ccc03736 Add intel_bufmgr_gem.c to i915 2008-05-05 10:46:27 -07:00
Keith Packard
367b1e35dc Temporarily disable intel pixel ops on i915 for GEM
Instead of attempting to fix these for GEM, just disable until GEM is
working.
2008-05-05 10:45:30 -07:00
Dave Airlie
66a49df9cb r500: consolidate tex instructions
you cannot change a tex into an output so this means we have to actually
do another instruction after this one to mov if its an output
2008-05-05 18:42:27 +10:00
Dave Airlie
697680d687 r500: mov cleanup macros 2008-05-05 18:15:40 +10:00
Dave Airlie
3816ae9ce8 r500: make tri-param work
This makes constant work which are 32-bit on r500 unlike r300.

Switch MOV to using MAD no idea if we might have negative things MAX 0,-5 is
likely to do the wrong thing..
2008-05-05 18:05:59 +10:00
Dave Airlie
1f420b008b r500: make sure we emit max temp atom.
We don't appear to update max_temp_idx yet anywhere though
2008-05-05 16:41:07 +10:00
Dave Airlie
66a5562ce2 r300: fix swtcl texrect path properly.
We really need to update the shader state so the texrect parameters work.

This should fix compiz looking crappy on rs480 and rs690
2008-05-05 23:49:50 +10:00
Markus Amsler
63503f2848 r300: Set correct VAP_CNTL per vertex program.
adapted from Markus' patch on bug 15386 with updates for non-TCL
and R500.
2008-05-03 12:55:45 -04:00
Corbin Simpson
b79a769b2d r5xx: Fix for loops.
Thanks to dli in IRC for pointing this out.
2008-05-03 09:09:57 -07:00
Corbin Simpson
4ef195a369 r5xx: Fix dumb shader.
For some reason, FGLRX doesn't actually set R500_US_INST_TEX.
Let us not make that same mistake.
2008-05-03 09:08:07 -07:00
Corbin Simpson
0f07e0aea3 Merge branch 'r500test' of git://people.freedesktop.org/~csimpson/mesa into r500-support 2008-05-03 08:39:15 -07:00
Dave Airlie
a03e261193 r300: remove debugging code 2008-05-04 04:17:15 +10:00
Dave Airlie
d3eb5df259 r300: setup vte according to inputs 2008-05-04 04:13:56 +10:00
Dave Airlie
37924cf175 r300: update r300 rs unit for swtcl need to fix r500 most likely 2008-05-03 22:08:11 +10:00
Dave Airlie
cea4f1464b r300: recombine the vap input route 0 code and clean
This gets non-tcl cards working again on this branch..

at least texrect and glxgears
2008-05-03 21:31:47 +10:00
Dave Airlie
026ef8111a r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards 2008-05-03 21:31:22 +10:00
Corbin Simpson
e081603850 Merge branch 'r500-support' into r500test
Bringing the FPS code up-to-date.
Conflicts:

	src/mesa/drivers/dri/r300/r300_emit.c
	src/mesa/drivers/dri/r300/r300_ioctl.c
	src/mesa/drivers/dri/r300/r300_state.c
	src/mesa/drivers/dri/r300/r300_swtcl.c
	src/mesa/drivers/dri/r300/r500_fragprog.c
	src/mesa/drivers/dri/r300/r500_fragprog.h
2008-05-02 20:49:13 -07:00
Eric Anholt
81ec0545c9 Don't forget to set handle of shared buffers.
(And fix a nearby whitespace nit)
2008-05-02 18:25:00 -07:00
Eric Anholt
3d19a095cd Fix GEM execbuf ioctl argument. 2008-05-02 18:24:13 -07:00
Eric Anholt
7349f218b4 Fix to use GEM execbuf instead of TTM. 2008-05-02 17:13:45 -07:00
Eric Anholt
ef33e76ceb Minor fixups to get GEM to the point of execbuf ioctl. 2008-05-02 17:00:47 -07:00
Corbin Simpson
568d369d77 Merge branch 'r345-cleanup' of git://people.freedesktop.org/~agd5f/mesa into r500test
Adding Alex's cleanup patches. This adds r5xx TCL! Whoo-hoo!
Conflicts:

	src/mesa/drivers/dri/r300/r300_state.c
	src/mesa/drivers/dri/radeon/radeon_chipset.h
	src/mesa/drivers/dri/radeon/radeon_screen.c
2008-05-02 15:57:57 -07:00
Corbin Simpson
92a0e93ac3 Make radeon stuff build again.
Yet more evidence that I am incompetent with git.
2008-05-02 15:33:02 -07:00
Eric Anholt
eb10cdc838 [intel] Fix build for GEM. TTM is now disabled, and fencing is gone.
Fencing was used in two places: ensuring that we didn't get too many frames
ahead of ourselves, and glFinish.  glFinish will be satisfied by waiting on
buffers like we would do for CPU access on them.  The "don't get too far ahead"
is now the responsibility of the execution manager (kernel).
2008-05-02 14:11:19 -07:00
Eric Anholt
89bba44e96 Add intel_bufmgr_gem for new graphics execution manager. 2008-05-02 12:58:25 -07:00
Alex Deucher
ae09292a6e R300: fix rebase conflicts 2008-05-02 15:20:28 -04:00
Corbin Simpson
9a82fde43a Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r500test
Conflicts:

	src/mesa/drivers/dri/r300/r300_cmdbuf.c
	src/mesa/drivers/dri/r300/r300_ioctl.c
	src/mesa/drivers/dri/r300/r300_state.c
	src/mesa/drivers/dri/r300/r500_fragprog.c
	src/mesa/drivers/dri/r300/r500_fragprog.h
	src/mesa/drivers/dri/radeon/radeon_chipset.h
	src/mesa/drivers/dri/radeon/radeon_screen.c
2008-05-02 12:15:44 -07:00
Alex Deucher
9e7ae34da5 R3/4/5: fix TCL on r5xx, cleanup PVS code 2008-05-02 15:13:49 -04:00
Alex Deucher
a94cd0d774 R300: fix VAP_OUTPUT_VTX_FMT_1 defines 2008-05-02 15:13:49 -04:00
Alex Deucher
d5448ceb95 R300: cleanup VAP_CLIP_CNTL 2008-05-02 15:13:49 -04:00
Alex Deucher
e61dadf3de R300: clean up VAP_PROG_STREAM_CNTL* register usage 2008-05-02 15:13:49 -04:00
Alex Deucher
2bd26f4afa Update comment 2008-05-02 15:13:49 -04:00
Alex Deucher
e3721a3b3f R5xx: various updates
- fixup VAP_CNTL setup
- remove extra instruction in r5xx passthrough shader
- add notes about pipe config
2008-05-02 15:13:48 -04:00
Alex Deucher
831fc138c1 R5xx: Add R5xx pci ids 2008-05-02 15:13:48 -04:00
Dave Airlie
28904e54d2 fixup r500 bits for renaming 2008-05-02 15:13:48 -04:00
Dave Airlie
de9c1c3627 r500: fixup fake shader to keep gears going 2008-05-02 15:13:48 -04:00
Dave Airlie
fbab11e9b0 r500: enable gb tiling for r5xx 2008-05-02 15:13:48 -04:00
Dave Airlie
6864220c28 r500: fixup support for emitting fragment program to hardware.
Also fixup the constant emission

this breaks glxgears from what I can see but its another step to correctness
2008-05-02 15:13:48 -04:00
Dave Airlie
3b7c5bfb98 r500: setup fragment program constant emission atom 2008-05-02 15:13:48 -04:00
Dave Airlie
6443da0865 r300: add rv530 pci id for the t60p laptop 2008-05-02 15:13:48 -04:00
Dave Airlie
c07534dc71 r300: this code really shouldn't be here.
For R500 just ignore it for now while I do something interesting like
run glxgears.
2008-05-02 15:13:48 -04:00
Dave Airlie
c0cb9bc84c mesa: cleanup state emission and rs for r500
trivial clear app now renders
2008-05-02 15:13:48 -04:00
Dave Airlie
a453b3154e r500 RS unit setup 2008-05-02 15:13:47 -04:00
Dave Airlie
ed1584aed8 more r500 vs r300 kickin 2008-05-02 15:13:47 -04:00
Dave Airlie
5a143e91dc some basic r500 portage 2008-05-02 15:12:37 -04:00
Dave Airlie
8aa98a409b r500: fragprog 2008-05-02 15:11:03 -04:00
Corbin Simpson
b15c49e59b r5xx: Fragprog shader now handles TEX/TXP correctly. 2008-05-02 12:06:21 -07:00
Corbin Simpson
029cb1fd0f Start of TEX/TXP support.
Still having problems with temps and consts, though...
2008-05-02 12:06:21 -07:00
Corbin Simpson
b5246de562 Added OPCODE_ABS, slightly fixed ADD/SUB 2008-05-02 12:06:21 -07:00
Corbin Simpson
6e96ea535a Initial r5xx fragment program compiler support.
Includes fallback shader and a handful of working opcodes.
2008-05-02 12:06:21 -07:00
Corbin Simpson
c02d1863d1 Add chip id 71D5 (RV530 M66) to radeon_chipset.h 2008-05-02 12:06:21 -07:00
Dave Airlie
d06e61aa80 fixup r500 bits for renaming 2008-05-02 12:06:21 -07:00
Dave Airlie
a3996ba2d1 r500: fixup fake shader to keep gears going 2008-05-02 12:06:21 -07:00
Dave Airlie
8e33a83b68 r500: enable gb tiling for r5xx 2008-05-02 12:06:21 -07:00
Dave Airlie
70335540c6 r500: fixup support for emitting fragment program to hardware.
Also fixup the constant emission

this breaks glxgears from what I can see but its another step to correctness
2008-05-02 12:06:21 -07:00
Dave Airlie
14c3bdb3f7 r500: setup fragment program constant emission atom 2008-05-02 12:06:21 -07:00
Dave Airlie
e46c3d7bcf r300: add rv530 pci id for the t60p laptop 2008-05-02 12:06:21 -07:00
Dave Airlie
99e75135ee r300: this code really shouldn't be here.
For R500 just ignore it for now while I do something interesting like
run glxgears.
2008-05-02 12:06:21 -07:00
Dave Airlie
9d9f66cc8d mesa: cleanup state emission and rs for r500
trivial clear app now renders
2008-05-02 12:06:21 -07:00
Dave Airlie
a87914993d r500 RS unit setup 2008-05-02 12:06:21 -07:00
Dave Airlie
55418dc87d more r500 vs r300 kickin 2008-05-02 12:06:21 -07:00
Dave Airlie
2ffa112ed3 some basic r500 portage 2008-05-02 12:05:28 -07:00
Dave Airlie
cd66f0e2d9 r500: fragprog 2008-05-02 12:04:04 -07:00
Alex Deucher
1226aba119 R3/4/5: fix TCL on r5xx, cleanup PVS code 2008-05-02 13:56:56 -04:00
Alex Deucher
25d9f2dd24 R300: fix VAP_OUTPUT_VTX_FMT_1 defines 2008-05-02 13:03:48 -04:00
Alex Deucher
734ef96d5f R300: cleanup VAP_CLIP_CNTL 2008-05-02 12:48:39 -04:00
Alex Deucher
db1fc51ccc R300: clean up VAP_PROG_STREAM_CNTL* register usage 2008-05-02 12:29:40 -04:00
Alex Deucher
45077fc323 Update comment 2008-05-02 10:54:20 -04:00
Alex Deucher
279ea105d8 R5xx: various updates
- fixup VAP_CNTL setup
- remove extra instruction in r5xx passthrough shader
- add notes about pipe config
2008-05-02 10:51:40 -04:00
Alex Deucher
f25b37c1da R5xx: Add R5xx pci ids 2008-05-01 16:02:58 -04:00
Alex Deucher
44791e2d78 Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r345-cleanup 2008-05-01 14:51:26 -04:00
Dave Airlie
eff6f12032 fixup r500 bits for renaming 2008-04-16 20:42:15 +10:00
Dave Airlie
09df5eaff2 Merge branch 'master' into r500test
Conflicts:

	src/mesa/drivers/dri/r300/r300_cmdbuf.c
	src/mesa/drivers/dri/r300/r300_ioctl.c
2008-04-16 20:25:08 +10:00
Dave Airlie
9566cf0e2f r500: fixup fake shader to keep gears going 2008-03-22 11:00:25 +10:00
Dave Airlie
4feac4e40e r500: enable gb tiling for r5xx 2008-03-22 10:56:48 +10:00
Dave Airlie
583ed4bde3 r500: fixup support for emitting fragment program to hardware.
Also fixup the constant emission

this breaks glxgears from what I can see but its another step to correctness
2008-03-22 10:55:32 +10:00
Dave Airlie
3eb8e5871f r500: setup fragment program constant emission atom 2008-03-21 17:05:29 +10:00
Dave Airlie
ed18005a99 r300: add rv530 pci id for the t60p laptop 2008-03-20 14:34:04 +10:00
Dave Airlie
d019f101e8 r300: this code really shouldn't be here.
For R500 just ignore it for now while I do something interesting like
run glxgears.
2008-03-20 14:30:59 +10:00
Dave Airlie
2b8e422b31 mesa: cleanup state emission and rs for r500
trivial clear app now renders
2008-03-20 14:21:10 +10:00
Dave Airlie
9e6e4ae49a r500 RS unit setup 2008-03-20 13:57:22 +10:00
Dave Airlie
57028236c8 more r500 vs r300 kickin 2008-03-19 16:29:11 +10:00
Dave Airlie
1c71ec4d45 some basic r500 portage 2008-03-17 21:09:49 +10:00
Dave Airlie
5da8289e9c r500: fragprog 2008-03-17 19:05:44 +10:00
1484 changed files with 72517 additions and 75867 deletions

View File

@@ -174,10 +174,10 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-7.1-rc1
LIB_NAME = MesaLib-7.1-rc1
DEMO_NAME = MesaDemos-7.1-rc1
GLUT_NAME = MesaGLUT-7.1-rc1
DIRECTORY = Mesa-7.3-rc3
LIB_NAME = MesaLib-7.3-rc3
DEMO_NAME = MesaDemos-7.3-rc3
GLUT_NAME = MesaGLUT-7.3-rc3
MAIN_FILES = \
$(DIRECTORY)/Makefile* \
@@ -192,6 +192,7 @@ MAIN_FILES = \
$(DIRECTORY)/bin/install-sh \
$(DIRECTORY)/bin/mklib \
$(DIRECTORY)/bin/minstall \
$(DIRECTORY)/bin/version.mk \
$(DIRECTORY)/configs/[a-z]* \
$(DIRECTORY)/docs/*.html \
$(DIRECTORY)/docs/COPYING \
@@ -199,9 +200,7 @@ MAIN_FILES = \
$(DIRECTORY)/docs/RELNOTES* \
$(DIRECTORY)/docs/*.spec \
$(DIRECTORY)/include/GL/internal/glcore.h \
$(DIRECTORY)/include/GL/amesa.h \
$(DIRECTORY)/include/GL/dmesa.h \
$(DIRECTORY)/include/GL/fxmesa.h \
$(DIRECTORY)/include/GL/ggimesa.h \
$(DIRECTORY)/include/GL/gl.h \
$(DIRECTORY)/include/GL/glext.h \
@@ -216,19 +215,15 @@ MAIN_FILES = \
$(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/gl.pc.in \
$(DIRECTORY)/src/mesa/osmesa.pc.in \
$(DIRECTORY)/src/mesa/depend \
$(DIRECTORY)/src/mesa/main/*.[chS] \
$(DIRECTORY)/src/mesa/main/descrip.mms \
@@ -257,6 +252,7 @@ MAIN_FILES = \
$(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/Makefile \
$(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
@@ -264,6 +260,7 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile \
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
@@ -273,6 +270,7 @@ MAIN_FILES = \
$(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 \
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
@@ -280,8 +278,11 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
$(DIRECTORY)/src/mesa/drivers/x11/Makefile \
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/glslcompiler/Makefile \
$(DIRECTORY)/src/mesa/drivers/glslcompiler/glslcompiler.c \
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
$(DIRECTORY)/src/mesa/x86/Makefile \
@@ -297,25 +298,19 @@ MAIN_FILES = \
$(DIRECTORY)/vms/analyze_map.com \
$(DIRECTORY)/vms/xlib.opt \
$(DIRECTORY)/vms/xlib_share.opt \
$(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
$(DIRECTORY)/windows/VC8/
DRI_FILES = \
$(DIRECTORY)/include/GL/internal/dri_interface.h \
$(DIRECTORY)/include/GL/internal/dri_sarea.h \
$(DIRECTORY)/include/GL/internal/glcore.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/dri.pc.in \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
@@ -334,6 +329,8 @@ SGI_GLU_FILES = \
$(DIRECTORY)/src/glu/sgi/glu.def \
$(DIRECTORY)/src/glu/sgi/dummy.cc \
$(DIRECTORY)/src/glu/sgi/descrip.mms \
$(DIRECTORY)/src/glu/sgi/glu.exports \
$(DIRECTORY)/src/glu/sgi/glu.exports.darwin \
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
$(DIRECTORY)/src/glu/sgi/include/gluos.h \
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
@@ -389,7 +386,8 @@ DEMO_FILES = \
$(DIRECTORY)/progs/samples/*.c \
$(DIRECTORY)/progs/glsl/Makefile* \
$(DIRECTORY)/progs/glsl/*.c \
$(DIRECTORY)/progs/glsl/*.txt \
$(DIRECTORY)/progs/glsl/*.frag \
$(DIRECTORY)/progs/glsl/*.vert \
$(DIRECTORY)/progs/windml/Makefile.ugl \
$(DIRECTORY)/progs/windml/*.c \
$(DIRECTORY)/progs/windml/*.bmp \

View File

@@ -42,6 +42,8 @@ if [ $# -ge 2 ] ; then
exit 0
fi
PWDSAVE=`pwd`
# determine file's type
if [ -h "$FILE" ] ; then
#echo $FILE is a symlink
@@ -57,7 +59,6 @@ if [ $# -ge 2 ] ; then
FILE=`basename "$FILE"`
# Go to $DEST and make the link
PWDSAVE="$PWD"
cd "$DEST" # pushd
$RM "$FILE"
$SYMLINK "$TARGET" "$FILE"

View File

@@ -43,7 +43,7 @@ ARCH="auto"
ARCHOPT=""
NOPREFIX=0
EXPORTS=""
ID=""
#
# Parse arguments
@@ -61,7 +61,8 @@ do
echo ' -minor N specifies minor version number (default is 0)'
echo ' -patch N specifies patch version number (default is 0)'
echo ' -lLIBRARY specifies a dependency on LIBRARY'
echo ' -LDIR search in DIR for library dependencies'
echo ' -LDIR search in DIR for library dependencies at build time'
echo ' -RDIR search in DIR for library dependencies at run time'
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'
@@ -74,6 +75,7 @@ do
echo ' -altopts OPTS alternate options to override all others'
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
echo ' -exports FILE only export the symbols listed in FILE'
echo ' -id NAME Sets the id of the dylib (Darwin)'
echo ' -h, --help display this information and exit'
exit 1
;;
@@ -107,6 +109,9 @@ do
-L*)
DEPS="$DEPS $1"
;;
-R*)
DEPS="$DEPS $1"
;;
-Wl*)
DEPS="$DEPS $1"
;;
@@ -149,6 +154,10 @@ do
shift 1;
EXPORTS=$1
;;
'-id')
shift 1;
ID=$1
;;
-*)
echo "mklib: Unknown option: " $1 ;
exit 1
@@ -192,6 +201,7 @@ if [ ] ; then
echo PATCH is $PATCH
echo DEPS are $DEPS
echo "EXPORTS in" $EXPORTS
echo ID is $ID
echo "-----------------"
fi
@@ -250,9 +260,31 @@ case $ARCH in
OPTS=${ALTOPTS}
fi
rm -f ${LIBNAME}
# expand any .a objects into constituent .o files.
NEWOBJECTS=""
DELETIA=""
for OBJ in ${OBJECTS} ; do
if [ `expr match $OBJ '.*\.a'` -gt 0 ] ; then
# extract the .o files from this .a archive
FILES=`ar t $OBJ`
ar x $OBJ
NEWOBJECTS="$NEWOBJECTS $FILES"
# keep track of temporary .o files and delete them below
DELETIA="$DELETIA $FILES"
else
# ordinary .o file
NEWOBJECTS="$NEWOBJECTS $OBJ"
fi
done
# make lib
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS}
ranlib ${LIBNAME}
# remove temporary extracted .o files
rm -f ${DELETIA}
# finish up
FINAL_LIBS=${LIBNAME}
else
@@ -267,7 +299,7 @@ case $ARCH in
if [ $EXPORTS ] ; then
#OPTS="${OPTS} -Xlinker --retain-symbols-file ${EXPORTS}"
# Make the 'exptmp' file for --version-script option
echo "VERSION_${MAJOR}.${MINOR} {" > exptmp
echo "{" > exptmp
echo "global:" >> exptmp
sed 's/$/;/' ${EXPORTS} >> exptmp
echo "local:" >> exptmp
@@ -336,7 +368,7 @@ case $ARCH in
# use g++
LINK="g++"
else
echo "mklib: warning: can't find C++ comiler, trying CC."
echo "mklib: warning: can't find C++ compiler, trying CC."
LINK="CC"
fi
else
@@ -365,9 +397,11 @@ case $ARCH in
# Check if objects are SPARC v9
# file says: ELF 64-bit MSB relocatable SPARCV9 Version 1
set ${OBJECTS}
SPARCV9=`file $1 | grep SPARCV9`
if [ "${SPARCV9}" ] ; then
OPTS="${OPTS} -xarch=v9"
if [ ${LINK} = "cc" -o ${LINK} = "CC" ] ; then
SPARCV9=`file $1 | grep SPARCV9`
if [ "${SPARCV9}" ] ; then
OPTS="${OPTS} -xarch=v9"
fi
fi
if [ "${ALTOPTS}" ] ; then
OPTS=${ALTOPTS}
@@ -379,7 +413,7 @@ case $ARCH in
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
else
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} -h ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
fi
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
@@ -624,13 +658,19 @@ case $ARCH in
LIBSUFFIX="bundle"
OPTS="${ARCHOPT} -bundle -multiply_defined suppress"
else
LIBSUFFIX="dylib"
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
LIBSUFFIX="dylib"
if [ -z "$ID" ] ; then
ID="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
fi
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name ${ID}"
fi
if [ ${EXPORTS} ] ; then
if [ -f ${EXPORTS}".darwin" ] ; then
EXPORTS=$EXPORTS".darwin"
fi
OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
fi
fi
LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"

View File

@@ -27,10 +27,10 @@ ASM_API = @ASM_API@
# Misc tools and flags
MAKE = @MAKE@
SHELL = @SHELL@
MKLIB_OPTIONS = @MKLIB_OPTIONS@
MKDEP = @MKDEP@
MKDEP_OPTIONS = @MKDEP_OPTIONS@
INSTALL = $(TOP)/bin/minstall
# Python and flags (generally only needed by the developers)
PYTHON2 = python
@@ -66,6 +66,10 @@ USING_EGL = @USING_EGL@
# Dependencies
X11_INCLUDES = @X11_INCLUDES@
# GLw motif setup
GLW_SOURCES = @GLW_SOURCES@
MOTIF_CFLAGS = @MOTIF_CFLAGS@
# Library/program dependencies
GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
@@ -89,12 +93,33 @@ EXPAT_INCLUDES = @EXPAT_INCLUDES@
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
includedir = @includedir@
# Installation directories (for make install)
INSTALL_DIR = $(prefix)
INSTALL_LIB_DIR = $(libdir)
INSTALL_INC_DIR = $(includedir)
# DRI installation directories
DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
# Where libGL will look for DRI hardware drivers
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
# pkg-config substitutions
GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
GL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@
GL_PC_CFLAGS = @GL_PC_CFLAGS@
DRI_PC_REQ_PRIV = @DRI_PC_REQ_PRIV@
GLU_PC_REQ = @GLU_PC_REQ@
GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@
GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@
GLU_PC_CFLAGS = @GLU_PC_CFLAGS@
GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@
GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@
GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@
GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@
GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
OSMESA_PC_REQ = @OSMESA_PC_REQ@
OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@

View File

@@ -4,22 +4,26 @@ include $(TOP)/configs/default
CONFIG_NAME = darwin
DEFINES = -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
-D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
INSTALL_DIR = /usr/X11
# Compiler and flags
CC = gcc
CXX = gcc
CFLAGS = -I/usr/X11/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin $(DEFINES)
CXXFLAGS = -I/usr/X11/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin $(DEFINES)
PIC_FLAGS = -fPIC
DEFINES = -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
-D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS \
-DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
CFLAGS += $(RC_CFLAGS)
CXXFLAGS += $(RC_CFLAGS)
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11
# -DGLX_USE_APPLEGL - supposed to be used with GLX_DIRECT_RENDERING to use AGL rather than DRM, but doesn't compile
# -DIN_DRI_DRIVER
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ARCH_FLAGS += $(RC_CFLAGS)
CFLAGS = -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing \
-I$(INSTALL_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
CXXFLAGS = -ggdb3 -Os -Wall -fno-strict-aliasing \
-I$(INSTALL_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
@@ -28,13 +32,24 @@ GLUT_LIB_NAME = libglut.dylib
GLW_LIB_NAME = libGLw.dylib
OSMESA_LIB_NAME = libOSMesa.dylib
GL_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11/lib -lX11 -lXmu -lXt -lXi -lm
# globs used to install the lib and all symlinks
GL_LIB_GLOB = libGL.*dylib
GLU_LIB_GLOB = libGLU.*dylib
GLUT_LIB_GLOB = libglut.*dylib
GLW_LIB_GLOB = libGLw.*dylib
OSMESA_LIB_GLOB = libOSMesa.*dylib
GL_LIB_DEPS = -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXmu -lXi -lXext
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXt
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
# omit glw lib for now:
SRC_DIRS = glx/x11 glu glut/glx mesa
SRC_DIRS = glx/x11 mesa glu glut/glx
GLU_DIRS = sgi
DRIVER_DIRS = osmesa
#DRIVER_DIRS = dri
DRI_DIRS = swrast
PROGRAM_DIRS = xdemos

View File

@@ -1,28 +0,0 @@
# Configuration for Darwin / MacOS X, making static libs
include $(TOP)/configs/darwin
CONFIG_NAME = darwin-static
# Compiler and flags
CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
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
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm

View File

@@ -1,30 +0,0 @@
# Configuration for Darwin / MacOS X, making static libs
include $(TOP)/configs/darwin
CONFIG_NAME = darwin-static
# Compiler and flags
CFLAGS = -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
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
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm

View File

@@ -9,7 +9,7 @@ CONFIG_NAME = default
# Version info
MESA_MAJOR=7
MESA_MINOR=1
MESA_MINOR=3
MESA_TINY=0
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
@@ -25,11 +25,13 @@ LDFLAGS =
GLU_CFLAGS =
# Misc tools and flags
SHELL = /bin/sh
MKLIB = $(SHELL) $(TOP)/bin/mklib
MKLIB_OPTIONS =
MKDEP = makedepend
MKDEP_OPTIONS = -fdepend
MAKE = make
INSTALL = $(TOP)/bin/minstall
INSTALL = $(SHELL) $(TOP)/bin/minstall
# Tools for regenerating glapi (generally only needed by the developers)
PYTHON2 = python
@@ -52,6 +54,12 @@ GLUT_LIB_NAME = lib$(GLUT_LIB).so
GLW_LIB_NAME = lib$(GLW_LIB).so
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
# globs used to install the lib and all symlinks
GL_LIB_GLOB = $(GL_LIB_NAME)*
GLU_LIB_GLOB = $(GLU_LIB_NAME)*
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
GLW_LIB_GLOB = $(GLW_LIB_NAME)*
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
# Optional assembly language optimization files for libGL
ASM_SOURCES =
@@ -59,6 +67,7 @@ ASM_SOURCES =
# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
# order to build the Motif widget too)
GLW_SOURCES = GLwDrawA.c
MOTIF_CFLAGS = -I/usr/include/Motif1.2
# Directories to build
@@ -84,8 +93,27 @@ APP_LIB_DEPS = -lm
# Installation directories (for make install)
INSTALL_DIR = /usr/local
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/$(LIB_DIR)/dri
INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR)
INSTALL_INC_DIR = $(INSTALL_DIR)/include
DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
# Where libGL will look for DRI hardware drivers
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
# pkg-config substitutions
GL_PC_REQ_PRIV =
GL_PC_LIB_PRIV =
GL_PC_CFLAGS =
DRI_PC_REQ_PRIV =
GLU_PC_REQ = gl
GLU_PC_REQ_PRIV =
GLU_PC_LIB_PRIV =
GLU_PC_CFLAGS =
GLUT_PC_REQ_PRIV =
GLUT_PC_LIB_PRIV =
GLUT_PC_CFLAGS =
GLW_PC_REQ_PRIV =
GLW_PC_LIB_PRIV =
GLW_PC_CFLAGS =
OSMESA_PC_REQ =
OSMESA_PC_LIB_PRIV =

View File

@@ -70,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 nouveau
savage sis tdfx trident unichrome ffb

View File

@@ -12,14 +12,18 @@ m4_ifval(mesa_version,[],[
m4_exit([1])
])
dnl Tell the user about autoconf.html in the --help output
m4_divert_once([HELP_END], [
See docs/autoconf.html for more details on the options for Mesa.])
AC_INIT([Mesa],[mesa_version],
[https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
AC_CONFIG_AUX_DIR([bin])
AC_CANONICAL_HOST
dnl Versions for external dependencies
LIBDRM_REQUIRED=2.3.1
DRI2PROTO_REQUIRED=1.1
LIBDRM_REQUIRED=2.4.3
DRI2PROTO_REQUIRED=1.99.3
dnl Check for progs
AC_PROG_CPP
@@ -29,6 +33,16 @@ AC_CHECK_PROGS([MAKE], [gmake make])
AC_PATH_PROG([MKDEP], [makedepend])
AC_PATH_PROG([SED], [sed])
dnl We need a POSIX shell for parts of the build. Assume we have one
dnl in most cases.
case "$host_os" in
solaris*)
# Solaris /bin/sh is too old/non-POSIX compliant
AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
SHELL="$POSIX_SHELL"
;;
esac
MKDEP_OPTIONS=-fdepend
dnl Ask gcc where it's keeping its secret headers
if test "x$GCC" = xyes; then
@@ -39,11 +53,6 @@ if test "x$GCC" = xyes; then
fi
AC_SUBST([MKDEP_OPTIONS])
dnl Check to see if dlopen is in default libraries (like Solaris, which
dnl has it in libc), or if libdl is needed to get it.
AC_CHECK_FUNC([dlopen], [],
[AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
dnl Make sure the pkg-config macros are defined
m4_ifdef([PKG_PROG_PKG_CONFIG],[],[
m4_errprint([Error: Could not locate the pkg-config autoconf macros.
@@ -74,11 +83,11 @@ dnl Compiler macros
DEFINES=""
AC_SUBST([DEFINES])
case "$host_os" in
linux*)
if test "x$GCC" = xyes; then
DEFINES="$DEFINES -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE"
fi
DEFINES="$DEFINES -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN"
*-gnu*)
DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
;;
solaris*)
DEFINES="$DEFINES -DPTHREADS -DSVR4"
;;
esac
@@ -230,6 +239,120 @@ AC_SUBST([GLUT_LIB_NAME])
AC_SUBST([GLW_LIB_NAME])
AC_SUBST([OSMESA_LIB_NAME])
dnl
dnl Arch/platform-specific settings
dnl
AC_ARG_ENABLE([asm],
[AS_HELP_STRING([--disable-asm],
[disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
[enable_asm="$enableval"],
[enable_asm=yes]
)
asm_arch=""
ASM_FLAGS=""
ASM_SOURCES=""
ASM_API=""
AC_MSG_CHECKING([whether to enable assembly])
test "x$enable_asm" = xno && AC_MSG_RESULT([no])
# disable if cross compiling on x86/x86_64 since we must run gen_matypes
if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
case "$host_cpu" in
i?86 | x86_64)
enable_asm=no
AC_MSG_RESULT([no, cross compiling])
;;
esac
fi
# check for supported arches
if test "x$enable_asm" = xyes; then
case "$host_cpu" in
i?86)
case "$host_os" in
linux* | *freebsd* | dragonfly*)
test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
;;
esac
;;
x86_64)
case "$host_os" in
linux* | *freebsd* | dragonfly*)
test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
;;
esac
;;
powerpc)
case "$host_os" in
linux*)
asm_arch=ppc
;;
esac
;;
esac
case "$asm_arch" in
x86)
ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
ASM_SOURCES='$(X86_SOURCES)'
ASM_API='$(X86_API)'
AC_MSG_RESULT([yes, x86])
;;
x86_64)
ASM_FLAGS="-DUSE_X86_64_ASM"
ASM_SOURCES='$(X86-64_SOURCES)'
ASM_API='$(X86-64_API)'
AC_MSG_RESULT([yes, x86_64])
;;
ppc)
ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
ASM_SOURCES='$(PPC_SOURCES)'
AC_MSG_RESULT([yes, ppc])
;;
*)
AC_MSG_RESULT([no, platform not supported])
;;
esac
fi
AC_SUBST([ASM_FLAGS])
AC_SUBST([ASM_SOURCES])
AC_SUBST([ASM_API])
dnl PIC code macro
MESA_PIC_FLAGS
dnl Check to see if dlopen is in default libraries (like Solaris, which
dnl has it in libc), or if libdl is needed to get it.
AC_CHECK_FUNC([dlopen], [],
[AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
dnl See if posix_memalign is available
AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
dnl SELinux awareness.
AC_ARG_ENABLE([selinux],
[AS_HELP_STRING([--enable-selinux],
[Build SELinux-aware Mesa @<:@default=disabled@:>@])],
[MESA_SELINUX="$enableval"],
[MESA_SELINUX=no])
if test "x$enable_selinux" = "xyes"; then
AC_CHECK_HEADER([selinux/selinux.h],[],
[AC_MSG_ERROR([SELinux headers not found])])
AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
[AC_MSG_ERROR([SELinux library not found])])
SELINUX_LIBS="-lselinux"
DEFINES="$DEFINES -DMESA_SELINUX"
fi
dnl OS-specific libraries
OS_LIBS=""
case "$host_os" in
solaris*)
OS_LIBS="-lc"
if test "x$GXX" != xyes; then
OS_CPLUSPLUS_LIBS="-lCrun $OS_LIBS"
fi
;;
esac
dnl
dnl Driver configuration. Options are xlib, dri and osmesa right now.
dnl More later: directfb, fbdev, ...
@@ -242,7 +365,7 @@ linux*)
i*86|x86_64|powerpc*) default_driver="dri";;
esac
;;
freebsd* | dragonfly*)
*freebsd* | dragonfly*)
case "$host_cpu" in
i*86|x86_64) default_driver="dri";;
esac
@@ -328,7 +451,7 @@ esac
dnl
dnl Find out if X is available. The variable have_x is set if libX11 is
dnl to mimic AC_PATH_XTRA.
dnl found to mimic AC_PATH_XTRA.
dnl
if test -n "$PKG_CONFIG"; then
AC_MSG_CHECKING([pkg-config files for X11 are available])
@@ -347,6 +470,12 @@ if test "$x11_pkgconfig" = no; then
AC_PATH_XTRA
fi
dnl Try to tell the user that the --x-* options are only used when
dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
m4_divert_once([HELP_BEGIN],
[These options are only used when the X libraries cannot be found by the
pkg-config utility.])
dnl We need X for xlib and dri, so bomb now if it's not found
case "$mesa_driver" in
xlib|dri)
@@ -368,21 +497,6 @@ else
enable_xcb=no
fi
# SELinux awareness.
AC_ARG_ENABLE([selinux],
[AS_HELP_STRING([--enable-selinux],
[Build SELinux-aware Mesa (default: disabled)])],
[MESA_SELINUX="$enableval"],
[MESA_SELINUX=no])
if test "x$enable_selinux" = "xyes"; then
AC_CHECK_HEADER([selinux/selinux.h],[],
[AC_MSG_ERROR([SELinux headers not found])])
AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
[AC_MSG_ERROR([SELinux library not found])])
SELINUX_LIBS="-lselinux"
DEFINES="$DEFINES -DMESA_SELINUX"
fi
dnl
dnl libGL configuration per driver
dnl
@@ -390,14 +504,18 @@ case "$mesa_driver" in
xlib)
if test "$x11_pkgconfig" = yes; then
PKG_CHECK_MODULES([XLIBGL], [x11 xext])
GL_PC_REQ_PRIV="x11 xext"
X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
GL_LIB_DEPS="$XLIBGL_LIBS"
else
# should check these...
X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
GL_PC_LIB_PRIV="$GL_LIB_DEPS"
GL_PC_CFLAGS="$X11_INCLUDES"
fi
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $OS_LIBS"
GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $OS_LIBS"
# if static, move the external libraries to the programs
# and empty the libraries for libGL
@@ -415,6 +533,8 @@ dri)
# Check for libdrm
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
# find the DRI deps for libGL
if test "$x11_pkgconfig" = yes; then
@@ -425,30 +545,39 @@ dri)
fi
PKG_CHECK_MODULES([DRIGL], [$dri_modules])
GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
GL_LIB_DEPS="$DRIGL_LIBS"
else
# should check these...
X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
GL_PC_LIB_PRIV="$GL_LIB_DEPS"
GL_PC_CFLAGS="$X11_INCLUDES"
# XCB can only be used from pkg-config
if test "$enable_xcb" = yes; then
PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
fi
fi
# need DRM libs, -lpthread, etc.
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS $OS_LIBS"
GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS $OS_LIBS"
;;
osmesa)
# No libGL for osmesa
GL_LIB_DEPS=""
GL_LIB_DEPS="$OS_LIBS"
;;
esac
AC_SUBST([GL_LIB_DEPS])
AC_SUBST([GL_PC_REQ_PRIV])
AC_SUBST([GL_PC_LIB_PRIV])
AC_SUBST([GL_PC_CFLAGS])
AC_SUBST([DRI_PC_REQ_PRIV])
dnl
dnl More X11 setup
@@ -478,11 +607,11 @@ AC_ARG_ENABLE([driglx-direct],
[enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
[driglx_direct="$enableval"],
[driglx_direct="yes"])
dnl Which drivers to build - default is chosen by platform
AC_ARG_WITH([dri-drivers],
[AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
[comma delimited DRI drivers, e.g. "i965,radeon,nouveau" @<:@default=auto@:>@])],
[comma delimited DRI drivers list, e.g.
"swrast,i965,radeon,nouveau" @<:@default=auto@:>@])],
[with_dri_drivers="$withval"],
[with_dri_drivers=yes])
if test "x$with_dri_drivers" = x; then
@@ -493,10 +622,13 @@ dnl If $with_dri_drivers is yes, directories will be added through
dnl platform checks
DRI_DIRS=""
case "$with_dri_drivers" in
no|yes) ;;
no) ;;
yes)
DRI_DIRS="yes"
;;
*)
# verify the requested driver directories exist
dri_drivers=`IFS=,; echo $with_dri_drivers`
dri_drivers=`IFS=', '; echo $with_dri_drivers`
for driver in $dri_drivers; do
test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
@@ -535,7 +667,7 @@ if test "$mesa_driver" = dri; then
# converted to use the new interface. i810 are missing
# because there is no x86-64 system where they could *ever*
# be used.
if test "x$DRI_DIRS" = x; then
if test "x$DRI_DIRS" = "xyes"; then
DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 radeon \
savage tdfx unichrome swrast"
fi
@@ -543,10 +675,16 @@ if test "$mesa_driver" = dri; then
powerpc*)
# Build only the drivers for cards that exist on PowerPC.
# At some point MGA will be added, but not yet.
if test "x$DRI_DIRS" = x; then
if test "x$DRI_DIRS" = "xyes"; then
DRI_DIRS="mach64 r128 r200 r300 radeon tdfx swrast"
fi
;;
sparc*)
# Build only the drivers for cards that exist on sparc`
if test "x$DRI_DIRS" = "xyes"; then
DRI_DIRS="mach64 r128 r200 r300 radeon ffb swrast"
fi
;;
esac
;;
freebsd* | dragonfly*)
@@ -562,15 +700,22 @@ if test "$mesa_driver" = dri; then
# ffb and gamma are missing because they have not been converted
# to use the new interface.
if test "x$DRI_DIRS" = x; then
if test "x$DRI_DIRS" = "xyes"; then
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
unichrome savage sis swrast"
fi
;;
solaris*)
DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
if test "x$driglx_direct" = xyes; then
DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
fi
;;
esac
# default drivers
if test "x$DRI_DIRS" = x; then
if test "x$DRI_DIRS" = "xyes"; then
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb swrast"
fi
@@ -646,27 +791,35 @@ AC_SUBST([OSMESA_LIB])
case "$mesa_driver" in
osmesa)
# only link librararies with osmesa if shared
# only link libraries with osmesa if shared
if test "$enable_static" = no; then
OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS"
else
OSMESA_LIB_DEPS=""
fi
OSMESA_MESA_DEPS=""
OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS"
;;
*)
# Link OSMesa to libGL otherwise
OSMESA_LIB_DEPS=""
# only link librararies with osmesa if shared
# only link libraries with osmesa if shared
if test "$enable_static" = no; then
OSMESA_MESA_DEPS='-l$(GL_LIB)'
else
OSMESA_MESA_DEPS=""
fi
OSMESA_PC_REQ="gl"
;;
esac
if test "$enable_static" = no; then
OSMESA_LIB_DEPS="$OSMESA_LIB_DEPS $OS_LIBS"
fi
OSMESA_PC_LIB_PRIV="$OSMESA_PC_LIB_PRIV $OS_LIBS"
AC_SUBST([OSMESA_LIB_DEPS])
AC_SUBST([OSMESA_MESA_DEPS])
AC_SUBST([OSMESA_PC_REQ])
AC_SUBST([OSMESA_PC_LIB_PRIV])
dnl
dnl GLU configuration
@@ -689,6 +842,7 @@ if test "x$enable_glu" = xyes; then
# Link libGLU to libOSMesa instead of libGL
GLU_LIB_DEPS=""
GLU_PC_REQ="osmesa"
if test "$enable_static" = no; then
GLU_MESA_DEPS='-l$(OSMESA_LIB)'
else
@@ -697,6 +851,8 @@ if test "x$enable_glu" = xyes; then
;;
*)
# If static, empty GLU_LIB_DEPS and add libs for programs to link
GLU_PC_REQ="gl"
GLU_PC_LIB_PRIV="-lm"
if test "$enable_static" = no; then
GLU_LIB_DEPS="-lm"
GLU_MESA_DEPS='-l$(GL_LIB)'
@@ -708,8 +864,16 @@ if test "x$enable_glu" = xyes; then
;;
esac
fi
if test "$enable_static" = no; then
GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
fi
GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
AC_SUBST([GLU_LIB_DEPS])
AC_SUBST([GLU_MESA_DEPS])
AC_SUBST([GLU_PC_REQ])
AC_SUBST([GLU_PC_REQ_PRIV])
AC_SUBST([GLU_PC_LIB_PRIV])
AC_SUBST([GLU_PC_CFLAGS])
dnl
dnl GLw configuration
@@ -724,19 +888,50 @@ if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
enable_glw=no
fi
AC_ARG_ENABLE([motif],
[AS_HELP_STRING([--enable-motif],
[use Motif widgets in GLw @<:@default=disabled@:>@])],
[enable_motif="$enableval"],
[enable_motif=no])
if test "x$enable_glw" = xyes; then
SRC_DIRS="$SRC_DIRS glw"
if test "$x11_pkgconfig" = yes; then
PKG_CHECK_MODULES([GLW],[x11 xt])
GLW_PC_REQ_PRIV="x11 xt"
GLW_LIB_DEPS="$GLW_LIBS"
else
# should check these...
GLW_LIB_DEPS="$X_LIBS -lX11 -lXt"
GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
GLW_PC_CFLAGS="$X11_INCLUDES"
fi
GLW_SOURCES="GLwDrawA.c"
MOTIF_CFLAGS=
if test "x$enable_motif" = xyes; then
GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
if test "x$MOTIF_CONFIG" != xno; then
MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
MOTIF_LIBS=`$MOTIF_CONFIG --libs`
else
AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
[AC_MSG_ERROR([Can't locate Motif headers])])
AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
[AC_MSG_ERROR([Can't locate Motif Xm library])])
fi
# MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
fi
# If static, empty GLW_LIB_DEPS and add libs for programs to link
GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV $OS_LIBS"
if test "$enable_static" = no; then
GLW_MESA_DEPS='-l$(GL_LIB)'
GLW_LIB_DEPS="$GLW_LIB_DEPS $OS_LIBS"
else
APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
GLW_LIB_DEPS=""
@@ -745,6 +940,11 @@ if test "x$enable_glw" = xyes; then
fi
AC_SUBST([GLW_LIB_DEPS])
AC_SUBST([GLW_MESA_DEPS])
AC_SUBST([GLW_SOURCES])
AC_SUBST([MOTIF_CFLAGS])
AC_SUBST([GLW_PC_REQ_PRIV])
AC_SUBST([GLW_PC_LIB_PRIV])
AC_SUBST([GLW_PC_CFLAGS])
dnl
dnl GLUT configuration
@@ -779,12 +979,16 @@ if test "x$enable_glut" = xyes; then
fi
if test "$x11_pkgconfig" = yes; then
PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
GLUT_PC_REQ_PRIV="x11 xmu xi"
GLUT_LIB_DEPS="$GLUT_LIBS"
else
# should check these...
GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
GLUT_PC_CFLAGS="$X11_INCLUDES"
fi
GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm $OS_LIBS"
GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm $OS_LIBS"
# If glut is available, we can build most programs
if test "$with_demos" = yes; then
@@ -803,6 +1007,9 @@ fi
AC_SUBST([GLUT_LIB_DEPS])
AC_SUBST([GLUT_MESA_DEPS])
AC_SUBST([GLUT_CFLAGS])
AC_SUBST([GLUT_PC_REQ_PRIV])
AC_SUBST([GLUT_PC_LIB_PRIV])
AC_SUBST([GLUT_PC_CFLAGS])
dnl
dnl Program library dependencies
@@ -810,91 +1017,18 @@ dnl Only libm is added here if necessary as the libraries should
dnl be pulled in by the linker
dnl
if test "x$APP_LIB_DEPS" = x; then
APP_LIB_DEPS="-lm"
case "$host_os" in
solaris*)
APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
;;
*)
APP_LIB_DEPS="-lm"
;;
esac
fi
AC_SUBST([APP_LIB_DEPS])
AC_SUBST([PROGRAM_DIRS])
dnl
dnl Arch/platform-specific settings
dnl
AC_ARG_ENABLE([asm],
[AS_HELP_STRING([--disable-asm],
[disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
[enable_asm="$enableval"],
[enable_asm=yes]
)
asm_arch=""
ASM_FLAGS=""
ASM_SOURCES=""
ASM_API=""
AC_MSG_CHECKING([whether to enable assembly])
test "x$enable_asm" = xno && AC_MSG_RESULT([no])
# disable if cross compiling on x86/x86_64 since we must run gen_matypes
if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
case "$host_cpu" in
i?86 | x86_64)
enable_asm=no
AC_MSG_RESULT([no, cross compiling])
;;
esac
fi
# check for supported arches
if test "x$enable_asm" = xyes; then
case "$host_cpu" in
i?86)
case "$host_os" in
linux* | freebsd* | dragonfly*)
test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
;;
esac
;;
x86_64)
case "$host_os" in
linux* | freebsd* | dragonfly*)
test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
;;
esac
;;
powerpc)
case "$host_os" in
linux*)
asm_arch=ppc
;;
esac
;;
esac
case "$asm_arch" in
x86)
ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
ASM_SOURCES='$(X86_SOURCES)'
ASM_API='$(X86_API)'
AC_MSG_RESULT([yes, x86])
;;
x86_64)
ASM_FLAGS="-DUSE_X86_64_ASM"
ASM_SOURCES='$(X86-64_SOURCES)'
ASM_API='$(X86-64_API)'
AC_MSG_RESULT([yes, x86_64])
;;
ppc)
ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
ASM_SOURCES='$(PPC_SOURCES)'
AC_MSG_RESULT([yes, ppc])
;;
*)
AC_MSG_RESULT([no, platform not supported])
;;
esac
fi
AC_SUBST([ASM_FLAGS])
AC_SUBST([ASM_SOURCES])
AC_SUBST([ASM_API])
dnl PIC code macro
MESA_PIC_FLAGS
dnl Restore LDFLAGS and CPPFLAGS
LDFLAGS="$_SAVE_LDFLAGS"
@@ -920,6 +1054,7 @@ echo ""
echo " prefix: $prefix"
echo " exec_prefix: $exec_prefix"
echo " libdir: $libdir"
echo " includedir: $includedir"
dnl Driver info
echo ""
@@ -932,16 +1067,21 @@ fi
if test "$mesa_driver" = dri; then
# cleanup the drivers var
dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
if test "x$DRI_DIRS" = x; then
echo " DRI drivers: no"
else
echo " DRI drivers: $dri_dirs"
fi
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
fi
echo " Use XCB: $enable_xcb"
dnl Libraries
echo ""
echo " Shared libs: $enable_shared"
echo " Static libs: $enable_static"
echo " GLU: $enable_glu"
echo " GLw: $enable_glw"
echo " GLw: $enable_glw (Motif: $enable_motif)"
echo " glut: $enable_glut"
dnl Programs

View File

@@ -16,7 +16,7 @@ Status
Version
Last Modified Date: 8 June 2000
Last Modified Date: 12 January 2009
Number
@@ -69,6 +69,12 @@ Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
<width> and <height> indicate the size in pixels. Coordinate (0,0)
corresponds to the lower-left pixel of the window, like glReadPixels.
If dpy and drawable are the display and drawable for the calling
thread's current context, glXCopySubBufferMESA performs an
implicit glFlush before it returns. Subsequent OpenGL commands
may be issued immediately after calling glXCopySubBufferMESA, but
are not executed until the copy is completed.
GLX Protocol
None at this time. The extension is implemented in terms of ordinary
@@ -84,5 +90,7 @@ New State
Revision History
8 June 2000 - initial specification
12 January 2009 Ian Romanick - Added language about implicit flush
and command completion.
8 June 2000 Brian Paul - initial specification

View File

@@ -16,7 +16,6 @@ Status
Version
$Id: MESA_resize_buffers.spec,v 1.3 2004/03/25 01:42:42 brianp Exp $
Number

View File

@@ -19,7 +19,6 @@ Version
Last Modified Date: July 30, 2006
Author Revision: 0.2
$Date: 2006/07/30 14:28:38 $ $Revision: 1.2 $
Number

View File

@@ -20,7 +20,6 @@ Status
Version
$Date: 2007/05/16$ $Revision: 0.4$
Number

View File

@@ -16,7 +16,6 @@ Status
Version
$Id: MESA_window_pos.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
Number

View File

@@ -17,7 +17,6 @@ Status
Version
$Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number

View File

@@ -18,7 +18,6 @@ Version
Last Modified Date: July 20, 2003
Author Revision: 1.0
$Date: 2004/03/25 01:42:41 $ $Revision: 1.4 $
Number

View File

@@ -16,7 +16,6 @@ Status
Version
$Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number

View File

@@ -17,7 +17,6 @@ Status
Version
$Id: MESA_trace.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
Number

View File

@@ -134,4 +134,3 @@ as of February, 1999.
----------------------------------------------------------------------
$Id: README.BEOS,v 1.12 2004/10/13 00:35:55 phoudoin Exp $

View File

@@ -205,4 +205,3 @@ http://www.linuxgames.com/quake2/
----------------------------------------------------------------------
$Id: README.QUAKE,v 1.3 1998/08/23 15:26:26 brianp Exp $

View File

@@ -143,4 +143,3 @@ code). Anyone want to help?
----------------------------------------------------------------------
$Id: RELNOTES-3.1,v 1.2 2000/04/07 17:08:06 brianp Exp $

View File

@@ -9,4 +9,3 @@ have been added. For a list of bug fixes please read the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.2,v 1.2 2000/04/07 17:08:06 brianp Exp $

View File

@@ -29,4 +29,3 @@ GLU library.
----------------------------------------------------------------------
$Id: RELNOTES-3.2.1,v 1.2 2000/07/21 16:32:33 brianp Exp $

View File

@@ -268,4 +268,3 @@ image convolution. This will (hopefully) be done for Mesa 3.5/3.6.
----------------------------------------------------------------------
$Id: RELNOTES-3.3,v 1.8 2000/07/21 16:26:41 brianp Exp $

View File

@@ -19,4 +19,3 @@ see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $

View File

@@ -19,4 +19,3 @@ the Mesa 3.4 release. For details, see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4.1,v 1.2 2001/05/23 14:45:01 brianp Exp $

View File

@@ -19,4 +19,3 @@ the Mesa 3.4.1 release. For details, see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4.2,v 1.2 2001/05/23 14:45:01 brianp Exp $

View File

@@ -225,4 +225,3 @@ In the future I hope to implement support for 32-bit, floating point
color channels.
----------------------------------------------------------------------
$Id: RELNOTES-3.5,v 1.14 2001/06/20 19:02:48 brianp Exp $

View File

@@ -160,4 +160,3 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
----------------------------------------------------------------------
$Id: RELNOTES-4.0,v 3.2 2001/10/17 14:59:21 brianp Exp $

View File

@@ -19,4 +19,3 @@ Mesa 4.0.1 only contains bug fixes since version 4.0.
See the docs/VERSIONS file for the list of bug fixes.
----------------------------------------------------------------------
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $

View File

@@ -47,4 +47,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $

View File

@@ -49,4 +49,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $

View File

@@ -305,4 +305,3 @@ are some things to change:
----------------------------------------------------------------------
$Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $

View File

@@ -82,4 +82,3 @@ driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $

View File

@@ -43,4 +43,3 @@ driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0.1,v 3.1 2003/03/30 16:17:54 brianp Exp $

View File

@@ -43,4 +43,3 @@ driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0.2,v 1.1 2003/09/04 23:10:38 brianp Exp $

View File

@@ -84,4 +84,3 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.0.
----------------------------------------------------------------------
$Id: RELNOTES-6.0,v 1.3 2004/01/15 15:47:57 brianp Exp $

View File

@@ -47,4 +47,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.0.1,v 3.1 2004/04/02 23:37:02 brianp Exp $

View File

@@ -109,4 +109,3 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1.
----------------------------------------------------------------------
$Id: RELNOTES-6.1,v 3.5 2004/08/17 22:58:23 brianp Exp $

View File

@@ -49,4 +49,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.2,v 3.4 2004/10/02 15:43:14 brianp Exp $

View File

@@ -47,4 +47,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.2.1,v 3.1 2004/12/09 23:21:36 brianp Exp $

View File

@@ -112,4 +112,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3,v 3.13 2005/07/21 15:57:29 brianp Exp $

View File

@@ -46,4 +46,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.1,v 3.1 2005/07/21 18:45:54 brianp Exp $

View File

@@ -34,4 +34,3 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.2,v 3.2 2005/08/19 16:57:50 brianp Exp $

View File

@@ -47,4 +47,3 @@ in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4,v 3.1 2005/10/24 23:33:27 brianp Exp $

View File

@@ -182,11 +182,12 @@ will search for DRI drivers. The default is <code>${libdir}/dri</code>.
</li>
<li><code>--with-dri-drivers=DRIVER,DRIVER,...</code> - This option
allows a specific set of DRI drivers to be built. For example,
<code>--with-dri-drivers="i965,radeon,nouveau"</code>. By default,
the drivers will be chosen depending on the target platform. See the
directory <code>src/mesa/drivers/dri</code> in the source tree for
available drivers.
</li>
<code>--with-dri-drivers="swrast,i965,radeon,nouveau"</code>. By
default, the drivers will be chosen depending on the target platform.
See the directory <code>src/mesa/drivers/dri</code> in the source tree
for available drivers. Beware that the swrast DRI driver is used by both
libGL and the X.Org xserver GLX module to do software rendering, so you
may run into problems if it is not available.</li>
<!-- This explanation might be totally bogus. Kristian? -->
<li><code>--disable-driglx-direct</code> - Disable direct rendering in
GLX. Normally, direct hardware rendering through the DRI drivers and

View File

@@ -6,7 +6,7 @@
<BODY>
<H1>Mesa Cell Driver</H1>
<H1>Mesa/Gallium Cell Driver</H1>
<p>
The Mesa
@@ -23,18 +23,19 @@ Two phases are planned.
First, to implement the framework for parallel rasterization using the Cell
SPEs, including texture mapping.
Second, to implement a full-featured OpenGL driver with support for GLSL, etc.
The second phase is now underway.
</p>
<H2>Source Code</H2>
<p>
The Cell driver source code is on the <code>gallium-0.1</code> branch of the
git repository.
The latest Cell driver source code is on the <code>gallium-0.2</code> branch
of the Mesa git repository.
After you've cloned the repository, check out the branch with:
</p>
<pre>
git-checkout -b gallium-0.1 origin/gallium-0.1
git-checkout -b gallium-0.2 origin/gallium-0.2
</pre>
<p>
To build the driver you'll need the IBM Cell SDK (version 2.1 or 3.0).
@@ -43,12 +44,13 @@ or the Cell Simulator (untested, though).
</p>
<p>
If using Cell SDK 3.0, first edit configs/linux-cell and add
<code>-DSPU_MAIN_PARAM_LONG_LONG</code> to the SPU_CFLAGS.
If using Cell SDK 2.1, see the configs/linux-cell file for some
special changes.
</p>
<p>
To compile the code, run <code>make linux-cell</code>.
To build in debug mode, run <code>make linux-cell-debug</code>.
</p>
<p>
@@ -60,7 +62,7 @@ directory that contains <code>libGL.so</code>.
Verify that the Cell driver is being used by running <code>glxinfo</code>
and looking for:
<pre>
OpenGL renderer string: Gallium 0.1, Cell on Xlib
OpenGL renderer string: Gallium 0.2, Cell on Xlib
</pre>
@@ -77,21 +79,61 @@ SPU local store as needed.
Similarly, textures are tiled and brought into local store as needed.
</p>
<p>
More recently, vertex transformation has been parallelized across the SPUs
as well.
</p>
<H2>Status</H2>
<p>
As of February 2008 the driver supports smooth/flat shaded triangle rendering
with Z testing and simple texture mapping.
Simple demos like gears run successfully.
To test texture mapping, try progs/demos/texcyl (press right mouse button for
rendering options).
As of October 2008, the driver runs quite a few OpenGL demos.
Features that work include:
</p>
<ul>
<li>Point/line/triangle rendering, glDrawPixels
<li>2D, NPOT and cube texture maps with nearest/linear/mipmap filtering
<li>Dynamic SPU code generation for fragment shaders, but not complete
<li>Dynamic SPU code generation for fragment ops (blend, Z-test, etc), but not complete
<li>Dynamic PPU/PPC code generation for vertex shaders, but not complete
</ul>
<p>
Performance has recently improved with the addition of PPC code generation
for vertex shaders, but the code quality isn't too great yet.
</p>
<p>
Another bottleneck is SwapBuffers. It may be the limiting factor for
many simple GL tests.
</p>
<H2>Debug Options</H2>
<p>
The CELL_DEBUG env var can be set to a comma-separated list of one or
more of the following debug options:
</p>
<ul>
<li><b>checker</b> - use a different background clear color for each SPU.
This lets you see which SPU is rendering which screen tiles.
<li><b>sync</b> - wait/synchronize after each DMA transfer
<li><b>asm</b> - print generated SPU assembly code to stdout
<li><b>fragops</b> - emit fragment ops debug messages
<li><b>fragopfallback</b> - don't use codegen for fragment ops
<li><b>cmd</b> - print SPU commands as their received
<li><b>cache</b> - print texture cache statistics when program exits
</ul>
<p>
Note that some of these options may only work for linux-cell-debug builds.
</p>
<p>
If the GALLIUM_NOPPC env var is set, PPC code generation will not be used
and vertex shaders will be run with the TGSI interpreter.
</p>
<p>
If the GALLIUM_NOCELL env var is set, the softpipe driver will be used
intead of the Cell driver.
This is useful for comparison/validation.
</p>
<H2>Contributing</H2>

View File

@@ -37,8 +37,8 @@ a:visited {
<b>Download / Install</b>
<ul>
<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
<li><a href="download.html" target="MainFrame">Downloading / Unpacking</a>
<li><a href="install.html" target="MainFrame">Compiling / Installing</a>
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
<li><a href="precompiled.html" target="MainFrame">Precompiled Libraries</a>
</ul>
@@ -48,6 +48,7 @@ a:visited {
<li><a href="lists.html" target="MainFrame">Mailing Lists</a>
<li><a href="bugs.html" target="MainFrame">Bug Database</a>
<li><a href="webmaster.html" target="MainFrame">Webmaster</a>
<li><a href="http://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a>
</ul>
<b>User Topics</b>

View File

@@ -9,7 +9,9 @@
<H1>Downloading</H1>
<p>
Last stable release: <b>7.0.3</b>
Current development release: <b>7.3</b>
<br>
Last stable release: <b>7.2</b>
</p>
<p>
@@ -18,6 +20,11 @@ Primary download site:
target="_parent">SourceForge</a>
</p>
<p>
When a new release is coming, release candidates (betas) can be found
<a href="http://www.mesa3d.org/beta/">here</a>.
</p>
<p>
Mesa is distributed in several parts:

View File

@@ -29,7 +29,7 @@ Setting this variable automatically sets the MESA_TEX_PROG variable as well.
<p>
The following are only applicable to the Xlib software driver.
See <A HREF="README.X11">README.X11</A> for details.
See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details.
</p>
<ul>
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode

View File

@@ -15,17 +15,40 @@ Here are some specific ideas and areas where help would be appreciated:
<ol>
<li>
Enable -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
<b>Driver patching and testing.</b>
Patches are often posted to the mesa3d-dev mailing list, but aren't
immediately checked into git because not enough people are testing them.
Just applying patches, testing and reporting back is helpful.
<li>
<b>Driver debugging.</b>
There are plenty of open bugs in the bug database.
<li>
<b>Remove aliasing warnings.</b>
Enable gcc -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
issues in the code.
<li>
Windows 98/NT driver building, maintenance and testing
<b>Windows driver building, testing and maintenance.</b>
The Visual Studio project files aren't always updated in a timely manner
when new source files are added or old ones are removed.
Fixing these tends to delay new Mesa releases.
<li>
Maintenance and testing of lesser-used drivers, such as DOS/DJGPP, GGI, etc.
<b>Maintenance and testing of lesser-used drivers.</b>
Drivers such as DOS/DJGPP, GGI, etc that aren't being maintained are being
deprecated starting in Mesa 7.3.
<li>
<b>Contribute more tests to
<a href="http://glean.sourceforge.net/" target="_parent">glean</a>.</b>
<li>
<b>Automatic testing.
</b>
It would be great if someone would set up an automated system for grabbing
the latest Mesa code and run tests (such as glean) then report issues to
the mailing list.
</ol>
<p>
If you want to help with Mesa, first join the Mesa developer's
If you want to do something new in Mesa, first join the Mesa developer's
mailing list.
Then post a message to propose what you want to do, just to make sure
there's no issues.

View File

@@ -1,69 +1,73 @@
<HTML>
<TITLE>Compilation and Installation</TITLE>
<TITLE>Compiling and Installing</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<H1>Compilation and Installation</H1>
<H1>Compiling and Installing</H1>
<ol>
<li><a href="#unix-x11">Unix / X11</a>
<ul>
<li><a href="#prereq">Prerequisites for DRI and hardware acceleration</a>
<li><a href="#autoconf">Building with autoconf</a>
<li><a href="#traditional">Building with traditional Makefiles</a>
<li><a href="#libs">The Libraries</a>
<li><a href="#demos">Running the demos
<li><a href="#install">Installing the header and library files
<li><a href="#pkg-config">Building OpenGL programs with pkg-config
</ul>
<li><a href="#windows">Windows</a>
<li><a href="#vms">VMS</a>
<li><a href="#other">Other</a>
</ol>
<br>
<a name="unix-x11">
<H2>1. Unix/X11 Compilation and Installation</H1>
<h3>1.1 Prerequisites for DRI and Hardware Acceleration</h3>
<a name="prereq">
<h3>1.1 Prerequisites for DRI and hardware acceleration</h3>
<p>
To build Mesa with DRI-based hardware acceleration you must first have
the right version of DRM.
The following are required for DRI-based hardware acceleration with Mesa 7.3:
</p>
<p>
For Mesa 7.1 a particular snapshot of
<a href="http://dri.freedesktop.org/libdrm/">DRM</a> from git is required:
</p>
<pre>
git-clone git://anongit.freedesktop.org/git/mesa/drm
git-checkout (XXXX HASH ID TBD)
</pre>
</li>
<p>
You should also be using Xorg server version 1.4
<ul>
<li><a href="http://xorg.freedesktop.org/releases/individual/proto/">dri2proto</a> version 1.99.3 or later
<li>Linux 2.6.28
<li><a href="http://dri.freedesktop.org/libdrm/" target="_parent">libDRM</a>
version 2.4.3 or later
<li>Xorg server version 1.5 or later
</ul>
</p>
<h3>1.2 Autoconf Compilation</h3>
<a name="autoconf">
<h3>1.2 Building with Autoconf</h3>
<p>
Mesa may be <a href="autoconf.html">built using autoconf</a>.
This should work well on most GNU-based systems.
When that fails, the traditional Mesa build system is available.
If that fails the traditional Mesa build system is available.
<h3>1.3 Traditional Compilation</h3>
<a name="traditional">
<h3>1.3 Building with traditional Makefiles</h3>
<p>
The traditional Mesa build system is based on a collection of pre-defined
system configurations.
</p>
<p>
To see the list of configurations, type <b>make</b> alone.
Then choose a configuration from the list and type <b>make configname</b>.
To see the list of configurations, just type <code>make</code>.
Then choose a configuration from the list and type <code>make</code>
<em>configname</em>.
</p>
<p>
@@ -77,7 +81,7 @@ allow you to run OpenGL/GLX applications on any X server (regardless of
whether it supports the GLX X server extension).
You will <em>not</em> be able to use hardware 3D acceleration.
<p>
To compile stand-alone Mesa type <b>make</b> in the top-level directory.
To compile stand-alone Mesa type <code>make</code> in the top-level directory.
You'll see a list of supported system configurations.
Choose one from the list (such as linux-x86), and type:
</p>
@@ -120,6 +124,7 @@ Later, if you want to rebuild for a different configuration run
</p>
<a name="libs">
<h3>1.4 The libraries</h3>
<p>
@@ -180,6 +185,7 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:
</pre>
<a name="demos">
<h3>1.5 Running the demos</h3>
<p>
@@ -255,6 +261,7 @@ Retrace your steps if this doesn't look right.
</p>
<a name="install">
<H3>1.6 Installing the header and library files</H3>
<p>
@@ -295,7 +302,8 @@ This is a handy way to compare multiple OpenGL implementations.
</p>
<H3>1.7 Building OpenGL Programs With pkg-config</H3>
<a name="pkg-config">
<H3>1.7 Building OpenGL programs with pkg-config</H3>
<p>
Running <code>make install</code> will install package configuration files
@@ -325,25 +333,15 @@ Please see the <a href="README.WIN32">README.WIN32</a> file.
<a name="vms">
<H2>3. VMS Compilation and Installation</H1>
<p>
Please see the <a href="README.VMS">README.VMS</a> file.
</p>
<a name="other">
<H2>4. Other systems</H1>
<H2>3. Other systems</H1>
<p>
Documentation for other environments (some may be very out of date):
</p>
<UL>
<li><A HREF="README.VMS">README.VMS</A> - VMS
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin

View File

@@ -22,9 +22,10 @@ for modern GPUs.
<p>
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.
<a href="http://dri.freedesktop.org/" 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>

View File

@@ -9,7 +9,7 @@
<H1>Mailing Lists</H1>
<p>There are four Mesa mailing lists:
<p>There are four Mesa 3D / DRI mailing lists:
</p>
<ul>
@@ -19,14 +19,14 @@ 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.
target="_parent">mesa3d-users</a> - intended for users of the Mesa and DRI.
Newbie questions are appropriate, but please try the general OpenGL
resources and Mesa documentation first.
resources and Mesa/DRI 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.
target="_parent">mesa3d-dev</a> - for discussion of Mesa and Direct Rendering
Infrastructure development. Not for beginners.
</li>
<br>
<li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-commit"
@@ -37,6 +37,9 @@ Note: the old mesa3d-cvs list is no longer in use.
</li>
</ul>
<p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
kernels, see <a href="http://dri.freedesktop.org/wiki/MailingLists">wiki</a>.
<p>
<b>Notice</b>: non-member posts to any of these lists will be automatically
rejected.

View File

@@ -11,6 +11,38 @@
<H1>News</H1>
<h2>January 22, 2009</h2>
<p>
<a href="relnotes-7.3.html">Mesa 7.3</a> is released.
This is a new development release.
Mesa 7.4 will follow and will have bug fixes relative to 7.3.
</p>
<h2>September 20, 2008</h2>
<p>
<a href="relnotes-7.2.html">Mesa 7.2</a> is released.
This is a stable, bug-fix release.
</p>
<h2>August 26, 2008</h2>
<p>
<a href="relnotes-7.1.html">Mesa 7.1</a> is released.
This is a new development release.
It should be relatively stable, but those especially concerned about
stability should wait for the 7.2 release or use Mesa 7.0.4 (the
previous stable release).
</p>
<h2>August 16, 2008</h2>
<p>
<a href="relnotes-7.0.4.html">Mesa 7.0.4</a> is released.
This is a bug-fix release.
</p>
<h2>April 4, 2008</h2>
<p>
<a href="relnotes-7.0.3.html">Mesa 7.0.3</a> is released.
@@ -1163,6 +1195,5 @@ source code</a>.</p>
<hr>
$Id: news.html,v 3.33 2006/12/02 18:18:41 brianp Exp $
</body>
</html>

80
docs/relnotes-7.0.4.html Normal file
View File

@@ -0,0 +1,80 @@
<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.4 Release Notes / August 16, 2008</H1>
<p>
Mesa 7.0.4 is a stable release with bug fixes since version 7.0.3.
</p>
<h2>MD5 checksums</h2>
<pre>
909afa3a01ae31478d363837681415ac MesaLib-7.0.4.tar.gz
8d7bacbe0234742a5d08c8088c4619e9 MesaLib-7.0.4.tar.bz2
5e44261ef85b049a868e1785d9adc276 MesaLib-7.0.4.zip
53dcd77d37a819feaf50b5fcdd0a6e0f MesaDemos-7.0.4.tar.gz
c1215b31c5f7b85f81eed3bfba07d556 MesaDemos-7.0.4.tar.bz2
b1825a7361f116b28d82d328077630b4 MesaDemos-7.0.4.zip
d7677d015f52602d1bf8b837fb717848 MesaGLUT-7.0.4.tar.gz
f5f8b46f7e763d9f7b7d1d115c1c44ee MesaGLUT-7.0.4.tar.bz2
a786775271a02c62a3370b13b26bf48d MesaGLUT-7.0.4.zip
</pre>
<h2>Bug fixes</h2>
<ul>
<li>define #extension GL_ARB_texture_rectangle in shading language
<li>fixed WIN32 compile problem in libGLU
<li>Fixed a per-vertex glMaterial bug which could cause bad lighting
<li>Fixed potential crash in AA/smoothed triangle rendering when using a fragment shader
<li>Fixed glDrawElement + VBO segfault (bug 16156)
<li>Fixed GLSL linker bug causing generic vertex attributes to get aliased
<li>Fixed stack overflow when using glPixelZoom on Windows
<li>Fixed broken all(bvec2) GLSL function, added misc missing bvec constructors
<li>ARB program "state.clip[n].plane" didn't parse correctly
<li>Fixed broken glGetUniformiv() (bug 13774)
</ul>
<h2>Changes</h2>
<ul>
<li>Including the latest glext.h and glxext.h header files from Khronos
<li>Added support for DragonFly OS
<li>Added a build config for FreeBSD static libs (Anatolij Shkodin)
<li>Enabled GL_EXT_multi_draw_arrays extension in R200/R300 drivers
<li>Enabled GL_ARB_point_sprite extension in I965 driver
<li>Enabled GL_EXT_texture_sRGB extension in I965 driver
<li>Added support for GL shading language in I965 driver
</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

@@ -8,28 +8,54 @@
<body bgcolor="#eeeeee">
<H1>Mesa 7.1 Release Notes / May XX, 2008</H1>
<H1>Mesa 7.1 Release Notes / August 26, 2008</H1>
<p>
Mesa 7.1 is a new development release.
There have been many internal code changes since Mesa 7.0.x.
It should be relatively stable, but those who are especially concerned about
stability should wait for Mesa 7.2.
stability should wait for Mesa 7.2 or use Mesa 7.0.4 (the previous stable
release).
</p>
</>
Note that this version of Mesa does not use the GEM memory manager.
The master branch of git uses GEM.
</p>
<p>
DRM version 2.3.1 should be used with Mesa 7.1
</p>
<h2>MD5 checksums</h2>
<pre>
TBD
971c2fe6e6949dc5ba200a6f97a6dc81 MesaLib-7.1.tar.gz
6bff7f532d16f90f944a400c8bd7074d MesaLib-7.1.tar.bz2
d48224bf9d54c3da6776adb4869ba024 MesaLib-7.1.zip
3de268420efca43e9a19ab506cdfc993 MesaDemos-7.1.tar.gz
abfc9775e1462363af8ec160d1feb01f MesaDemos-7.1.tar.bz2
f7b3623387c4036e9895cd9ac0dfad99 MesaDemos-7.1.zip
fdf348f78cd09304b6ff801ef8acc8eb MesaGLUT-7.1.tar.gz
f6d88a4eeb02e98c7e92f1c895d3c76b MesaGLUT-7.1.tar.bz2
4dc102a5ca51e1c41dde87d3f8c7b22a MesaGLUT-7.1.zip
</pre>
<h2>New features</h2>
<ul>
<li>autoconf-based configuration
<li>autoconf-based configuration (and clean-up of Makefiles)
<li>Assorted DRI driver enhancements
<li>Reduced dependencies between X server and Mesa
<li>GL_EXT_texture_from_pixmap extension for Xlib driver
<li>Support for the GL shading language with i965 driver (implemented by Intel)
<li>ATI R500 series support (Radeon X1300&#8211;X1950) in r300 DRI driver
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Numerous GLSL fixes
<li>Fixed some error code/detection bugs in the GLSL-related API functions
<li>Lots of DRI driver fixes.
</ul>

104
docs/relnotes-7.2.html Normal file
View File

@@ -0,0 +1,104 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 7.2 Release Notes / 20 September 2008</H1>
<p>
Mesa 7.2 is a stable release fixing bugs found in 7.1, which was a
new development release.
</p>
<p>
Mesa 7.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
Note that this version of Mesa does not use the GEM memory manager.
The master branch of git uses GEM.
The prototype DRI2 code that was in 7.1 has also been removed.
</p>
<p>
DRM version 2.3.1 should be used with Mesa 7.2
</p>
<h2>MD5 checksums</h2>
<pre>
81a2a4b7cbfce7553f7ad8d924edbe2f MesaLib-7.2.tar.gz
04d379292e023df0b0266825cb0dbde5 MesaLib-7.2.tar.bz2
8bc497a37977a55e987a4d1fabc3d882 MesaLib-7.2.zip
10c762e39486df395838af1d7b57e69c MesaDemos-7.2.tar.gz
22e03dc4038cd63f32c21eb60994892b MesaDemos-7.2.tar.bz2
1197bc4eb3bf44e291c14d4eb2e19381 MesaDemos-7.2.zip
42e3c6c6d156cd9dc545dbef72407354 MesaGLUT-7.2.tar.gz
f67daf93e12c4a459703bbf3e4004e31 MesaGLUT-7.2.tar.bz2
0390567eb2c2d12fbf82e8523fd77e2b MesaGLUT-7.2.zip
</pre>
<h2>New features</h2>
<ul>
<li>i965 driver: added support for G41 chipset (Intel)
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fixed display list bug involving primitives split across lists (bug 17564)
<li>Fixed some issues with glBindAttribLocation()
<li>Fixed crash in _tnl_InvalidateState() found with Amira (bug 15834)
<li>Assorted bug fixes for Ming build
<li>Fixed some vertex/pixel buffer object reference counting bugs
<li>Fixed depth/stencil bug in i915/945 driver
<li>Fixed some shader flow control bugs in i965 driver
<li>Fixed a few tdfx driver bugs which prevented driver from working
<li>Fixed multisample enable/disable bug
</ul>
<h2>Changes</h2>
<ul>
<li>Updated SGI header files with new license terms.
</ul>
<h2>To Do (someday) items</h2>
<ul>
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
Probably do the same for malloc, calloc, etc.
The wrappers were useful in the past for memory debugging but now we
have valgrind. Not worried about SunOS 4 support anymore either...
<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>

85
docs/relnotes-7.3.html Normal file
View File

@@ -0,0 +1,85 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<H1>Mesa 7.3 Release Notes / 22 January 2009</H1>
<p>
Mesa 7.3 is a new development release.
Users especially concerned with stability should stick with latest
stable release: version 7.2.
</p>
<p>
Mesa 7.3 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="install.html">Compiling/Installing page</a> for prerequisites
for DRI ardware acceleration.
</p>
<h2>MD5 checksums</h2>
<pre>
tbd
</pre>
<h2>New features</h2>
<ul>
<li>Support for GLSL 1.20
<li>Intel DRI drivers now use GEM and DRI2
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Assorted GLSL bug fixes
<li>Assorted i965 driver fixes
<li>Fix for wglCreateLayerContext() in WGL/Windows driver
<li>Build fixes for OpenBSD and gcc 2.95
<li>GLSL preprocessor handles #pragma now
<li>Fix incorrect transformation of GL_SPOT_DIRECTION
<li>Fixed several bugs (#18367 and #19625) in glXMakeContextCurrent()
<li>Assorted Windows build fixes
</ul>
<h2>Changes</h2>
<ul>
<li>Deprecated the "XMesa" interface (include/GL/xmesa*.h files)
<li>Deprecated the "FXMesa" interface (include/GL/fxmesa.h file)
<li>Deprecated the "Allegro" interface (include/GL/amesa.h file)
<li>Removed include/GL/uglmesa.h header
<li>Removed include/GLView.h header for BeOS
</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,7 +20,10 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
<LI><A HREF="relnotes-7.3.html">7.3 release notes</A>
<LI><A HREF="relnotes-7.2.html">7.2 release notes</A>
<LI><A HREF="relnotes-7.1.html">7.1 release notes</A>
<LI><A HREF="relnotes-7.0.4.html">7.0.4 release notes</A>
<LI><A HREF="relnotes-7.0.3.html">7.0.3 release notes</A>
<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>

View File

@@ -15,22 +15,46 @@ OpenGL Shading Language</a>.
</p>
<p>
Last updated on 28 March 2007.
Last updated on 15 December 2008.
</p>
<p>
Contents
</p>
<ul>
<li><a href="#120">GLSL 1.20 support</a>
<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="#standalone">Stand-alone GLSL Compiler</a>
<li><a href="#implementation">Compiler Implementation</a>
<li><a href="#validation">Compiler Validation</a>
</ul>
<a name="120">
<h2>GLSL 1.20 support</h2>
<p>
GLSL version 1.20 is supported in Mesa 7.3.
Among the features/differences of GLSL 1.20 are:
<ul>
<li><code>mat2x3, mat2x4</code>, etc. types and functions
<li><code>transpose(), outerProduct(), matrixCompMult()</code> functions
(but untested)
<li>precision qualifiers (lowp, mediump, highp)
<li><code>invariant</code> qualifier
<li><code>array.length()</code> method
<li><code>float[5] a;</code> array syntax
<li><code>centroid</code> qualifier
<li>unsized array constructors
<li>initializers for uniforms
<li>const initializers calling built-in functions
</ul>
<a name="unsup">
<h2>Unsupported Features</h2>
@@ -40,15 +64,10 @@ 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
<li>Floating point literal suffixes 'f' and 'F' aren't allowed.
</ul>
<p>
@@ -133,7 +152,7 @@ These issues will be addressed/resolved in the future.
<a name="standalone">
<h2>Stand-alone Compiler</h2>
<h2>Stand-alone GLSL Compiler</h2>
<p>
A unique stand-alone GLSL compiler driver has been added to Mesa.
@@ -155,12 +174,10 @@ This tool is useful for:
</ul>
<p>
To build the glslcompiler program (this will be improved someday):
After building Mesa, the glslcompiler can be built by manually running:
</p>
<pre>
cd src/mesa
make libmesa.a
cd drivers/glslcompiler
cd src/mesa/drivers/glslcompiler
make
</pre>
@@ -170,20 +187,31 @@ 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
bin/glslcompiler --debug --numbers --fs progs/glsl/CH06-brick.frag.txt
</pre>
<p>
The output may look similar to this:
results in:
</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
# Fragment Program/Shader
0: RCP TEMP[4].x, UNIFORM[2].xxxx;
1: RCP TEMP[4].y, UNIFORM[2].yyyy;
2: MUL TEMP[3].xy, VARYING[0], TEMP[4];
3: MOV TEMP[1], TEMP[3];
4: MUL TEMP[0].w, TEMP[1].yyyy, CONST[4].xxxx;
5: FRC TEMP[1].z, TEMP[0].wwww;
6: SGT.C TEMP[0].w, TEMP[1].zzzz, CONST[4].xxxx;
7: IF (NE.wwww); # (if false, goto 9);
8: ADD TEMP[1].x, TEMP[1].xxxx, CONST[4].xxxx;
9: ENDIF;
10: FRC TEMP[1].xy, TEMP[1];
11: SGT TEMP[2].xy, UNIFORM[3], TEMP[1];
12: MUL TEMP[1].z, TEMP[2].xxxx, TEMP[2].yyyy;
13: LRP TEMP[0], TEMP[1].zzzz, UNIFORM[0], UNIFORM[1];
14: MUL TEMP[0].xyz, TEMP[0], VARYING[1].xxxx;
15: MOV OUTPUT[0].xyz, TEMP[0];
16: MOV OUTPUT[0].w, CONST[4].yyyy;
17: END
</pre>
<p>
@@ -294,11 +322,11 @@ Extra NOP instructions will also be inserted.
<h2>Compiler Validation</h2>
<p>
A new <a href="http://glean.sf.net" target="_parent">Glean</a> test has
A <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
The <em>glsl1</em> test runs over 170 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.

View File

@@ -27,16 +27,27 @@ the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
</p>
<p>
Details about particular drivers follows.
Be warned that some drivers may be out of date and no longer function.
Details about particular drivers follows:
</p>
<UL>
<LI><a href="xlibdriver.html">Xlib driver</a> for the X Window System
<li><a href="http://dri.freedesktop.org/" target="_parent">
DRI hardware drivers</a> for the X window system
<li><a href="http://dri.freedesktop.org/" target="_parent"> DRI hardware
drivers</a> for the X Window System
<LI><a href="xlibdriver.html">Xlib software driver</a> for the X Window System
and Unix-like operating systems
<LI>Microsoft Windows <A HREF="README.WIN32">(README.WIN32)</A>
<LI>DEC VMS <A HREF="README.VMS">(README.VMS)</A>
</UL>
<h2>Deprecated Systems</h2>
<p>
These drivers have not been maintained and are being deprecated.
They can be saved if someone steps up to help.
</p>
<UL>
<LI>3dfx/Glide <A HREF="README.3DFX">(README.3DFX)</A>
<LI>GGI <A HREF="README.GGI">(README.GGI)</A>
<LI>Amiga Amiwin <A HREF="README.AMIWIN">(README.AMIWIN)</A>
@@ -49,6 +60,10 @@ DRI hardware drivers</a> for the X window system
<LI>OpenStep <A HREF="README.OpenStep">(README.OpenStep)</A>
<LI>OS/2 <A HREF="README.OS2">(README.OS2)</A>
<LI>WindML <A HREF="README.WINDML">(README.WINDML)</A>
</UL>
And for historical reference:
<UL>
<LI><a href="http://utah-glx.sourceforge.net/" target="_parent">Utah GLX drivers</a>
</UL>

View File

@@ -11,7 +11,7 @@
<p>
If you have problems, edits or additions for this website send them
to Brian
(<em>b</em><em>r</em><em>i</em><em>a</em><em>n</em><em>_</em><em>e</em><em>_</em><em>p</em><em>a</em><em>u</em><em>l</em><em>@</em><em>y</em><em>a</em><em>h</em><em>o</em><em>o</em><em>.</em><em>c</em><em>o</em><em>m</em>)</a>.
(<em>b</em><em>r</em><em>i</em><em>a</em><em>n</em><em>.</em><em>e</em><em>.</em><em>p</em><em>a</em><em>u</em><em>l</em><em> </em><em>g</em><em>m</em><em>a</em><em>i</em><em>l</em><em>.</em><em>c</em><em>o</em><em>m</em>)</a>.
</p>
<p>
@@ -21,4 +21,4 @@ Brian's modified it a lot since then.
</body>
</html>
</html>

View File

@@ -1,17 +1,17 @@
<html>
<head>
<title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="qindex">
<a class="qindex" href="../main/index.html">core</a> |
<a class="qindex" href="../glapi/index.html">glapi</a> |
<a class="qindex" href="../vbo/index.html">vbo</a> |
<a class="qindex" href="../math/index.html">math</a> |
<a class="qindex" href="../shader/index.html">shader</a> |
<a class="qindex" href="../swrast/index.html">swrast</a> |
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
<a class="qindex" href="../tnl/index.html">tnl</a> |
<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
</div>
<html>
<head>
<title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="qindex">
<a class="qindex" href="../main/index.html">core</a> |
<a class="qindex" href="../glapi/index.html">glapi</a> |
<a class="qindex" href="../vbo/index.html">vbo</a> |
<a class="qindex" href="../math/index.html">math</a> |
<a class="qindex" href="../shader/index.html">shader</a> |
<a class="qindex" href="../swrast/index.html">swrast</a> |
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
<a class="qindex" href="../tnl/index.html">tnl</a> |
<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
</div>

View File

@@ -1,11 +1,11 @@
<html>
<head><title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="qindex">
<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
<a class="qindex" href="../math_subset/index.html">math</a> |
<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
</div>
<html>
<head><title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="qindex">
<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
<a class="qindex" href="../math_subset/index.html">math</a> |
<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
</div>

View File

@@ -2,17 +2,12 @@
GLincludedir = $(includedir)/GL
INC_FX = fxmesa.h
INC_GGI = ggimesa.h
INC_OSMESA = osmesa.h
INC_SVGA = svgamesa.h
INC_X11 = glx.h glxext.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
INC_X11 = glx.h glxext.h glx_mangle.h
INC_GLUT = glut.h glutf90.h
if HAVE_FX
sel_inc_fx = $(INC_FX)
endif
if HAVE_GGI
sel_inc_ggi = $(INC_GGI)
endif
@@ -35,9 +30,9 @@ endif
EXTRA_HEADERS = amesa.h dosmesa.h foomesa.h glut_h.dja mesa_wgl.h mglmesa.h \
vms_x_fix.h wmesa.h \
$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
$(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \
$(sel_inc_fx) $(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \
$(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \
$(sel_inc_x11) $(sel_inc_glut)
include $(top_srcdir)/common_rules.make

View File

@@ -1,76 +0,0 @@
/*
* Mesa 3-D graphics library
* Version: 3.0
* Copyright (C) 1995-1998 Brian Paul
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* Example Foo/Mesa interface. See src/ddsample.c for more info.
*/
#ifndef FOOMESA_H
#define FOOMESA_H
typedef struct foo_mesa_visual *FooMesaVisual;
typedef struct foo_mesa_buffer *FooMesaBuffer;
typedef struct foo_mesa_context *FooMesaContext;
#ifdef BEOS
#pragma export on
#endif
extern FooMesaVisual FooMesaChooseVisual( /* your params */ );
extern void FooMesaDestroyVisual( FooMesaVisual visual );
extern FooMesaBuffer FooMesaCreateBuffer( FooMesaVisual visual,
void *your_window_id );
extern void FooMesaDestroyBuffer( FooMesaBuffer buffer );
extern FooMesaContext FooMesaCreateContext( FooMesaVisual visual,
FooMesaContext sharelist );
extern void FooMesaDestroyContext( FooMesaContext context );
extern void FooMesaMakeCurrent( FooMesaContext context, FooMesaBuffer buffer );
extern void FooMesaSwapBuffers( FooMesaBuffer buffer );
/* Probably some more functions... */
#ifdef BEOS
#pragma export off
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,31 +1,32 @@
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: This software was created using the
** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
** not been independently verified as being compliant with the OpenGL(R)
** version 1.2.1 Specification.
*/
* SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
* Copyright (C) 1991-2000 Silicon Graphics, Inc. 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"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice including the dates of first publication and
* either this permission notice or a reference to
* http://oss.sgi.com/projects/FreeB/
* shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of Silicon Graphics, Inc.
* shall not be used in advertising or otherwise to promote the sale, use or
* other dealings in this Software without prior written authorization from
* Silicon Graphics, Inc.
*/
#ifndef __glu_h__
#define __glu_h__
@@ -37,8 +38,12 @@
#include <GL/gl.h>
#ifndef GLAPIENTRY
#if defined(_MSC_VER) || defined(__MINGW32__)
#define GLAPIENTRY __stdcall
#else
#define GLAPIENTRY
#endif
#endif
#ifndef GLAPIENTRYP
#define GLAPIENTRYP GLAPIENTRY *

View File

@@ -290,17 +290,25 @@ extern void glXSelectEvent( Display *dpy, GLXDrawable drawable,
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
unsigned long *mask );
/* GLX 1.4 and later */
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
#ifndef GLX_GLXEXT_LEGACY
#include <GL/glxext.h>
#else
/* GLX 1.3 function pointer typedefs */
typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
/*
@@ -316,6 +324,17 @@ extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
/* GLX 1.4 and later */
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
/* GLX 1.4 function pointer typedefs */
typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
#ifndef GLX_GLXEXT_LEGACY
#include <GL/glxext.h>
#endif /* GLX_GLXEXT_LEGACY */

View File

@@ -46,9 +46,9 @@ extern "C" {
/*************************************************************/
/* Header file version number, required by OpenGL ABI for Linux */
/* glxext.h last updated 2007/04/21 */
/* glxext.h last updated 2008/10/22 */
/* Current version at http://www.opengl.org/registry/ */
#define GLX_GLXEXT_VERSION 19
#define GLX_GLXEXT_VERSION 21
#ifndef GLX_VERSION_1_3
#define GLX_WINDOW_BIT 0x00000001
@@ -127,6 +127,14 @@ extern "C" {
#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004
#endif
#ifndef GLX_ARB_create_context
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
#define GLX_CONTEXT_FLAGS_ARB 0x2094
#endif
#ifndef GLX_SGIS_multisample
#define GLX_SAMPLE_BUFFERS_SGIS 100000
#define GLX_SAMPLES_SGIS 100001
@@ -346,6 +354,26 @@ extern "C" {
#define GLX_AUX9_EXT 0x20EB
#endif
#ifndef GLX_NV_present_video
#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
#endif
#ifndef GLX_NV_video_out
#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
#endif
#ifndef GLX_NV_swap_group
#endif
/*************************************************************/
@@ -380,7 +408,7 @@ typedef struct {
#endif
#ifndef GLEXT_64_TYPES_DEFINED
/* This code block is duplicated in glxext.h, so must be protected */
/* This code block is duplicated in glext.h, so must be protected */
#define GLEXT_64_TYPES_DEFINED
/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
/* (as used in the GLX_OML_sync_control extension). */
@@ -389,7 +417,7 @@ typedef struct {
#elif defined(__sun__) || defined(__digital__)
#include <inttypes.h>
#if defined(__STDC__)
#if defined(__arch64__)
#if defined(__arch64__) || defined(_LP64)
typedef long int int64_t;
typedef unsigned long int uint64_t;
#else
@@ -397,7 +425,7 @@ typedef long long int int64_t;
typedef unsigned long long int uint64_t;
#endif /* __arch64__ */
#endif /* __STDC__ */
#elif defined( __VMS )
#elif defined( __VMS ) || defined(__sgi)
#include <inttypes.h>
#elif defined(__SCO__) || defined(__USLC__)
#include <stdint.h>
@@ -482,6 +510,14 @@ typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procNam
#define GLX_ARB_fbconfig_float 1
#endif
#ifndef GLX_ARB_create_context
#define GLX_ARB_create_context 1
#ifdef GLX_GLXEXT_PROTOTYPES
extern GLXContext glXCreateContextAttribsARB (Display *, GLXFBConfig, GLXContext, Bool, const int *);
#endif /* GLX_GLXEXT_PROTOTYPES */
typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
#endif
#ifndef GLX_SGIS_multisample
#define GLX_SGIS_multisample 1
#endif
@@ -777,6 +813,18 @@ typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable,
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
#endif
#ifndef GLX_NV_present_video
#define GLX_NV_present_video 1
#endif
#ifndef GLX_NV_video_out
#define GLX_NV_video_out 1
#endif
#ifndef GLX_NV_swap_group
#define GLX_NV_swap_group 1
#endif
#ifdef __cplusplus
}

View File

@@ -40,7 +40,14 @@
#ifndef DRI_INTERFACE_H
#define DRI_INTERFACE_H
/* For archs with no drm.h */
#if !defined(__APPLE__) && !defined(__CYGWIN__)
#include <drm.h>
#else
typedef unsigned int drm_context_t;
typedef unsigned int drm_drawable_t;
typedef struct drm_clip_rect drm_clip_rect_t;
#endif
/**
* \name DRI interface structures
@@ -68,6 +75,10 @@ typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension;
typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension;
typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension;
typedef struct __DRIswrastExtensionRec __DRIswrastExtension;
typedef struct __DRIbufferRec __DRIbuffer;
typedef struct __DRIdri2ExtensionRec __DRIdri2Extension;
typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
/*@}*/
@@ -336,29 +347,6 @@ struct __DRIdamageExtensionRec {
void *loaderPrivate);
};
/**
* DRI2 Loader extension. This extension describes the basic
* functionality the loader needs to provide for the DRI driver.
*/
#define __DRI_LOADER "DRI_Loader"
#define __DRI_LOADER_VERSION 1
struct __DRIloaderExtensionRec {
__DRIextension base;
/**
* Ping the windowing system to get it to reemit info for the
* specified drawable in the DRI2 event buffer.
*
* \param draw the drawable for which to request info
* \param tail the new event buffer tail pointer
*/
void (*reemitDrawableInfo)(__DRIdrawable *draw, unsigned int *tail,
void *loaderPrivate);
void (*postDamage)(__DRIdrawable *draw, struct drm_clip_rect *rects,
int num_rects, void *loaderPrivate);
};
#define __DRI_SWRAST_IMAGE_OP_DRAW 1
#define __DRI_SWRAST_IMAGE_OP_CLEAR 2
#define __DRI_SWRAST_IMAGE_OP_SWAP 3
@@ -626,4 +614,62 @@ struct __DRIswrastExtensionRec {
void *loaderPrivate);
};
/**
* DRI2 Loader extension.
*/
#define __DRI_BUFFER_FRONT_LEFT 0
#define __DRI_BUFFER_BACK_LEFT 1
#define __DRI_BUFFER_FRONT_RIGHT 2
#define __DRI_BUFFER_BACK_RIGHT 3
#define __DRI_BUFFER_DEPTH 4
#define __DRI_BUFFER_STENCIL 5
#define __DRI_BUFFER_ACCUM 6
#define __DRI_BUFFER_FAKE_FRONT_LEFT 7
#define __DRI_BUFFER_FAKE_FRONT_RIGHT 8
struct __DRIbufferRec {
unsigned int attachment;
unsigned int name;
unsigned int pitch;
unsigned int cpp;
unsigned int flags;
};
#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
#define __DRI_DRI2_LOADER_VERSION 1
struct __DRIdri2LoaderExtensionRec {
__DRIextension base;
__DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable,
int *width, int *height,
unsigned int *attachments, int count,
int *out_count, void *loaderPrivate);
};
/**
* This extension provides alternative screen, drawable and context
* constructors for DRI2.
*/
#define __DRI_DRI2 "DRI_DRI2"
#define __DRI_DRI2_VERSION 1
struct __DRIdri2ExtensionRec {
__DRIextension base;
__DRIscreen *(*createNewScreen)(int screen, int fd,
const __DRIextension **extensions,
const __DRIconfig ***driver_configs,
void *loaderPrivate);
__DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
const __DRIconfig *config,
void *loaderPrivate);
__DRIcontext *(*createNewContext)(__DRIscreen *screen,
const __DRIconfig *config,
__DRIcontext *shared,
void *loaderPrivate);
};
#endif

View File

@@ -1,134 +0,0 @@
/*
* Copyright 2007 Red Hat, Inc
* 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"),
* to deal in the Software without restriction, including without limitation
* on the rights to use, copy, modify, merge, publish, distribute, sub
* license, and/or sell copies of the Software, and to permit persons to whom
* the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef DRI_SAREA_H
#define DRI_SAREA_H
#include <drm.h>
/* The DRI2 SAREA holds a list of self-describing blocks. Each block
* is 8 byte aligned and has a common 32-bit header word. The upper
* 16 bits describe the type of the block and the lower 16 bits the
* size. DRI2 only defines a couple of blocks and allows drivers to
* define driver specific blocks using type codes from 0x8000 and up.
* The type code 0x0000 defines the end of the sarea. */
#define DRI2_SAREA_BLOCK_HEADER(type, size) (((type) << 16) | (size))
#define DRI2_SAREA_BLOCK_TYPE(b) ((b) >> 16)
#define DRI2_SAREA_BLOCK_SIZE(b) ((b) & 0xffff)
#define DRI2_SAREA_BLOCK_NEXT(p) \
((void *) ((unsigned char *) (p) + \
DRI2_SAREA_BLOCK_SIZE(*(unsigned int *) p)))
#define DRI2_SAREA_BLOCK_END 0x0000
#define DRI2_SAREA_BLOCK_LOCK 0x0001
#define DRI2_SAREA_BLOCK_EVENT_BUFFER 0x0002
/* Chipset specific blocks start at 0x8000, 0xffff is reserved. */
typedef struct __DRILock __DRILock;
typedef struct __DRIEventBuffer __DRIEventBuffer;
typedef struct __DRIDrawableBuffer __DRIDrawableBuffer;
typedef struct __DRIDrawableConfigEvent __DRIDrawableConfigEvent;
typedef struct __DRIBufferAttachEvent __DRIBufferAttachEvent;
struct __DRILock {
unsigned int block_header;
drm_hw_lock_t lock;
/* We use this with DRM_CAS to allocate lock IDs for the real lock.*/
unsigned int next_id;
};
struct __DRIEventBuffer {
unsigned int block_header;
unsigned int head; /* last valid event */
unsigned int prealloc; /* event currently being written */
unsigned int size; /* size of data */
unsigned char data[0];
};
enum {
/* the four standard color buffers */
DRI_DRAWABLE_BUFFER_FRONT_LEFT = 0,
DRI_DRAWABLE_BUFFER_BACK_LEFT = 1,
DRI_DRAWABLE_BUFFER_FRONT_RIGHT = 2,
DRI_DRAWABLE_BUFFER_BACK_RIGHT = 3,
/* optional aux buffer */
DRI_DRAWABLE_BUFFER_AUX0 = 4,
DRI_DRAWABLE_BUFFER_AUX1 = 5,
DRI_DRAWABLE_BUFFER_AUX2 = 6,
DRI_DRAWABLE_BUFFER_AUX3 = 7,
DRI_DRAWABLE_BUFFER_DEPTH = 8,
DRI_DRAWABLE_BUFFER_STENCIL = 9,
DRI_DRAWABLE_BUFFER_ACCUM = 10,
/* generic renderbuffers */
DRI_DRAWABLE_BUFFER_COLOR0 = 11,
DRI_DRAWABLE_BUFFER_COLOR1 = 12,
DRI_DRAWABLE_BUFFER_COLOR2 = 13,
DRI_DRAWABLE_BUFFER_COLOR3 = 14,
DRI_DRAWABLE_BUFFER_COLOR4 = 15,
DRI_DRAWABLE_BUFFER_COLOR5 = 16,
DRI_DRAWABLE_BUFFER_COLOR6 = 17,
DRI_DRAWABLE_BUFFER_COLOR7 = 18,
DRI_DRAWABLE_BUFFER_COUNT = 19
};
struct __DRIDrawableBuffer {
unsigned int attachment;
unsigned int handle;
unsigned int pitch;
unsigned short cpp;
/* Upper 8 bits are driver specific, lower 8 bits generic. The
* bits can inidicate buffer properties such as tiled, swizzled etc. */
unsigned short flags;
};
#define DRI2_EVENT_HEADER(type, size) (((type) << 16) | (size))
#define DRI2_EVENT_TYPE(b) ((b) >> 16)
#define DRI2_EVENT_SIZE(b) ((b) & 0xffff)
#define DRI2_EVENT_PAD 0x0000
#define DRI2_EVENT_DRAWABLE_CONFIG 0x0001
#define DRI2_EVENT_BUFFER_ATTACH 0x0002
struct __DRIDrawableConfigEvent {
unsigned int event_header;
unsigned int drawable;
short x;
short y;
unsigned int width;
unsigned int height;
unsigned int num_rects;
struct drm_clip_rect rects[0];
};
struct __DRIBufferAttachEvent {
unsigned int event_header;
unsigned int drawable;
__DRIDrawableBuffer buffer;
};
#endif /* DRI_SAREA_H */

View File

@@ -2,39 +2,34 @@
#define __gl_core_h_
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
**
*/
* SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
* Copyright (C) 1991-2000 Silicon Graphics, Inc. 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"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice including the dates of first publication and
* either this permission notice or a reference to
* http://oss.sgi.com/projects/FreeB/
* shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of Silicon Graphics, Inc.
* shall not be used in advertising or otherwise to promote the sale, use or
* other dealings in this Software without prior written authorization from
* Silicon Graphics, Inc.
*/
#include <sys/types.h>

View File

@@ -1,4 +1,3 @@
/* $XFree86: xc/programs/Xserver/GL/dri/sarea.h,v 1.11 2002/10/30 12:52:03 alanh Exp $ */
/**
* \file sarea.h
* SAREA definitions.
@@ -34,7 +33,6 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/GL/dri/sarea.h,v 1.11 2002/10/30 12:52:03 alanh Exp $ */
#ifndef _SAREA_H_
#define _SAREA_H_

View File

@@ -1,45 +0,0 @@
/* uglglutshapes.h - Public header GLUT Shapes */
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
/* This program is freely distributable without licensing fees and is
provided without guarantee or warrantee expressed or implied. This
program is -not- in the public domain. */
#ifndef GLUTSHAPES_H
#define GLUTSHAPES_H
#ifdef __cplusplus
extern "C" {
#endif
#include <GL/gl.h>
void glutWireSphere (GLdouble radius, GLint slices, GLint stacks);
void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks);
void glutWireCone (GLdouble base, GLdouble height,
GLint slices, GLint stacks);
void glutSolidCone (GLdouble base, GLdouble height,
GLint slices, GLint stacks);
void glutWireCube (GLdouble size);
void glutSolidCube (GLdouble size);
void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius,
GLint sides, GLint rings);
void glutSolidTorus (GLdouble innerRadius, GLdouble outerRadius,
GLint sides, GLint rings);
void glutWireDodecahedron (void);
void glutSolidDodecahedron (void);
void glutWireOctahedron (void);
void glutSolidOctahedron (void);
void glutWireTetrahedron (void);
void glutSolidTetrahedron (void);
void glutWireIcosahedron (void);
void glutSolidIcosahedron (void);
void glutWireTeapot (GLdouble size);
void glutSolidTeapot (GLdouble size);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,155 +0,0 @@
/* uglmesa.h - Public header UGL/Mesa */
/* Copyright (C) 2001 by Wind River Systems, Inc */
/*
* Mesa 3-D graphics library
* Version: 4.0
*
* The MIT License
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/*
* Author:
* Stephane Raimbault <stephane.raimbault@windriver.com>
*/
#ifndef UGLMESA_H
#define UGLMESA_H
#ifdef __cplusplus
extern "C" {
#endif
#define UGL_MESA_MAJOR_VERSION 4
#define UGL_MESA_MINOR_VERSION 0
#include <GL/gl.h>
#include <ugl/ugl.h>
/*
* Values for display mode of uglMesaCreateContext ()
*/
/*
* With these mask values, it's possible to test double buffer mode
* with UGL_MESA_DOUBLE mask
*
* SINGLE 0000 0001
* DOUBLE 0000 0110
* - SOFT 0000 0010
* - HARD 0000 0100
* WINDML 0001 0000
*
*
*/
#define UGL_MESA_SINGLE 0x01
#define UGL_MESA_DOUBLE 0x06
#define UGL_MESA_DOUBLE_SOFTWARE 0x02
#define UGL_MESA_DOUBLE_HARDWARE 0x04
#define UGL_MESA_WINDML_EXCLUSIVE 0x10
#define UGL_MESA_FULLSCREEN_WIDTH 0x0
#define UGL_MESA_FULLSCREEN_HEIGHT 0x0
/*
* uglMesaPixelStore() parameters:
*/
#define UGL_MESA_ROW_LENGTH 0x20
#define UGL_MESA_Y_UP 0x21
/*
* Accepted by uglMesaGetIntegerv:
*/
#define UGL_MESA_LEFT_X 0x01
#define UGL_MESA_TOP_Y 0x02
#define UGL_MESA_WIDTH 0x03
#define UGL_MESA_HEIGHT 0x04
#define UGL_MESA_DISPLAY_WIDTH 0x05
#define UGL_MESA_DISPLAY_HEIGHT 0x06
#define UGL_MESA_COLOR_FORMAT 0x07
#define UGL_MESA_COLOR_MODEL 0x08
#define UGL_MESA_PIXEL_FORMAT 0x09
#define UGL_MESA_TYPE 0x0A
#define UGL_MESA_RGB 0x0B
#define UGL_MESA_COLOR_INDEXED 0x0C
#define UGL_MESA_SINGLE_BUFFER 0x0D
#define UGL_MESA_DOUBLE_BUFFER 0x0E
#define UGL_MESA_DOUBLE_BUFFER_SOFTWARE 0x0F
#define UGL_MESA_DOUBLE_BUFFER_HARDWARE 0x10
/*
* typedefs
*/
typedef struct uglMesaContext * UGL_MESA_CONTEXT;
UGL_MESA_CONTEXT uglMesaCreateNewContext (GLenum mode,
UGL_MESA_CONTEXT share_list);
UGL_MESA_CONTEXT uglMesaCreateNewContextExt (GLenum mode,
GLint depth_bits,
GLint stencil_bits,
GLint accum_red_bits,
GLint accum_green_bits,
GLint accum_blue_bits,
GLint accum_alpha_bits,
UGL_MESA_CONTEXT share_list);
GLboolean uglMesaMakeCurrentContext (UGL_MESA_CONTEXT umc,
GLsizei left, GLsizei top,
GLsizei width, GLsizei height);
GLboolean uglMesaMoveWindow (GLsizei dx, GLsizei dy);
GLboolean uglMesaMoveToWindow (GLsizei left, GLsizei top);
GLboolean uglMesaResizeWindow (GLsizei dw, GLsizei dh);
GLboolean uglMesaResizeToWindow (GLsizei width, GLsizei height);
void uglMesaDestroyContext (void);
UGL_MESA_CONTEXT uglMesaGetCurrentContext (void);
void uglMesaSwapBuffers (void);
void uglMesaPixelStore (GLint pname, GLint value);
void uglMesaGetIntegerv (GLint pname, GLint *value);
GLboolean uglMesaGetDepthBuffer (GLint *width, GLint *height,
GLint *bytesPerValue, void **buffer);
GLboolean uglMesaGetColorBuffer (GLint *width, GLint *height,
GLint *format, void **buffer);
GLboolean uglMesaSetColor (GLubyte index, GLfloat red,
GLfloat green, GLfloat blue);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -130,7 +130,7 @@ extern void WMesaPaletteChange(HPALETTE Pal);
extern void WMesaMove(void);
void WMesaShareLists(WMesaContext ctx_to_share, WMesaContext ctx);
#ifdef __cplusplus
}

View File

@@ -2,38 +2,34 @@
#define _EGL_H
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.0 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
*/
* SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
* Copyright (C) 1991-2000 Silicon Graphics, Inc. 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"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice including the dates of first publication and
* either this permission notice or a reference to
* http://oss.sgi.com/projects/FreeB/
* shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of Silicon Graphics, Inc.
* shall not be used in advertising or otherwise to promote the sale, use or
* other dealings in this Software without prior written authorization from
* Silicon Graphics, Inc.
*/
#if 0/*XXX TEMPORARY HACK*/
#include <GLES/gl.h>

View File

@@ -13,20 +13,20 @@
/*
** These opaque EGL types are implemented as unsigned 32-bit integers:
*/
typedef u_int32_t EGLDisplay;
typedef u_int32_t EGLConfig;
typedef u_int32_t EGLSurface;
typedef u_int32_t EGLContext;
typedef uint32_t EGLDisplay;
typedef uint32_t EGLConfig;
typedef uint32_t EGLSurface;
typedef uint32_t EGLContext;
/* EGL_MESA_screen_surface */
typedef u_int32_t EGLModeMESA;
typedef u_int32_t EGLScreenMESA;
typedef uint32_t EGLModeMESA;
typedef uint32_t EGLScreenMESA;
/*
** Other basic EGL types:
*/
typedef u_int8_t EGLBoolean;
typedef uint8_t EGLBoolean;
typedef int32_t EGLint;
typedef void * NativeDisplayType;

View File

@@ -1,192 +0,0 @@
/*******************************************************************************
/
/ File: GLView.h
/
/ Copyright 1993-98, Be Incorporated, All Rights Reserved.
/
*******************************************************************************/
#ifndef BGLVIEW_H
#define BGLVIEW_H
#include <GL/gl.h>
#define BGL_RGB 0
#define BGL_INDEX 1
#define BGL_SINGLE 0
#define BGL_DOUBLE 2
#define BGL_DIRECT 0
#define BGL_INDIRECT 4
#define BGL_ACCUM 8
#define BGL_ALPHA 16
#define BGL_DEPTH 32
#define BGL_OVERLAY 64
#define BGL_UNDERLAY 128
#define BGL_STENCIL 512
#ifdef __cplusplus
#include <AppKit.h>
#include <interface/Window.h>
#include <interface/View.h>
#include <interface/Bitmap.h>
#include <game/WindowScreen.h>
#include <game/DirectWindow.h>
class BGLView : public BView {
public:
BGLView(BRect rect, char *name,
ulong resizingMode, ulong mode,
ulong options);
virtual ~BGLView();
void LockGL();
void UnlockGL();
void SwapBuffers();
void SwapBuffers( bool vSync );
BView * EmbeddedView();
status_t CopyPixelsOut(BPoint source, BBitmap *dest);
status_t CopyPixelsIn(BBitmap *source, BPoint dest);
virtual void ErrorCallback(unsigned long errorCode); // Mesa's GLenum is uint where Be's ones was ulong!
virtual void Draw(BRect updateRect);
virtual void AttachedToWindow();
virtual void AllAttached();
virtual void DetachedFromWindow();
virtual void AllDetached();
virtual void FrameResized(float width, float height);
virtual status_t Perform(perform_code d, void *arg);
/* The public methods below, for the moment,
are just pass-throughs to BView */
virtual status_t Archive(BMessage *data, bool deep = true) const;
virtual void MessageReceived(BMessage *msg);
virtual void SetResizingMode(uint32 mode);
virtual void Show();
virtual void Hide();
virtual BHandler *ResolveSpecifier(BMessage *msg, int32 index,
BMessage *specifier, int32 form,
const char *property);
virtual status_t GetSupportedSuites(BMessage *data);
/* New public functions */
void DirectConnected( direct_buffer_info *info );
void EnableDirectMode( bool enabled );
void * getGC() { return m_gc; }
private:
virtual void _ReservedGLView1();
virtual void _ReservedGLView2();
virtual void _ReservedGLView3();
virtual void _ReservedGLView4();
virtual void _ReservedGLView5();
virtual void _ReservedGLView6();
virtual void _ReservedGLView7();
virtual void _ReservedGLView8();
BGLView(const BGLView &);
BGLView &operator=(const BGLView &);
void dither_front();
bool confirm_dither();
void draw(BRect r);
void * m_gc;
uint32 m_options;
uint32 m_ditherCount;
BLocker m_drawLock;
BLocker m_displayLock;
void * m_clip_info;
void * _Unused1;
BBitmap * m_ditherMap;
BRect m_bounds;
int16 * m_errorBuffer[2];
uint64 _reserved[8];
/* Direct Window stuff */
private:
void drawScanline( int x1, int x2, int y, void *data );
static void scanlineHandler(struct rasStateRec *state, GLint x1, GLint x2);
void lock_draw();
void unlock_draw();
bool validateView();
};
class BGLScreen : public BWindowScreen {
public:
BGLScreen(char *name,
ulong screenMode, ulong options,
status_t *error, bool debug=false);
~BGLScreen();
void LockGL();
void UnlockGL();
void SwapBuffers();
virtual void ErrorCallback(GLenum errorCode);
virtual void ScreenConnected(bool connected);
virtual void FrameResized(float width, float height);
virtual status_t Perform(perform_code d, void *arg);
/* The public methods below, for the moment,
are just pass-throughs to BWindowScreen */
virtual status_t Archive(BMessage *data, bool deep = true) const;
virtual void MessageReceived(BMessage *msg);
virtual void Show();
virtual void Hide();
virtual BHandler *ResolveSpecifier(BMessage *msg,
int32 index,
BMessage *specifier,
int32 form,
const char *property);
virtual status_t GetSupportedSuites(BMessage *data);
private:
virtual void _ReservedGLScreen1();
virtual void _ReservedGLScreen2();
virtual void _ReservedGLScreen3();
virtual void _ReservedGLScreen4();
virtual void _ReservedGLScreen5();
virtual void _ReservedGLScreen6();
virtual void _ReservedGLScreen7();
virtual void _ReservedGLScreen8();
BGLScreen(const BGLScreen &);
BGLScreen &operator=(const BGLScreen &);
void * m_gc;
long m_options;
BLocker m_drawLock;
int32 m_colorSpace;
uint32 m_screen_mode;
uint64 _reserved[7];
};
#endif // __cplusplus
#endif // BGLVIEW_H

View File

@@ -1,4 +1,3 @@
// $Id: demo.cpp,v 1.2 2004/08/14 09:59:16 phoudoin Exp $
// Simple BeOS GLView demo
// Written by Brian Paul

View File

@@ -27,6 +27,7 @@ PROGS = \
cubemap \
drawpix \
engine \
fbo_firecube \
fire \
fogcoord \
fplight \
@@ -124,41 +125,41 @@ extfuncs.h: $(TOP)/progs/util/extfuncs.h
reflect: reflect.o showbuffer.o readtex.o
$(CC) $(LDFLAGS) reflect.o showbuffer.o readtex.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) reflect.o showbuffer.o readtex.o $(LIBS) -o $@
reflect.o: reflect.c showbuffer.h
$(CC) -c -I$(INCDIR) $(CFLAGS) reflect.c
shadowtex: shadowtex.o showbuffer.o
$(CC) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@
shadowtex.o: shadowtex.c showbuffer.h
$(CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c
gloss: gloss.o trackball.o readtex.o
$(CC) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@
gloss.o: gloss.c trackball.h
$(CC) -c -I$(INCDIR) $(CFLAGS) gloss.c
engine: engine.o trackball.o readtex.o
$(CC) $(LDFLAGS) engine.o trackball.o readtex.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) engine.o trackball.o readtex.o $(LIBS) -o $@
engine.o: engine.c trackball.h
$(CC) -c -I$(INCDIR) $(CFLAGS) engine.c
fslight: fslight.o
$(CC) $(LDFLAGS) fslight.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) fslight.o $(LIBS) -o $@
fslight.o: fslight.c extfuncs.h
$(CC) -c -I$(INCDIR) $(CFLAGS) fslight.c
rain: particles.o rain.o readtex.o
$(CXX) $(LDFLAGS) $^ $(LIBS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@
rain.o: rain.cxx readtex.h
$(CXX) -c -I$(INCDIR) $(CXXFLAGS) $<

View File

@@ -37,7 +37,7 @@
static GLboolean Anim = GL_TRUE;
static GLfloat Xpos = 0;
static GLuint OccQuery;
static GLint Win = 0;
static void
@@ -204,6 +204,7 @@ static void Key( unsigned char key, int x, int y )
(void) y;
switch (key) {
case 27:
glutDestroyWindow(Win);
exit(0);
break;
case ' ':
@@ -271,7 +272,7 @@ int main( int argc, char *argv[] )
glutInitWindowPosition( 0, 0 );
glutInitWindowSize( 400, 400 );
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow(argv[0]);
Win = glutCreateWindow(argv[0]);
glutReshapeFunc( Reshape );
glutKeyboardFunc( Key );
glutSpecialFunc( SpecialKey );

1050
progs/demos/fbo_firecube.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -264,38 +264,44 @@ draw(void)
glLoadIdentity();
glTranslatef(0.0, 0.0, -40.0);
/* clear whole depth buffer */
glDisable(GL_SCISSOR_TEST);
glClear(GL_DEPTH_BUFFER_BIT);
glEnable(GL_SCISSOR_TEST);
/* draw gears */
/* clear upper-left corner of color buffer (unused space) */
glScissor(0, TexHeight, TexWidth, WinHeight - TexHeight);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
/* clear lower-left corner of color buffer */
glViewport(0, 0, TexWidth, TexHeight);
glScissor(0, 0, TexWidth, TexHeight);
glClearColor(0.5, 0.5, 0.8, 0.0);
glClearColor(1, 1, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);
/* draw gears in lower-left corner */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 60.0);
glMatrixMode(GL_MODELVIEW);
DrawGears();
/* copy color buffer to texture */
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, TexWidth, TexHeight);
/* draw textured cube */
/* clear right half of color buffer */
glViewport(TexWidth, 0, WinWidth - TexWidth, WinHeight);
glScissor(TexWidth, 0, WinWidth - TexWidth, WinHeight);
glClearColor(0.5, 0.5, 0.8, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
/* draw textured cube in right half of window */
ar = (float) (WinWidth - TexWidth) / WinHeight;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-ar, ar, -1.0, 1.0, 5.0, 60.0);
glMatrixMode(GL_MODELVIEW);
DrawCube();
/* finish up */

View File

@@ -114,7 +114,7 @@ static void calcposobs(void)
rainParticle::setRainingArea(obs[0]-7.0f,-0.2f,obs[2]-7.0f,obs[0]+7.0f,8.0f,obs[2]+7.0f);
}
static void printstring(void *font, char *string)
static void printstring(void *font, const char *string)
{
int len,i;

View File

@@ -955,7 +955,6 @@ Init(void)
glGenTextures(1, &GrayTexture);
glBindTexture(GL_TEXTURE_1D, GrayTexture);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
{

View File

@@ -76,6 +76,7 @@ int textureWidth = 64;
int textureHeight = 64;
int winWidth = 580, winHeight = 720;
int win;
struct formatInfo {
GLenum baseFormat;
@@ -288,6 +289,7 @@ static void keyboard( unsigned char c, int x, int y )
displayLevelInfo = !displayLevelInfo;
break;
case 27: /* Escape key should force exit. */
glutDestroyWindow(win);
exit(0);
break;
default:
@@ -785,7 +787,7 @@ int main( int argc, char *argv[] )
glutInitWindowSize( winWidth, winHeight );
glutInitWindowPosition( 0, 0 );
glutCreateWindow( "Texture Environment Test" );
win = glutCreateWindow( "Texture Environment Test" );
initialize();
instructions();

View File

@@ -72,7 +72,7 @@ UTIL_FILES = readtex.h readtex.c
.SUFFIXES: .c
.c:
$(CC) $(INCLUDES) $(CFLAGS) $< $(LIBS) -o $@
$(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
.c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
@@ -99,13 +99,13 @@ getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.
texrect: texrect.o readtex.o
$(CC) texrect.o readtex.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) texrect.o readtex.o $(LIBS) -o $@
texrect.o: texrect.c readtex.h
$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
invert: invert.o readtex.o
$(CC) invert.o readtex.o $(LIBS) -o $@
$(CC) $(CFLAGS) $(LDFLAGS) invert.o readtex.o $(LIBS) -o $@
invert.o: invert.c readtex.h
$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@

View File

@@ -1,4 +1,3 @@
/* $Id: gears.c,v 1.3 1999/08/22 08:56:50 jtaylor Exp $ */
/*
* 3-D gear wheels. This program is in the public domain.

View File

@@ -4,10 +4,14 @@ bump
deriv
extfuncs.h
mandelbrot
multinoise
multitex
noise
points
readtex.c
readtex.h
shaderutil.c
shaderutil.h
texdemo1
toyball
trirast

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