Compare commits

...

3321 Commits

Author SHA1 Message Date
Julien Cristau
af3c568475 Prepare changelog for upload 2009-03-25 11:34:58 +01:00
Julien Cristau
7d01429512 Build-depend on linux-libc-dev >= 2.6.29 on linux archs.
The 2.6.28 kernel headers miss some compat defines.
2009-03-25 01:51:02 +01:00
Julien Cristau
8d088cd34f update changelog 2009-03-23 17:25:04 +01:00
Julien Cristau
094d627885 Merge tag 'mesa_7_4_rc1' into debian-experimental 2009-03-23 17:21:26 +01:00
Brian Paul
17db2db9dc docs: prep for 7.4 release 2009-03-20 17:34:54 -06:00
Brian Paul
dba79af9bc mesa: prep for 7.4-rc1 release 2009-03-20 17:26:04 -06:00
Brian Paul
b009a32bf4 r300: don't crash on sw tcl hw if point size vertex attrib is sent
(cherry picked from master, commit 005ad1a71d)
2009-03-20 08:49:39 -06:00
Brian Paul
7122490982 mesa: avoid setting texObj->_Complete = GL_FALSE when there's no state change
Avoid a little bit of unneeded state validation and fixes a bug where the
texture complete flags was set to false, but we didn't signal _NEW_TEXTURE.

Fixes piglit tex1d-2dborder failure.
(cherry picked from commit aad3f546a0)
2009-03-18 14:47:47 -07:00
Brian Paul
6ada1d47d9 mesa: add no-change testing for a few more texture parameters
(cherry picked from commit 37c768b36a)
2009-03-18 10:54:09 -07:00
Robert Ellison
55865335f4 i965: fix polygon stipple when rendering to FBO
The polygon stipple pattern, like the viewport and the
polygon face orientation, must be inverted on the i965
when rendering to a FBO (which itself has an inverted pixel
coordinate system compared to raw Mesa).

In addition, the polygon stipple offset, which orients
the stipple to the window system, disappears when rendering
to an FBO (because the window system offset doesn't apply,
and there's no associated FBO offset).

With these fixes, the conform triangle and polygon stipple
tests pass when rendering to texture.
(cherry picked from commit 29309b45b0)
2009-03-18 10:47:24 -07:00
Robert Ellison
918e5221ef i965: fix polygon face orientation when rendering to FBO
In the i965, the FBO coordinate system is inverted from the standard
OpenGL/Mesa coordinate system; that means that the viewport and the
polygon face orientation have to be inverted if rendering to a FBO.

The viewport was already being handled correctly; but polygon face
was not.  This caused a conform failure when rendering to texture with
two-sided lighting enabled.

This fixes the problem in the i965 driver, and adds to the comment about
the gl_framebuffer "Name" field so that this isn't a surprise to other
driver writers.
(cherry picked from commit 6dceeb2eb8)
2009-03-18 10:47:24 -07:00
Brian Paul
9feb26584a swrast: use better _swrast_compute_lambda() function
The MAX-based function can produce values that are non-monotonic for a span
which causes glitches in texture filtering.  The sqrt-based one avoids that.

This is perhaps slightly slower than before, but the difference
probably isn't noticable given we're doing software mipmap filtering.

Issue reported by Nir Radian <nirr@horizonsemi.com>

(cherry picked from master, commit c334ce273e)
2009-03-17 10:34:45 -06:00
Ian Romanick
a8528a2e86 Mark current bits as 2009Q1-RC1 for Intel driver. 2009-03-16 13:39:32 -07:00
Brian Paul
119360cccd i965: init dest reg CondMask = COND_TR (the proper default)
Plus fix up a debug printf.
(cherry picked from commit 20f49252e1)
2009-03-13 17:38:40 -07:00
Brian Paul
ac2216542d glsl: fix vec4_texp_rect IR code (need projective version) (cherry picked from commit ad2cfa4199) 2009-03-13 17:38:40 -07:00
Brian Paul
37e5c057f1 i965: check if we run out of GRF/temp registers
Before this change we would up emitting instructions with invalid register
numbers.  This typically (but not always) hung the GPU.  For now, just
prevent emitting bad instructions to avoid hangs.  Still need to do some
kind of proper error recovery.
(cherry picked from commit e60b3067d8)
2009-03-13 17:38:40 -07:00
Brian Paul
4d9b8e0f93 mesa: added _mesa_fprintf() wrapper (cherry picked from commit 596b8fbbbf) 2009-03-13 17:38:40 -07:00
Brian Paul
c1b71f46b5 i965: fix emit_math1() function used for scalar instructions
Instructions such as RCP, RSQ, LOG must smear the result of the function
across the dest register's X, Y, Z and W channels (subject to write masking).
Before this change, only the X component was getting written.

Among other things, this fixes cube map texture sampling in GLSL shaders
(since cube lookups involve normalizing the texcoord).
(cherry picked from commit 3485801978)
2009-03-13 17:38:39 -07:00
Brian Paul
4a25ac9564 i965: rewrite the code for handling shader subroutine calls
Previously, the prog_instruction::Data field was used to map original Mesa
instructions to brw instructions in order to resolve subroutine calls.  This
was a rather tangled mess.  Plus it's an obstacle to implementing dynamic
allocation/growing of the instruction buffer (it's still a fixed size).

Mesa's GLSL compiler emits a label for each subroutine and CAL instruction.
Now we use those labels to patch the subroutine calls after code generation
has been done.  We just keep a list of all CAL instructions that needs patching
and a list of all subroutine labels.  It's a simple matter to resolve them.

This also consolidates some redundant post-emit code between brw_vs_emit.c and
brw_wm_glsl.c and removes some loops that cleared the prog_instruction::Data
fields at the end.

Plus, a bunch of new comments.
(cherry picked from commit c51c822ee0)
2009-03-13 17:38:39 -07:00
Eric Anholt
35d965b39b intel: Fix bpp setting of blits to 8bpp targets.
This was causing hangs in cairogears, as we would blit to the 8bpp target
(A8 texture) as 16bpp, and stomp over state objects.
(cherry picked from commit 19e134051c)
2009-03-13 17:38:39 -07:00
Robert Ellison
d0aab00609 i965: add software fallback for conformant 3D textures and GL_CLAMP
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
commit forced a software fallback if strict conformance was required
(i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
2D textures were used, but it was somewhat flawed - it could trigger
the software fallback even if 2D textures weren't enabled, as long
as one texture unit was enabled.

This fixes that, and adds software fallback for GL_CLAMP behavior with
1D and 3D textures.

It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
environment variable, which forces software fallbacks to be taken *all*
the time.  This is helpful with debugging.  The value is:
   export INTEL_STRICT_CONFORMANCE=2
(cherry picked from commit 3468315087)
2009-03-13 17:38:39 -07:00
Brian Paul
ef33d0f103 mesa: don't draw arrays if vertex position array is not enabled
For regular GL, we must have vertex positions in order to draw.  But ES2
doesn't have that requirement (positions can be computed from any array
of data).

See bug 19911.
(cherry picked from commit 97dd2ddbd9)
2009-03-13 17:38:39 -07:00
Robert Ellison
349b819768 i965: texture fixes: bordered textures, fallback rendering
i965 doesn't natively support GL_CLAMP; it treats it like
GL_CLAMP_TO_EDGE, which fails conformance tests.

This fix adds a clause to the check_fallbacks() test to check
whether GL_CLAMP is in use on any enabled 2D texture.  If so,
and if strict conformance is required (via INTEL_STRICT_CONFORMANCE),
a software fallback is mandated.

In addition, validate textures *before* checking for fallbacks,
rather than after; otherwise, the texture state is never validated
and can't be trusted.  (In particular, if texturing is enabled and
the sampler would access any level beyond level 0 of a texture, the
sampler will segfault, because texture validation sets the firstLevel
and lastLevel fields of a texture object so that the valid levels
will be mapped and accessed correctly.  If texture validation doesn't
occur, only level 0 is accessed correctly, and that only because
firstLevel and lastLevel happen to be set to 0.)
(cherry picked from commit 17c7852bf9)
2009-03-13 17:38:39 -07:00
Dave Airlie
50443db882 texmem: fix typo from brianp's changes.
Reported by cjb via tinderbox on irc
(cherry picked from commit 487a55af78)
2009-03-13 17:38:39 -07:00
Brian Paul
c503cacb53 mesa: use an array for current texture objects
Use loops to consolidate lots of texture object code.
(cherry picked from commit 9818734e01)
2009-03-13 17:38:39 -07:00
Brian Paul
e862b4e38f mesa: use an array for default texture objects
Replace Default1D/2D/3D/Cube/etc with DefaultTex[TEXTURE_x_INDEX].
The same should be done with the Current1D/2D/3D/etc pointers...
(cherry picked from commit 4d24b639d1)
2009-03-13 17:38:39 -07:00
Robert Ellison
e9dfc858fb Fix an i965 assertion failure on glClear()
While running conform with render-to-texture:

	conform -d 33 -v 2 -t -direct

the i965 driver failed this assertion:

intel_clear.c:77: intel_clear_tris: Assertion `(mask & ~((1 << BUFFER_BACK_LEFT) | (1 << BUFFER_FRONT_LEFT) | (1 << BUFFER_DEPTH) | (1 << BUFFER_STENCIL))) == 0' failed.

The problem is that intel_clear_tris() is called by intelClear() to
clear any and all of the available color buffers, but intel_clear_tris()
actually only handles the back left and front left color buffers; so
the assertion fails as soon as you try to clear a non-standard color
buffer.

The fix is to have intelClear() only call intel_clear_tris() with
buffers that intel_clear_tris() can support.  intelClear() already backs
down to _swrast_Clear() for all buffers that aren't handled explicitly.
(cherry picked from commit 0ccbc3c905)
2009-03-13 17:38:39 -07:00
Brian Paul
5efbca1e21 intel: fix datatype typo, s/GLboolean/GLuint/
Fixes mysterious failures in glean glsl1 test.
(cherry picked from commit da2b661ee4)
2009-03-13 17:38:39 -07:00
Kristian Høgsberg
d6d8663a88 intel: Fix intelSetTexBuffer miptree leak.
The intelImage also holds a reference to the miptree, so unref that as well.
(cherry picked from commit 5b354d39d4)
2009-03-13 17:38:39 -07:00
Eric Anholt
13990bd98a intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees,
and PBO-uploaded textures when there's an unreferenced but still active one
cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded
textures.  The size of BOs allocated for a desktop running current GL
cairogears on i915 is cut in half with this.

Note that this means we require libdrm 2.4.5.
(cherry picked from commit 40dd024be6)
2009-03-13 17:38:39 -07:00
Eric Anholt
def630d0a2 i965: Fix render target read domains.
We were asking for something illegal (write_domain != 0 && read_domains !=
write_domain) because at the time of writing the region surfaces were used
for texturing occasionally as well, and we weren't really clear on the model
GEM was going to use.

This reliably triggered a kernel bug with domain handling, resulting in
oglconform mustpass.c failure.  Of course, it only became visible after
01bc4d441f cleaned up some gratuitous flushing.
(cherry picked from commit 078e8a61b2)
2009-03-13 17:38:39 -07:00
Eric Anholt
ca2564f1e6 intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().
Everything other than "make sure the last rendering ends up visible on the
screen" doesn't need that behavior.
(cherry picked from commit 01bc4d441f)
2009-03-13 17:38:38 -07:00
Eric Anholt
711a57f7c7 intel: don't crash when dri2 tells us about buffers we don't care about. (cherry picked from commit f82f1ffba9) 2009-03-13 17:38:38 -07:00
Eric Anholt
058cf2fff1 dri2: Initialize variables for the getbuffers round-trip reduction.
Missed setting the initial values which usually didn't hurt at runtime.
(cherry picked from commit 680c708dee)
2009-03-13 17:38:38 -07:00
Eric Anholt
715f509c5d intel: Fix tri clear to do FBO color attachments as well.
This is a 2% win in fbo_firecube, and would avoid a sw fallback for
masked clears.
(cherry picked from commit fd51cf1531)
2009-03-13 17:38:38 -07:00
Eric Anholt
e704e6c6f3 i965: Fix fallback on stencil drawing to fbo when the visual lacks stencil.
Noticed this with the fbotexture demo.
(cherry picked from commit c06f4e2a37)
2009-03-13 17:38:38 -07:00
Brian Paul
01f34e667a i965: need to disable current shader, if any, in intel_clear_tris()
Fixes bad background in all the progs/glsl/ tests.
(cherry picked from commit 60b3fe6c19)
2009-03-13 17:38:38 -07:00
Eric Anholt
4d0a7b33c5 intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format. (cherry picked from commit 0b63f6449e) 2009-03-13 17:38:38 -07:00
Eric Anholt
fb1d2ed34c intel: Fix some state leakage of {Client,}ActiveTexture in metaops.
Found while debugging cairo-gl.
(cherry picked from commit d11981e0d7)
2009-03-13 17:38:38 -07:00
Eric Anholt
9395fedf98 i965: Remove brw->attribs now that we can just always look in the GLcontext. (cherry picked from commit 052c1d66a1) 2009-03-13 17:38:38 -07:00
Eric Anholt
9abc0d80af i965: Delete old metaops code now that there are no remaining consumers. (cherry picked from commit 14321fcfde) 2009-03-13 17:38:38 -07:00
Brian Paul
90e89c01df i965: init array->Format fields (see bug 19708) (cherry picked from commit 628b52241b) 2009-03-13 17:38:38 -07:00
Eric Anholt
790d93e362 intel: If we're doing a depth clear with tris, do color with it.
This is a 10% win on the ever-important glxgears not-a-benchmark.
(cherry picked from commit 67ee22c89f)
2009-03-13 17:38:38 -07:00
Eric Anholt
e9f3783169 i915: Only call CalcViewport from DrawBuffers instead of Viewport.
This saves an inadvertent round-trip to the X Server on DrawBuffers, which was
hurting some metaops.
(cherry picked from commit ac0dfbdf0f)
2009-03-13 17:38:38 -07:00
Brian Paul
e41780fedc intel: move some driver functions around
A step toward consolidating i915/intel_state.c and i965/intel_state.c
(cherry picked from commit 84c8b5bbf9)
2009-03-13 17:38:38 -07:00
Eric Anholt
d0edbbb3f3 intel: replace custom metaops clear with generic.
No real-world impact on performance seen.  Even glxgears seems to be, if
anything, happier.
(cherry picked from commit c96bac0950)
2009-03-13 17:38:38 -07:00
Brian Paul
e10119c23e intel: make intelUpdateScreenFromSAREA() static (cherry picked from commit aae2729aeb) 2009-03-13 17:38:38 -07:00
Brian Paul
208c087f39 intel: remove unused var (cherry picked from commit 66c7f06413) 2009-03-13 17:38:38 -07:00
Shaohua Li
0c8b40b42b i915: Add support for a new G33-like chipset.
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 40290745ea)
2009-03-13 17:38:37 -07:00
Xiang, Haihao
5199f451bb i965: fix for RHW workaround
It is possible that an object whose vertices all are outside of a
view plane is passed to clip thread due to the RHW workaround. This
object should be rejected by clip thread. Fix bug #19879
(cherry picked from commit 68915fd6fa)
2009-03-13 17:38:37 -07:00
Brian Paul
dd7cde5230 i965: tell GLSL compiler to emit code using condition codes
The default for EmitCondCodes got flipped when gallium-0.2 was merged.
This fixes GLSL if/else/endif regressions.
Drivers that use GLSL should always explicitly set the flag to be safe.
(cherry picked from commit a9e753c84c)
2009-03-13 17:38:37 -07:00
Eric Anholt
ab5746e5d8 tdfx: Fix begin/endquery for current API. (cherry picked from commit 0cb295584f) 2009-03-13 17:38:37 -07:00
Brian Paul
3bd446c0ab i965: add missing break for OPCODE_RET case
This doesn't effect correctness, but we were emitting an extraneous ADD.
(cherry picked from commit 74b6d55864)
2009-03-13 17:38:37 -07:00
Brian Paul
9b78402ee4 mesa: more info in error messages (cherry picked from commit 1ca05a066b) 2009-03-13 17:38:37 -07:00
Brian Paul
cf1ef0f308 mesa: minor error msg improvement (cherry picked from commit 803504e69f) 2009-03-13 17:38:37 -07:00
Chris Wilson
fd1f65ba61 intel: Decode MI operands using specific length masks
The MI opcodes have different variable length masks, so use an operand
specific mask to decode the length.
(cherry picked from commit e92d97d75b)
2009-03-13 17:38:37 -07:00
Chris Wilson
967345b497 intel: Correct decoding of 3DSTATE_PIXEL_SHADER_CONSTANTS
A couple of minor typos that proclaimed an error in the wrong command, and
failed to offset the mask.
(cherry picked from commit 05d130a35a)
2009-03-13 17:38:37 -07:00
Ian Romanick
41ad853a6a glxgears: No, really. Fix the dyslexia. (cherry picked from commit 5b5ddfb89c) 2009-03-13 17:38:37 -07:00
Ian Romanick
842baa29cb Fix dyslexia. (cherry picked from commit 9d6880ec8d) 2009-03-13 17:38:37 -07:00
Ian Romanick
9556d870a1 glxgears: Log a message if synched to vblank
Tries to use either GLX_MESA_swap_control or GLX_SGI_video_sync to
detect whether the display is synchronized to the vertical blank.  If
it detects this, a message will be printed.  HOPEFULLY this will
prevent some of the bug reports such as "glxgears only gets 59.7fps.
What's wrong with my driver?"
(cherry picked from commit 58b9cd411f)
2009-03-13 17:38:37 -07:00
Brian Paul
42ce790086 mesa: refactor glTexParameter code (cherry picked from commit 318e53a4bf) 2009-03-13 17:38:37 -07:00
Robert Ellison
b17769af42 mesa: add missing texture_put_row_rgb() function in texrender.c
The wrap_texture() function doesn't set the renderbuffer PutRowRGB() method,
which is used to implement DrawPixels().  This fix adds an implementation
of this method.
(cherry picked from commit 523febe12e)
2009-03-13 17:38:37 -07:00
Brian Paul
9030277b0d intel: move glClear-related code into new intel_clear.c file (cherry picked from commit 4451eb2e75) 2009-03-13 17:38:37 -07:00
Brian Paul
a37a9bf769 intel: Move swap-related functions from intel_buffers.c to new intel_swapbuffers.c (cherry picked from commit 6fcebbe719) 2009-03-13 17:38:37 -07:00
Brian Paul
8afb8a8145 i965: scissor rect was inverted when rendering to texture (cherry picked from commit 3b23a8e07d) 2009-03-13 17:38:37 -07:00
Brian Paul
801f933694 mesa: consolidate glGetTexEnvi/f() code with new get_texenvi() helper (cherry picked from commit ad338c14c2) 2009-03-13 17:38:36 -07:00
Jesse Barnes
75ecd6ebbf intel: fix the mismerge of the vblank pipe enable sanity check
Fix the last merge fix, had the blocks ordered incorrectly.
(cherry picked from commit e57e398960)
2009-03-13 17:38:36 -07:00
Jesse Barnes
1cd7317fdb intel: move pipe enable sanity check to where it belongs
Bah, applied the patches in the wrong order, not Owain's fault...
(cherry picked from commit 216bff5fd4)
2009-03-13 17:38:36 -07:00
Owain Ainsworth
1865291701 intel: fix vblank crtc selection with DRI1 when only one pipe is enabled.
On Mobile chipsets, we often enable PipeB instead of PipeA, but the test
in here was insufficient, falling back to pipe A if the area
intersection returned zero. Therefore, in the case where a window went
off to the top of the left of the screen, it would freeze, waiting on
the wrong vblank.

Fix this mess by checking the sarea for a crtc being zero sized, and in
that case always default to the other one.
(cherry picked from commit 0b5266ff64)
2009-03-13 17:38:36 -07:00
Owain G. Ainsworth
3edbcce7d5 intel: Prevent an "irq is not working" printf when only pipe B is enabled.
intelMakeCurrent is called before intelWindowMoved (in fact, it calls
it), so calculation of the correct vblank crtc has not happened yet.
Fix this by making a function that fixes up a set of vblank flags and
call if from both functions.
(cherry picked from commit 39b4061bb9)
2009-03-13 17:38:36 -07:00
Robert Ellison
b1fb34d0ac i965: fix line stipple fallback for GL_LINE_STRIP primitives
When doing line stipple, the stipple count resets on each line segment,
unless the primitive is a GL_LINE_LOOP or a GL_LINE_STRIP.

The existing code correctly identifies the need for a software fallback
to handle conformant line stipple on GL_LINE_LOOP primitives, but
neglects to make the same assessment on GL_LINE_STRIP primitives.
This fixes it so they match.
(cherry picked from commit 73658ff04f)
2009-03-13 17:38:36 -07:00
Ian Romanick
606099f545 swrast: Enable GL_EXT_stencil_two_side (cherry picked from commit b5fbdef7ec) 2009-03-13 17:38:36 -07:00
Brian Paul
32e3142071 i965: minor improvements in brw_wm_populate_key() (cherry picked from commit 89fddf978c) 2009-03-13 17:38:36 -07:00
Brian Paul
66eea4e104 mesa: fix/update/restore comments related to two-sided stencil (cherry picked from commit a304cc6cca) 2009-03-13 17:38:36 -07:00
Brian Paul
e428cf3afd mesa: initialize ctx->Stencil._BackFace = 1
Back-face stencil operations didn't work correctly because this value was
zero.  It needs to be 1 or 2.  The only place it's set otherwise is in
glEnable/Disable(GL_STENCIL_TEST_TWO_SIDE_EXT).
(cherry picked from commit 2a968113a9)
2009-03-13 17:38:36 -07:00
Ian Romanick
842b5164d2 Track two sets of back-face stencil state
Track separate back-face stencil state for OpenGL 2.0 /
GL_ATI_separate_stencil and GL_EXT_stencil_two_side.  This allows all
three to be enabled in a driver.  One set of state is set via the 2.0
or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT is
disabled.  The other is set by StencilFunc and StencilOp when the
active stencil face is set to BACK.  The GL_EXT_stencil_two_side spec has
more details.

http://opengl.org/registry/specs/EXT/stencil_two_side.txt
(cherry picked from commit dde7cb9628)
2009-03-13 17:38:36 -07:00
Brian Paul
a6f7e909a7 mesa: fix transposed red/blue in store_texel_rgb888/bgr888() functions
(cherry picked from master, commit 862dccd560)
2009-03-12 09:32:55 -06:00
Brian Paul
ca87e5a7bd mesa: add missing _glthread_INIT_MUTEX in _mesa_new_framebuffer()
(cherry picked from master, commit 81569c2f69)
2009-03-12 08:12:54 -06:00
Alan Hourihane
45c4b4dfbd xdemos: On termination with esc close the contexts correctly. 2009-03-11 13:36:26 +00:00
Brian Paul
2adaec1226 xmesa: set back-buffer's drawable field
Fixes back-buffer rendering when MESA_BACK_BUFFER=pixmap

(cherry picked from master, commit 22bac2a1a0)
2009-03-09 16:28:50 -06:00
Brian Paul
549586c319 i965: fix cube map lock-up / corruption
If we're using anything but GL_NEAREST sampling of a cube map, we need to
use the BRW_TEXCOORDMODE_CUBE texcoord wrap mode.  Before this, the GPU
would either lock up or subsequent texture filtering would be corrupted.

(cherry picked from master, commit 6f915b10d5)
2009-03-09 11:57:16 -06:00
Dan Nicholson
463ac421a5 autoconf: Restore _GNU_SOURCE for all Linux systems
This catches the linux-uclibc case and any others that were being set
prior to 98fcdf3f. Fixes bug 20345.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
(cherry picked from commit ac55db1d7d)
2009-03-06 07:59:00 -08:00
Brian Paul
6801240205 mesa: Reads must also be done with lock held.
Otherwise two threads might think each made the refcount go zero.

(cherry picked from master, commit 8bbb6b352a)
2009-03-06 07:51:18 -07:00
Brian Paul
a22088b7d5 mesa: Fix typo.
Windows threads block if one over-unlocks them.

(cherry picked from master, commit f6159ba4d5)
2009-03-06 07:50:55 -07:00
Brian Paul
e89c49147f docs: update glext.h to version 46 2009-03-05 08:25:17 -07:00
Brian Paul
67634240d1 gl: update glext.h to version 46 2009-03-05 08:25:09 -07:00
Brian Paul
819b028a8e mesa: fix sw fallback state validation bug
When a hw driver fell back to swrast, swrast wasn't always getting informed
of program changes.  When fixed function is translated into shaders, flags
like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM.
In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders
were generated.

(cherry picked from master, commit de1caa5507)
2009-03-03 14:25:28 -07:00
Brian Paul
a43c30ef41 mesa: update fragResults array in arb_output_attrib_string()
Plus add some comments.

(cherry picked from master, commit a070937c00)
2009-02-27 13:49:58 -07:00
Brian Paul
b65bfde84d mesa: set bufObj->Pointer = NULL after unmapping
Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.

(cherry picked from master, commit 67025f7893)
2009-02-27 13:13:31 -07:00
Brian Paul
c39e6917ac mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap it
(cherry picked from master, commit a7f434b486)
2009-02-27 13:05:51 -07:00
Brian Paul
c79079895f mesa: fix incorrect error handling in glBufferDataARB()
If glBufferDataARB() is called while a buffer object is currently mapped
we're supposed to unmap the current buffer, then replace it.  Don't generate
an error.

(cherry picked from master, commit 75e3ccf6a5)
2009-02-27 12:58:07 -07:00
Alex Deucher
4480e631cd R300: Add support for RS600 chips 2009-02-25 17:48:45 -05:00
Brian Paul
c32661c3ce mesa: Build DRI by default on Linux/sparc
Signed-off-by: David S. Miller <davem@davemloft.net>

(cherry picked from master, commit 32dc28ac7a)
2009-02-24 20:08:00 -07:00
Brian Paul
d5c06bb812 glsl: yet another swizzled expression fix
This fixes swizzled conditional expressions such "(b ? p : q).x"

(cherry picked from master, commit 00f0b05d5f)
2009-02-24 08:32:01 -07:00
Brian Paul
9d5aa36239 glsl: fix another swizzle-related bug
This fixes the case of "infinitely" nested swizzles such as EXPR.wzyx.yxwz.xxyz
This doesn't appear in typical shaders but with function inlining and the
compiler's internal use of swizzles it can happen.
New glean glsl1 test case added for this.

(cherry picked from master, commit d9881356a6)
2009-02-24 08:31:02 -07:00
Brian Paul
e3050c1777 docs: Haiku fixes 2009-02-23 08:16:09 -07:00
Brian Paul
06295ddbdd mesa: fixes for building on Haiku
(cherry picked from master, commit 41172c0430)

Conflicts:
	src/mesa/main/dlopen.c
2009-02-23 08:15:43 -07:00
Brian Paul
e2092bb23c demos: update multitex.c GLSL demo to use vertex arrays or glVertex-mode
Press 'a' to toggle drawing mode.

(cherry picked from master, commit 8e8b25c26a)
2009-02-19 17:05:14 -07:00
Brian Paul
528836d0ad util: added more functions to extfuncs.h
(cherry picked from master, commit 4c5f390328)
2009-02-19 17:04:42 -07:00
Brian Paul
3511442e43 mesa: fix GLSL issue preventing use of all 16 generic vertex attributes
Only 15 actually worked before since we always reserved generic[0] as an
alias for vertex position.

The case of vertex attribute 0 is tricky.  The spec says that there is no
aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the
conventional attributes.  But it also says that calls to glVertexAttrib(0, v)
are equivalent to glVertex(v).  The distinction seems to be in glVertex-mode
versus vertex array mode.

So update the VBO code so that if the shader uses generic[0] but not gl_Vertex,
route the attribute data set with glVertex() to go to shader input generic[0].

No change needed for the glDrawArrays/Elements() path.

This is a potentially risky change so regressions are possible.  All the usual
tests seem OK though.

(cherry picked from mesa, commit dea0d4d563)

Follow-up: This patch doesn't seem to be as risky as noted above.
There have been no known regressions on Mesa/master because of it.
2009-02-19 17:01:17 -07:00
Brian Paul
d20c53b511 glsl: update program->InputsRead when referencing input attributes
This info will be used in the linker for allocating generic vertex attribs.

(cherry picked from master, commit 1cb7cd1292)
2009-02-19 17:00:06 -07:00
Brian Paul
091cc122ad glsl: asst improvements, clean-ups in set_program_uniform()
Move the is_boolean/integer_type() calls out of the loops.
Move the is_sampler_type() function near the bool/int functions.
Add a bunch of comments.

(cherry picked from master, commit c4ffbf009e)
2009-02-18 17:53:08 -07:00
Brian Paul
c983abbb9e glsl: fix inequality in set_program_uniform()
We were off by one when checking for too many uniform values.

(cherry picked from master, commit b9d8f717d2)
2009-02-18 17:52:47 -07:00
Brian Paul
a0a81204c2 mesa: bump gl.h version comment to 7.4 (bug 20170) 2009-02-18 15:37:44 -07:00
Brian Paul
409d4f839c glsl: fix link failure for variable-indexed varying output arrays
If the vertex shader writes to a varying array with a variable index,
mark all the elements of that array as being written.

For example, if the vertex shader does:

   for (i = 0; i < 4; i++)
      gl_TexCoord[i] = expr;

Mark all texcoord outputs as being written, not just the first.

Linking will fail if a fragment shader tries to read an input that's not
written by the vertex shader.  Before this fix, this linker test could fail.

(cherry picked from master, commit dac19f17f3)
2009-02-18 14:29:46 -07:00
Brian Paul
0ab36958ea mesa: improved error msg
(cherry picked from master, commit 621c999d82)
2009-02-18 13:41:12 -07:00
Brian Paul
c2445f43a3 mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)
Old limit was 256.  Note that no arrays are declared to this size.
The only place we have to be careful about raising this limit is the
prog_src/dst_register Index bitfields.  These have been bumped up too.

Added assertions to check we don't exceed the bitfield in the future too.

(cherry picked from master, commit 5b2f8dc013)
2009-02-18 13:40:57 -07:00
Brian Paul
f3d1c136b7 glsl: fix a swizzle-related regression
This new issue was exposed by commit 6eabfc27f1

(cherry picked from master, commit 212f41b80f)
2009-02-18 13:37:31 -07:00
Brian Paul
dd10a8b09d docs: 7.4 relnotes: report GLSL 1.20, fixed GLSL array index bug 2009-02-17 16:39:45 -07:00
Brian Paul
dd312366da glsl: silence some uninit var warnings
(cherry picked from master, commit 9d49802b7a)
2009-02-17 16:38:30 -07:00
Brian Paul
d2fe466ef3 mesa: turn on reporting of GLSL version 1.20
The new array features, precision/invariant/centroid qualifiers, etc. were
done a while back.  The glGetString(GL_SHADING_LANGUAGE_VERSION) query returns
"1.20" now (for drivers that support it anyway).

(cherry picked from master, commit f59719c6c7)
2009-02-17 16:37:41 -07:00
Brian Paul
fe5328bfad glsl: fix mistake in a comment
(cherry picked from master, commit be8dd01678)
2009-02-17 16:36:15 -07:00
Brian Paul
c0891dde07 glsl: fix an array indexing bug
This fixes a bug found with swizzled array indexes such as in "array[index.z]"
where "index" is an ivec4.

(cherry picked from master, commit 6eabfc27f1)
2009-02-17 16:35:59 -07:00
Brian Paul
0e6d9c1a55 docs: recent 7.4 bug fixes 2009-02-16 20:35:12 -07:00
Brian Paul
5f74a66132 glsl: allow setting arrays of samplers in set_program_uniform()
Arrays of sampler vars haven't been tested much and might actually be broken.
Will need to be revisited someday.

Another fix for bug 20056.

(cherry picked from master, commit 2b4f0216bf)
2009-02-16 20:30:49 -07:00
Brian Paul
46f8b62d5f glsl: raise GL_INVALID_OPERATION for glUniform(location < -1)
location = -1 is silently ignored, but other negative values should raise
an error.

Another fix for bug 20056.

(cherry picked from master, commit 234f03e90a)
2009-02-16 20:30:06 -07:00
Brian Paul
3e3e80c431 glsl: rework _mesa_get_uniform[fi]v() to avoid using a fixed size intermediate array
(cherry picked from master, commit 4ef7a93296)
2009-02-16 20:29:36 -07:00
Brian Paul
0486d117e4 glsl: fix glUniform() array bounds error checking
If too many array elements are specified, they're to be silently ignored (don't
raise a GL error).

Fixes another issue in bug 20056.

(cherry picked from master, commit 2c1ea0720d)
2009-02-16 20:28:57 -07:00
Brian Paul
29981c14da glsl: fix incorrect size returned by glGetActiveUniform() for array elements.
Fixes one of the issues in bug 20056.

(cherry picked from master, commit 369d1859d7)
2009-02-16 20:28:14 -07:00
Brian Paul
98d5efb2c5 glsl: use _slang_var_swizzle() in a few places to simplify the code.
(cherry picked from master, commit 285b500bb7)
2009-02-16 20:26:58 -07:00
Brian Paul
77a44aafaf mesa: another fix for program/texture state validation
This fixes a regression introduced in 46ae1abbac

Break program validation into two steps, do part before texture state
validation and do the rest after:
1. Determine Vertex/Fragment _Enabled state.
2. Update texture state.
3. Determine pointers to current Vertex/Fragment programs (which may involve
generating new "fixed-function" programs).

See comments in the code for more details of the dependencies.

(cherry picked from master, commit 537d3ed6f3)
2009-02-16 20:23:17 -07:00
Brian Paul
8278c70716 mesa: fix/change state validation order for program/texture state
Program state needs to be updated before texture state since the later depends
on the former.

Fixes piglit texgen failure.  The second time through the modes (press 't'
three times) we disable the fragment program and return to conventional texture
mode.  State validation failed here because update_texture() saw stale fragment
program state.

(cherry picked from master, commit 46ae1abbac)
2009-02-16 20:22:46 -07:00
Alan Hourihane
ac0955f5e2 demos: fix glxpixmap and call glXWaitGL before calling XCopyArea. 2009-02-16 11:55:47 +00:00
Alan Hourihane
4130c35ca8 dri2: support glXWaitX & glXWaitGL by using fake front buffer. 2009-02-16 11:48:24 +00:00
Brian Paul
d440647eb8 autoconf: Use include-fixed directory with makedepend on newer GCC
On newer GCC releases, the compiler's headers have been split between
the include and include-fixed directories. Add both if the directories
exist.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>

(cherry picked from master, commit a3d223f0d2)
2009-02-13 09:10:09 -07:00
Brian Paul
7e8f2c56c0 mesa: fix logic error in computing enableBits in update_texture_state()
If we had a vertex shader but no fragment shader (i.e. fixed function) we
didn't get the right enabled texture targets.

Fixes blank/white texture problem.

(cherry picked from master, commit b46611633c)
2009-02-07 12:04:15 -07:00
Brian Paul
a0880a152f mesa: fix tnl->render_inputs_bitset setup for fragment program texcoords
Handle the case where there's no per-vertex texcoords but the fragment shader
needs texcoords.

Fixes piglit shaders/fp-generic/dph test.

(cherry picked from master, commit f6d23943cd)
2009-02-07 12:03:37 -07:00
Brian Paul
4608a9172f swrast: return (0,0,0,1) when sampling incomplete textures, not (0,0,0,0)
Fixes piglit shaders/fp-incomplete-tex test.

(cherry picked from master, commit 1df62651b2)

Conflicts:
	src/mesa/swrast/s_fragprog.c

Also updated the fetch_texel_lod(), fetch_texel_deriv() functions to match
those in git/master.
2009-02-07 12:02:22 -07:00
Brian Paul
d0e38f7ec0 glsl: replace assertion with conditional in _slang_pop_var_table()
We were hitting the assertion when we ran out of registers, which can happen.

Also, add some additional assertions and freshen up some comments.

(cherry picked from master, commit 0744805d58)
2009-02-07 11:57:43 -07:00
Brian Paul
a69bdbbbdd docs: fixed Windows build error, added MESA_GLX_FORCE_DIRECT env var 2009-02-03 15:40:16 -07:00
Brian Paul
88c97a2662 docs: document new MESA_GLX_FORCE_DIRECT env var for the Xlib driver
(cherry picked from master, commit 2f51be75c5)
2009-02-03 15:39:13 -07:00
Brian Paul
ce9c69ddbc xlib: use MESA_GLX_FORCE_DIRECT to make glXIsDirect() always return True
Some apps won't run w/ indirect rendering contexts.
Also, consolidate some context-init code in new init_glx_context() function.

(cherry-picked from master, commit 49e80bf6b1)
2009-02-03 15:38:44 -07:00
Eric Anholt
e430fcb716 dri2: Avoid round-tripping on DRI2GetBuffers for the same set of buffers.
We only wanted to request when asked for the same set of buffers when a resize
has happened.  We can just watch the protocol stream for a ConfigureNotify
and flag to do it then.

This is about a 5% win from doing two glViewport()s per frame in openarena.
2009-02-03 21:36:38 +00:00
Brian Paul
11a363e632 mesa: move code after decls. Fixes Window build failure.
(cherry picked from master, commit 92ced46eaf)
2009-02-02 07:50:31 -07:00
Julien Cristau
9a3a20b2b9 debian/rules: on lpia, only build the i915 and i965 dri drivers
Based on Ubuntu changes, modified to also build swrast.
2009-01-31 23:04:06 +01:00
Julien Cristau
4672811541 debian/control: build the dri drivers on lpia
add lpia to the Architecture field for libgl1-mesa-dri{,-dbg} to match Ubuntu.
2009-01-31 22:30:15 +01:00
Julien Cristau
3cad3d28a5 mangle upstream version in debian/watch
Fix watch file to make uscan not consider release candidates as newer than
actual releases.
2009-01-31 22:07:51 +01:00
Brian Paul
41e63fbdb2 docs: recent bug fixes for 7.4 2009-01-30 16:09:58 -07:00
Brian Paul
b543401a5c mesa: fix incorrect call to clear_teximage_fields() in _mesa_TexImage2D()
Fixes failed assertion / segfault for particular proxy texture tests.

(cherry picked from master, commit ea4b183b8c)
2009-01-30 16:06:52 -07:00
Brian Paul
8c4f08fbad mesa: add missing _mesa_reference_texobj() calls for texture array targets
(cherry picked from master, commit 7c48719a5f)
2009-01-30 16:06:21 -07:00
Brian Paul
f3081a34d2 mesa: remove incorrect refcounting adjustment in adjust_buffer_object_ref_counts()
Fixes bug 19835.  However, a more elaborate fix should be implemented someday
which uses proper reference counting for gl_array_object.

(cherry picked from master, commit 88e0b92a74)
2009-01-30 16:05:51 -07:00
Julien Cristau
cff0971f87 Prepare changelog for upload 2009-01-30 20:00:37 +01:00
Julien Cristau
5ac4c69d83 More superfluous directories 2009-01-30 19:56:29 +01:00
Julien Cristau
a314c40cc4 Document my changes in debian/changelog 2009-01-30 19:42:38 +01:00
Julien Cristau
959fd6b8f6 Add back progs/fbdev
It was added to the tarballs in 22b0b2f47e
2009-01-30 19:34:47 +01:00
Julien Cristau
937f0da04a Delete more directories that aren't in the tarball 2009-01-30 19:25:50 +01:00
Julien Cristau
73bc5967e2 Merge commit '5a458977113e4a0d3c389b03801cf6ce580d3935' into debian-experimental 2009-01-30 19:06:19 +01:00
Brian Paul
7b1d3cf392 docs: i965 fixes 2009-01-28 17:02:39 -07:00
Brian Paul
25515b557e i965: fix bug in pass0_precalc_mov()
Previously, "in-place" swizzles such as:
   MOV t, t.xxyx;
were handled incorrectly.  Fixed by splitting the one loop into two loops so we
get all the refs before assigning them (to avoid potential clobbering).

(cherry picked from master/commit faa48915d2)
2009-01-28 17:01:34 -07:00
Brian Paul
51625ff86e i965: widen per-texture bitfields for 16 texture image units
(cherry picked from master/commit f78c388b6c)
2009-01-28 17:01:03 -07:00
Brian Paul
4d8f661726 intel: check if stencil test is enabled in intel_stencil_drawpixels()
(cherry picked from master/commit 72ee0e247d)
2009-01-28 17:00:23 -07:00
Brian Paul
efa69a2f66 intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()
(cherry picked from master, commit 723648f2ee)
2009-01-28 16:55:16 -07:00
Timo Aaltonen
a2dce49158 New changelog entry for 7.3 2009-01-25 17:51:16 +02:00
Timo Aaltonen
e4b28de803 Merge branch 'upstream-experimental' into debian-experimental 2009-01-25 17:30:47 +02:00
Brian Paul
30a6dd78d5 docs: fix typo 2009-01-22 10:39:05 -07:00
Brian Paul
9f75836308 mesa: set version to 7.4 for mesa_7_4_branch 2009-01-22 10:19:39 -07:00
Brian Paul
609cc9c139 docs: skeleton 7.4 release notes file 2009-01-22 10:18:04 -07:00
Brian Paul
e5aa89386d docs: 7.3 md5 sums 2009-01-22 10:14:39 -07:00
Brian Paul
5a45897711 mesa: set version to 7.3 2009-01-22 10:14:24 -07:00
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
Julien Cristau
f5c47105db Prepare changelog for upload 2009-01-21 19:01:24 +01:00
Julien Cristau
f1939c8685 Refresh patches 03 and 04. 2009-01-21 19:01:17 +01:00
Julien Cristau
3ac4d678ef Delete some more files which aren't in the tarballs 2009-01-21 18:51:07 +01: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
Julien Cristau
fcfec66865 update changelog 2009-01-20 18:50:10 +00:00
Julien Cristau
53426d7113 Merge tag 'mesa_7_3_rc3' into debian-experimental
Conflicts:

	progs/tests/Makefile
2009-01-20 18:49:21 +00: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
Timo Aaltonen
1d4756de06 Update the changelog. 2009-01-16 23:12:14 +02:00
Timo Aaltonen
c1abb821f9 Merge commit 'mesa_7_3_rc2' into debian-experimental 2009-01-16 23:05:20 +02: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
Julien Cristau
88083e9bab Prepare changelog for upload 2009-01-10 22:34:36 +01:00
Julien Cristau
47e54545ed Delete some now unused code from debian/rules. 2009-01-10 22:13:17 +01:00
Julien Cristau
54885ff0ad Delete unused configs/debian-*, and install-source.sh script.
We've switched to using autoconf, and mesa-swx11-source is gone.
2009-01-10 21:55:19 +01:00
Julien Cristau
502fbe7cb3 Merge branch 'debian-unstable' into debian-experimental
Conflicts:

	debian/changelog
	debian/rules
2009-01-10 21:42:57 +01:00
Julien Cristau
08fdb497fb Merge commit 'origin/upstream-unstable' into debian-experimental 2009-01-10 21:38:10 +01:00
Julien Cristau
2a6711c0e5 add bug closers 2009-01-10 21:02:55 +01:00
Julien Cristau
382a8f6e29 Require libdrm-dev 2.4.3. 2009-01-10 20:41:16 +01:00
Julien Cristau
a713ba4399 Update changelog 2009-01-10 20:31:20 +01:00
Julien Cristau
5359febc9b Merge tag 'mesa_7_3_rc1' into debian-experimental
Conflicts:

	progs/tests/Makefile
	progs/tests/floattex.c
2009-01-10 20:30:41 +01: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
Julien Cristau
85d882983f Prepare changelog for upload 2008-12-14 09:59:33 +05:30
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
Timo Aaltonen
5387880f18 delete progs/trivial/ 2008-12-09 02:16:44 +02:00
Timo Aaltonen
a7a9398411 Build-depend on x11proto-dri2-dev (>= 1.99.3) 2008-12-09 02:01:40 +02:00
Timo Aaltonen
7593023f0b Update the changelog for the snapshot
also drop 01_disable-intel-classic-warn.diff since it's obsolete now.
2008-12-09 01:57:44 +02:00
Timo Aaltonen
92d9a71f60 Merge commit 'origin/debian-experimental' into debian-experimental
Conflicts:
	include/GLES/egltypes.h
	progs/miniglx/glfbdevtest.c
	progs/miniglx/manytex.c
	progs/miniglx/sample_server.c
	progs/miniglx/sample_server2.c
	progs/miniglx/texline.c
	progs/tests/Makefile.win
	progs/tests/antialias.c
	progs/tests/cva.c
	progs/tests/dinoshade.c
	progs/tests/getprocaddress.py
	progs/tests/jkrahntest.c
	progs/tests/manytex.c
	progs/tests/multipal.c
	progs/tests/multiwindow.c
	progs/tests/sharedtex.c
	progs/tests/texline.c
	progs/tests/texrect.c
	progs/tests/texwrap.c
	progs/trivial/Makefile
2008-12-09 01:38:08 +02:00
Timo Aaltonen
661890211e Merge commit 'mesa_7_2' into debian-experimental 2008-12-09 01:36:36 +02: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
Julien Cristau
0206e20240 Also build the x86-specific dri drivers on kfreebsd (closes: #492894). 2008-10-26 15:58:46 +01:00
Julien Cristau
83a4719056 Update changelog 2008-10-26 15:34:37 +01:00
Ian Romanick
6cfe871c75 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.
(cherry picked from commit 2b8d8989fb)
2008-10-26 15:23:27 +01: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
Julien Cristau
84bb8fc695 Prepare changelog for upload 2008-09-24 14:28:28 +02:00
Julien Cristau
872cb1a0dd intel: don't warn about TTM init failure. 2008-09-24 14:25:30 +02:00
Julien Cristau
ee80a3a623 Remove the build-dep on dri2proto, DRI2 support has been removed. 2008-09-24 12:55:15 +02: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
Timo Aaltonen
e700c5ad99 Update the changelog, refresh patch 04. 2008-09-23 16:09:00 +03:00
Timo Aaltonen
08c0ec7a89 Merge commit 'mesa_7_2' into debian-experimental
Conflicts:

	include/GLES/egl.h
2008-09-23 16:06:40 +03: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
Brian Paul
35fe0e56e6 mesa: docs: remove parenthesis 2008-09-20 09:28:22 -06:00
Brian Paul
69e5311ad3 mesa: set 7.2 version for tarballs 2008-09-20 09:24:17 -06:00
Brian Paul
e884c4db2b mesa: prep for 7.2 release 2008-09-20 09:23:50 -06:00
Adam Jackson
e681bee04e 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-20 09:21:34 -06:00
Julien Cristau
07c1fcc604 Prepare changelog for upload 2008-09-20 16:32:02 +02: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
Julien Cristau
7959b95efa Update debian/copyright to the SGI Free Software License B, version 2.0.
It now mirrors the free X11 license used by X.Org (closes: #368560).
http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html
2008-09-19 18:03:59 +02: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
3dd48d903f document _tnl_InvalidateState() fix 2008-09-18 15:28:31 -06:00
Brian Paul
e0ea4337fc mesa: fix null ptr deref bug in _tnl_InvalidateState(), bug 15834 2008-09-18 15:27:55 -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
Brian Paul
6290d7fd29 mesa: fix bug in previous changes to _slang_resolve_attributes() 2008-09-17 09:13:28 -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
84ad182ab8 document glBindAttribLocation fixes 2008-09-16 16:37:17 -06: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
a155ead515 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 15:58:05 -06:00
Brian Paul
5b0f652456 mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList()) 2008-09-16 13:32:13 -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
1be50e1638 fix msaa enable/disable bug 2008-09-15 17:15:51 -06:00
Brian Paul
9d48a7832b mesa: fix MSAA enable state in update_multisample() 2008-09-15 17:14:53 -06:00
Brian Paul
4fefa29d8c mesa: fix MSAA enable state in update_multisample() 2008-09-15 17:14:41 -06:00
Brian Paul
ef479d9f2a document display list bug fix 2008-09-15 09:22:07 -06:00
Brian Paul
fc04604856 mesa: remove some assertions that are invalid during context tear-down 2008-09-15 09:20:30 -06:00
Keith Whitwell
ef2bd7860f mesa: get another class of degenerate dlists working
Primitive begin in one dlist, end in another.
2008-09-15 09:20:23 -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
dca8b4c964 glut: s/glut_fbc.c/glut_fcb.c/ 2008-09-14 17:51:53 -06:00
Shane Blackett
641b80275b glut: s/glut_fbc.c/glut_fcb.c/ 2008-09-14 17:51:01 -06:00
Brian Paul
419353dc2f mesa: Makefile: 7.2 release candidate 1 2008-09-13 16:06:12 -06:00
Brian Paul
38d3b2262b mesa: documentation updates for 7.2 release 2008-09-13 14:43:54 -06:00
Brian Paul
4db2a7f36c updated Cell driver info 2008-09-13 14:39:39 -06:00
Brian Paul
1145042fd2 Mesa: version bumps for 7.2 release 2008-09-13 14:36:35 -06:00
Brian Paul
772131280a document 7.2 bug fixes, etc 2008-09-13 14:36:17 -06:00
Jakub Bogusz
68a19e353e tdfx: fix crash and lack of visuals bug 2008-09-13 14:35:02 -06:00
Jakub Bogusz
ee913c0fcc tdfx: fix crash and lack of visuals bug 2008-09-13 14:34:51 -06:00
Guillaume Melquiond
cd1804c43a i915: fix himask constant init for 64-bit build 2008-09-13 14:26:35 -06:00
Guillaume Melquiond
253784d45e glx: fix 64-bit datatype issue 2008-09-13 14:26:25 -06:00
Guillaume Melquiond
463d19d477 mesa: return after _mesa_problem() calls 2008-09-13 14:26:18 -06:00
Guillaume Melquiond
6e4fd90ca5 mesa: #include <stdio.h> 2008-09-13 14:26:13 -06:00
Guillaume Melquiond
06188c0c5c remove invalid XDestroyWindow() call 2008-09-13 14:26:06 -06:00
Guillaume Melquiond
dec9097647 silence warning 2008-09-13 14:25:59 -06:00
Guillaume Melquiond
e234339dba GLU: fix asst warnings 2008-09-13 14:25:53 -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
Ian Romanick
bb09d23e92 Remove DRI2 support
Remove support for the original incarnation of DRI2.  This version has
since been abandoned and will never ship.  This eliminates a build
dependency on a component that only exists in Fedora 9 and in now-dead
up-stream development trees.

I also recommend that we spin a Mesa 7.1.1 release with this patch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2008-09-12 13:48:14 -07:00
George Sapountzis
d3dc95e26a dri/swrast: fix swapBuffers after dri2 2008-09-12 12:43:10 +03:00
Xiang, Haihao
1ffbcddb6f i965: Add support for G41 chipset which is another 4 series.
(cherry picked from commit b2e083eba2)
2008-09-12 09:29:00 +08:00
Xiang, Haihao
b2e083eba2 i965: Add support for G41 chipset which is another 4 series. 2008-09-12 09:25:34 +08:00
Brice Goglin
5cd892a4e4 Fix grammar and punctuation in glxinfo(1) 2008-09-11 19:13:46 +02: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
Shane Blackett
33cf8f5c06 added 24bpp support 2008-09-11 08:35:37 -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
Shane Blackett
7b8d878bed Fixes for Mingw 2008-09-10 08:23:19 -06:00
Brian Paul
86ae34fbb4 mesa: replace MALLOC w/ CALLOC to fix memory error in glPushClientAttrib() 2008-09-05 08:07:07 -06: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
16f3461fd6 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 15:26:07 -06: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
0ac8886b51 intel: Fix depth_stencil texture.
(cherry picked from commit 0adfd10210)
2008-09-04 11:54:31 +08:00
Xiang, Haihao
1729d37223 mesa: merge stencil values into depth values for MESA_FORMAT_S8_Z24
(cherry picked from commit 218df7f9c5)
2008-09-04 11:54:21 +08:00
Jakob Bornecrantz
81edef6f9f mesa: Support for MESA_FORMAT_S8_Z24 texture
cherry-picked from gallium-0.1
(cherry picked from commit dc44bb8e92)
2008-09-04 11:54:08 +08: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
e040e18c7b fix BUFFER_DEPTH/BUFFER_ACCUM mix-up 2008-09-02 18:13:53 -06:00
Brian Paul
0fd1a8c4a1 fix BUFFER_DEPTH/BUFFER_ACCUM mix-up 2008-09-02 18:10:51 -06:00
Roland Scheidegger
14d186644b fix no error generated when calling glLight{if}[v] inside begin/end (bug 17408) 2008-09-02 15:49:35 +02: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
e4535e4d5e 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 10:30:12 +08:00
Xiang, Haihao
a008813890 i965: mask control for BREAK/CONT/DO/WHILE. partial fix fox #16882 2008-08-29 10:30:03 +08:00
Xiang, Haihao
da50dc7bb3 i965: Push/pop instruction state. partial fix for #16882 2008-08-29 10:29:57 +08: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
7f628d9cbc mesa: bump MAX_INSN to 350 2008-08-28 15:16:33 -06:00
Brian Paul
6138ee9de0 mesa: bump MAX_INSN to 350 2008-08-28 15:15:00 -06:00
Julien Cristau
f9affb3059 Prepare changelog for upload 2008-08-27 19:52:30 +02:00
Julien Cristau
fd7cc514d2 Some more parallel build updates. 2008-08-27 19:52:14 +02:00
Julien Cristau
f6a927b45f Update changelog 2008-08-27 17:29:28 +02:00
Julien Cristau
8772e02b68 Merge tag 'mesa_7_1' into debian-experimental 2008-08-27 17:28:31 +02:00
Brian Paul
b2ffd0be03 placeholder for upcoming 7.2 release notes 2008-08-26 16:24:37 -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
912b16c689 added 7.1 MD5 sums 2008-08-26 16:11:56 -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
Brian Paul
6d9b25e522 mesa: don't check for GLSL 1.2 to advertise GL 2.1
The GLSL 1.2 features are minor...
2008-08-26 15:50:11 -06:00
Corbin Simpson
31bad23f0f note ATI R500 series support 2008-08-26 12:39:27 -06:00
Timo Jyrinki
385d6b2e68 asst. html doc updates 2008-08-26 12:36:39 -06:00
Timo Jyrinki
29b9b25e72 asst. html doc updates 2008-08-26 12:36:23 -06:00
Brian Paul
e794f496c6 mesa: assorted updates/prep for 7.1 release 2008-08-25 14:09:14 -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
Brian Paul
68067c66d3 mesa: glsl: regenerated file 2008-08-25 09:16:21 -06:00
Brian Paul
ad5474e995 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:15:16 -06:00
Julien Cristau
ac8771ee99 Update changelog 2008-08-24 17:38:03 +02:00
Julien Cristau
16358bb3cc Merge branch 'mesa_7_2_branch' of git.freedesktop.org:/git/mesa/mesa into debian-experimental 2008-08-24 17:34:47 +02: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
Julien Cristau
ef160330e5 Merge tag 'mesa_7_1_rc4' into debian-experimental
Conflicts:

	progs/fp/Makefile
	progs/slang/Makefile
	progs/tools/trace/gltrace_support.cc
	progs/trivial/Makefile
2008-08-16 18:43:53 +02: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
Julien Cristau
332dcfb60b Add parallel build support. 2008-08-04 12:49:03 +02: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
Julien Cristau
a8dde163dc Prepare changelog for upload 2008-07-13 19:42:01 +02:00
Julien Cristau
868d0accef update changelog and patches
01_fix-installdir.patch dropped, applied upstream
04_osmesa_version.diff needed fixing
2008-07-13 19:36:56 +02:00
Julien Cristau
64e57ed257 Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa into debian-experimental
Conflicts:

	progs/tests/antialias.c
	progs/tools/trace/Makefile
2008-07-13 19:20:03 +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
Julien Cristau
dabd09f5a9 some more debian/rules adjustments
build the software libGL with --disable-gl-osmesa, and try to fix some
rules dependencies
2008-07-06 14:03:58 +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
Julien Cristau
46ffb3c0b1 debian/rules cleanup and fixes
* tell configure which dri drivers we want to build, based on the old
  configs/debian-dri-default
* disable direct rendering for the glx libGL on the hurd
* make sure patches are applied before we run autoreconf, and autoreconf
  runs before all builds
2008-07-05 14:03:57 +02:00
Julien Cristau
4b9b01f0a5 Use --with-driver=dri for the dri config
the default is xlib on some architectures and dri on others, so we
need to set that explicitly
2008-07-05 12:59:14 +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
Timo Aaltonen
0261355a03 Fix confflags CFLAGS and clean up confflags-dri. 2008-07-04 11:50:09 +03:00
Timo Aaltonen
beb8547c71 Delete two files not available on the tarball.
docs/gears.png
src/glut/os2/src-glut_os2pm.zip
2008-07-04 11:50:08 +03:00
Timo Aaltonen
4aa518a2d7 Add a patch from upstream to set installdir properly.
this also replaces 01_fix-libdir.patch and the need to set --libdir for
every target.
2008-07-04 11:50:08 +03:00
root
08af66d57e Revert "Remove configs/current on clean."
This reverts commit 2380f8bd93.

Conflicts:

	debian/changelog
2008-07-04 11:50:08 +03:00
root
38eb154b39 Use --enable-glx-tls for dri. 2008-07-04 11:50:08 +03:00
Timo Aaltonen
2954e4c3d7 Disable glut for swx11 targets.
It was not built before either and would need new build-deps (xi xmu).
2008-07-04 11:50:08 +03: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
Julien Cristau
213803b4d4 fix libOSMesa versioning, to revert accidental SONAME bump. 2008-07-03 18:30:35 +02:00
Timo Aaltonen
2380f8bd93 Remove configs/current on clean. 2008-07-03 18:37:28 +03:00
Timo Aaltonen
e846ebc1a1 don't chmod configure which does not exist. 2008-07-03 18:14:25 +03:00
Timo Aaltonen
6dedd60350 Further autoconf changes:
add automake & autoconf to build-deps
add some cleanup rules
2008-07-03 15:53:19 +03:00
Timo Aaltonen
063a487fe1 Fix the configure.ac patch somewhat
workaround the problems by setting --libdir for all flavours, otherwise
the path used is /usr/usr/lib.
2008-07-03 13:20:21 +03:00
Timo Aaltonen
99a35fd4e1 01_fix-libdir.patch: libdir handling is broken in configure.ac, fix it. 2008-07-03 09:31:23 +03:00
Timo Aaltonen
cbaac82c2c Further tweaks to the autoconf stuff. Getting closer but still not there 2008-07-03 09:26:46 +03: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
Timo Aaltonen
9d72de1fb2 Run autoreconf before building the various flavours. 2008-07-03 00:20:58 +03: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
Timo Aaltonen
053bf7f5db rules: Replace the old build system with the new autotools-based system. 2008-07-02 17:56:51 +03: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
Timo Aaltonen
e6a5e6512f Add gl.pc to libgl1-mesa-dev 2008-07-02 14:07:23 +03: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
Timo Aaltonen
bc32cd7fc8 Add dri_interface.h to mesa-common-dev. 2008-07-01 18:58:17 +03:00
Timo Aaltonen
24fde3cf34 Drop mesa-swx11-source. 2008-07-01 18:56:38 +03:00
Timo Aaltonen
7ceaa0916a Re-add linux-osmesa-static and linux-osmesa32-static
they were dropped by mistake during the merge.
2008-07-01 18:51:01 +03: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
Timo Aaltonen
4c958fbfb4 Build-depend on x11proto-dri2-dev. 2008-07-01 16:24:46 +03:00
Timo Aaltonen
9795ef4348 Refresh patches, and drop obsolete 00_create-libdir.patch and 01_fix-makefile.patch 2008-07-01 16:07:17 +03:00
Julien Cristau
768d8e0563 update changelog and require libdrm 2.3.1 2008-07-01 13:46:54 +02:00
Julien Cristau
374be37dd9 Merge branch 'master' of git.freedesktop.org:/git/mesa/mesa into debian-experimental
Conflicts:

	.gitignore
	Makefile
	bin/mklib
	configs/.gitignore
	configs/default
	configs/freebsd
	configs/freebsd-dri
	configs/linux-osmesa
	configs/linux-osmesa16
	configs/linux-osmesa16-static
	configs/linux-osmesa32
	docs/download.html
	docs/install.html
	docs/news.html
	docs/relnotes.html
	doxygen/Makefile
	doxygen/doxy.bat
	doxygen/header.html
	doxygen/header_subset.html
	include/GL/internal/dri_interface.h
	progs/demos/.gitignore
	progs/directfb/Makefile
	progs/egl/Makefile
	progs/fbdev/Makefile
	progs/fbdev/glfbdevtest.c
	progs/fp/Makefile
	progs/glsl/.gitignore
	progs/glsl/Makefile
	progs/glsl/bump.c
	progs/glsl/mandelbrot.c
	progs/glsl/noise.c
	progs/glsl/toyball.c
	progs/miniglx/Makefile
	progs/samples/.gitignore
	progs/slang/Makefile
	progs/tests/.gitignore
	progs/tests/Makefile
	progs/tests/arbnpot.c
	progs/tests/cva.c
	progs/tests/dinoshade.c
	progs/tests/drawbuffers.c
	progs/tests/fbotest2.c
	progs/tests/fbotexture.c
	progs/tests/getprocaddress.c
	progs/tests/mipmap_limits.c
	progs/tests/multipal.c
	progs/tests/texline.c
	progs/tools/trace/Makefile
	progs/trivial/Makefile
	progs/trivial/dlist-edgeflag-dangling.c
	progs/trivial/dlist-edgeflag.c
	progs/trivial/point-param.c
	progs/trivial/quad-clip-nearplane.c
	progs/trivial/tri.c
	progs/vp/Makefile
	progs/xdemos/.gitignore
	progs/xdemos/Makefile
	progs/xdemos/glthreads.c
	src/egl/Makefile
	src/egl/drivers/demo/Makefile
	src/egl/drivers/dri/Makefile
	src/egl/main/Makefile
	src/glu/mesa/Makefile
	src/glu/mesa/Makefile.m32
	src/glu/mesa/project.c
	src/glu/mini/project.c
	src/glut/directfb/Makefile
	src/glut/directfb/callback.c
	src/glut/directfb/events.c
	src/glut/directfb/internal.h
	src/glut/directfb/window.c
	src/glut/os2/Makefile
	src/glut/os2/WarpWin.cpp
	src/glut/os2/glutOverlay.cpp
	src/glut/os2/glut_8x13.cpp
	src/glut/os2/glut_9x15.cpp
	src/glut/os2/glut_bitmap.cpp
	src/glut/os2/glut_cindex.cpp
	src/glut/os2/glut_cmap.cpp
	src/glut/os2/glut_cursor.cpp
	src/glut/os2/glut_event.cpp
	src/glut/os2/glut_ext.cpp
	src/glut/os2/glut_fullscrn.cpp
	src/glut/os2/glut_gamemode.cpp
	src/glut/os2/glut_get.cpp
	src/glut/os2/glut_hel10.cpp
	src/glut/os2/glut_hel12.cpp
	src/glut/os2/glut_hel18.cpp
	src/glut/os2/glut_init.cpp
	src/glut/os2/glut_input.cpp
	src/glut/os2/glut_key.cpp
	src/glut/os2/glut_keyctrl.cpp
	src/glut/os2/glut_keyup.cpp
	src/glut/os2/glut_mesa.cpp
	src/glut/os2/glut_modifier.cpp
	src/glut/os2/glut_roman.cpp
	src/glut/os2/glut_shapes.cpp
	src/glut/os2/glut_stroke.cpp
	src/glut/os2/glut_swap.cpp
	src/glut/os2/glut_teapot.cpp
	src/glut/os2/glut_tr24.cpp
	src/glut/os2/glut_util.cpp
	src/glut/os2/glut_vidresize.cpp
	src/glut/os2/glut_warp.cpp
	src/glut/os2/glut_win.cpp
	src/glut/os2/glut_winmisc.cpp
	src/glut/os2/glutbitmap.h
	src/glut/os2/glutstroke.h
	src/glut/os2/layerutil.h
	src/glut/os2/libGlut.DEF
	src/glut/os2/os2_glx.cpp
	src/glut/os2/os2_menu.cpp
	src/glut/os2/os2_winproc.cpp
	src/glw/Makefile
	src/glx/mini/Makefile
	src/glx/mini/miniglx.c
	src/glx/x11/glxext.c
	src/mesa/Makefile
	src/mesa/drivers/allegro/amesa.c
	src/mesa/drivers/allegro/direct.h
	src/mesa/drivers/allegro/generic.h
	src/mesa/drivers/d3d/D3DCAPS.CPP
	src/mesa/drivers/d3d/D3DHAL.H
	src/mesa/drivers/d3d/D3DInit.cpp
	src/mesa/drivers/d3d/D3DMESA.H
	src/mesa/drivers/d3d/D3DRaster.cpp
	src/mesa/drivers/d3d/D3DTEXT.CPP
	src/mesa/drivers/d3d/D3DTextureMgr.cpp
	src/mesa/drivers/d3d/D3DTextureMgr.h
	src/mesa/drivers/d3d/D3DUTILS.CPP
	src/mesa/drivers/d3d/DDrawPROCS.c
	src/mesa/drivers/d3d/DEBUG.C
	src/mesa/drivers/d3d/DEBUG.H
	src/mesa/drivers/d3d/DbgEnv.bat
	src/mesa/drivers/d3d/MAKEFILE
	src/mesa/drivers/d3d/OPENGL32.DEF
	src/mesa/drivers/d3d/WGL.C
	src/mesa/drivers/dri/Makefile.template
	src/mesa/drivers/dri/common/dri_bufmgr.c
	src/mesa/drivers/dri/common/dri_drmpool.c
	src/mesa/drivers/dri/common/dri_util.c
	src/mesa/drivers/dri/common/dri_util.h
	src/mesa/drivers/dri/common/xmlconfig.c
	src/mesa/drivers/dri/glcore/Makefile
	src/mesa/drivers/dri/i915/i915_fragprog.c
	src/mesa/drivers/dri/i915/i915_program.h
	src/mesa/drivers/dri/i915/i915_texprog.c
	src/mesa/drivers/dri/i915/i915_texstate.c
	src/mesa/drivers/dri/i915/i915_vtbl.c
	src/mesa/drivers/dri/i915/intel_context.c
	src/mesa/drivers/dri/i915/intel_context.h
	src/mesa/drivers/dri/i915/intel_pixel.c
	src/mesa/drivers/dri/i915/intel_render.c
	src/mesa/drivers/dri/i915/intel_screen.c
	src/mesa/drivers/dri/i915/intel_state.c
	src/mesa/drivers/dri/i915/intel_tex.c
	src/mesa/drivers/dri/i915/intel_tris.c
	src/mesa/drivers/dri/i915tex/i830_reg.h
	src/mesa/drivers/dri/i915tex/i830_texstate.c
	src/mesa/drivers/dri/i915tex/i830_vtbl.c
	src/mesa/drivers/dri/i915tex/i915_fragprog.c
	src/mesa/drivers/dri/i915tex/i915_metaops.c
	src/mesa/drivers/dri/i915tex/i915_tex_layout.c
	src/mesa/drivers/dri/i915tex/i915_texstate.c
	src/mesa/drivers/dri/i915tex/i915_vtbl.c
	src/mesa/drivers/dri/i915tex/intel_render.c
	src/mesa/drivers/dri/i915tex/intel_screen.c
	src/mesa/drivers/dri/i915tex/intel_tris.c
	src/mesa/drivers/dri/i965/brw_aub.c
	src/mesa/drivers/dri/i965/brw_aub_playback.c
	src/mesa/drivers/dri/i965/brw_cc.c
	src/mesa/drivers/dri/i965/brw_clip.c
	src/mesa/drivers/dri/i965/brw_clip_state.c
	src/mesa/drivers/dri/i965/brw_clip_util.c
	src/mesa/drivers/dri/i965/brw_context.c
	src/mesa/drivers/dri/i965/brw_curbe.c
	src/mesa/drivers/dri/i965/brw_defines.h
	src/mesa/drivers/dri/i965/brw_draw.c
	src/mesa/drivers/dri/i965/brw_draw_upload.c
	src/mesa/drivers/dri/i965/brw_eu.h
	src/mesa/drivers/dri/i965/brw_eu_emit.c
	src/mesa/drivers/dri/i965/brw_gs_state.c
	src/mesa/drivers/dri/i965/brw_misc_state.c
	src/mesa/drivers/dri/i965/brw_sf_emit.c
	src/mesa/drivers/dri/i965/brw_sf_state.c
	src/mesa/drivers/dri/i965/brw_state_cache.c
	src/mesa/drivers/dri/i965/brw_state_pool.c
	src/mesa/drivers/dri/i965/brw_tex.c
	src/mesa/drivers/dri/i965/brw_tex_layout.c
	src/mesa/drivers/dri/i965/brw_vs_state.c
	src/mesa/drivers/dri/i965/brw_vs_tnl.c
	src/mesa/drivers/dri/i965/brw_wm.c
	src/mesa/drivers/dri/i965/brw_wm.h
	src/mesa/drivers/dri/i965/brw_wm_glsl.c
	src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
	src/mesa/drivers/dri/i965/brw_wm_state.c
	src/mesa/drivers/dri/i965/brw_wm_surface_state.c
	src/mesa/drivers/dri/i965/bufmgr_fake.c
	src/mesa/drivers/dri/i965/intel_batchbuffer.c
	src/mesa/drivers/dri/i965/intel_batchbuffer.h
	src/mesa/drivers/dri/i965/intel_blit.c
	src/mesa/drivers/dri/i965/intel_blit.h
	src/mesa/drivers/dri/i965/intel_buffers.c
	src/mesa/drivers/dri/i965/intel_context.c
	src/mesa/drivers/dri/i965/intel_context.h
	src/mesa/drivers/dri/i965/intel_mipmap_tree.c
	src/mesa/drivers/dri/i965/intel_mipmap_tree.h
	src/mesa/drivers/dri/i965/intel_pixel_bitmap.c
	src/mesa/drivers/dri/i965/intel_pixel_copy.c
	src/mesa/drivers/dri/i965/intel_screen.c
	src/mesa/drivers/dri/i965/intel_tex_validate.c
	src/mesa/drivers/dri/i965/server/i830_common.h
	src/mesa/drivers/dri/intel/intel_batchbuffer.c
	src/mesa/drivers/dri/intel/intel_batchbuffer.h
	src/mesa/drivers/dri/intel/intel_blit.c
	src/mesa/drivers/dri/intel/intel_buffers.c
	src/mesa/drivers/dri/intel/intel_context.c
	src/mesa/drivers/dri/intel/intel_context.h
	src/mesa/drivers/dri/intel/intel_mipmap_tree.c
	src/mesa/drivers/dri/intel/intel_mipmap_tree.h
	src/mesa/drivers/dri/intel/intel_screen.h
	src/mesa/drivers/dri/r200/r200_texstate.c
	src/mesa/drivers/dri/r300/r300_cmdbuf.c
	src/mesa/drivers/dri/r300/r300_context.h
	src/mesa/drivers/dri/r300/r300_ioctl.c
	src/mesa/drivers/dri/r300/r300_reg.h
	src/mesa/drivers/dri/r300/r300_state.c
	src/mesa/drivers/dri/r300/r300_tex.h
	src/mesa/drivers/dri/r300/r300_texstate.c
	src/mesa/drivers/dri/radeon/radeon_screen.c
	src/mesa/drivers/windows/gdi/wmesa.c
	src/mesa/drivers/x11/fakeglx.c
	src/mesa/drivers/x11/xm_dd.c
	src/mesa/glapi/Makefile
	src/mesa/glapi/dispatch.h
	src/mesa/glapi/glapioffsets.h
	src/mesa/glapi/glapitable.h
	src/mesa/glapi/glapitemp.h
	src/mesa/glapi/glprocs.h
	src/mesa/main/api_validate.c
	src/mesa/main/attrib.c
	src/mesa/main/config.h
	src/mesa/main/context.c
	src/mesa/main/context.h
	src/mesa/main/dlist.c
	src/mesa/main/drawpix.c
	src/mesa/main/enums.c
	src/mesa/main/fbobject.c
	src/mesa/main/image.c
	src/mesa/main/imports.h
	src/mesa/main/mtypes.h
	src/mesa/main/points.c
	src/mesa/main/state.c
	src/mesa/main/texcompress_fxt1.c
	src/mesa/main/texenvprogram.c
	src/mesa/main/teximage.c
	src/mesa/main/texobj.c
	src/mesa/main/texstate.c
	src/mesa/main/version.h
	src/mesa/shader/prog_execute.c
	src/mesa/shader/program.c
	src/mesa/shader/shader_api.c
	src/mesa/shader/slang/library/slang_core.gc
	src/mesa/shader/slang/library/slang_core_gc.h
	src/mesa/shader/slang/slang_codegen.c
	src/mesa/sources
	src/mesa/sparc/glapi_sparc.S
	src/mesa/swrast/s_aalinetemp.h
	src/mesa/swrast/s_aatriangle.c
	src/mesa/swrast/s_aatritemp.h
	src/mesa/swrast/s_context.c
	src/mesa/swrast/s_copypix.c
	src/mesa/swrast/s_drawpix.c
	src/mesa/swrast/s_fragprog.c
	src/mesa/swrast/s_pointtemp.h
	src/mesa/swrast/s_readpix.c
	src/mesa/swrast/s_span.c
	src/mesa/swrast/s_texfilter.c
	src/mesa/swrast/s_tritemp.h
	src/mesa/swrast/s_zoom.c
	src/mesa/tnl/t_draw.c
	src/mesa/tnl/t_vb_fog.c
	src/mesa/tnl/t_vb_program.c
	src/mesa/tnl/t_vp_build.c
	src/mesa/vbo/vbo_split_copy.c
	src/mesa/x86-64/xform4.S
	src/mesa/x86/common_x86.c
	src/mesa/x86/glapi_x86.S
	windows/VC6/mesa/mesa/mesa.dsp
2008-07-01 13:18:27 +02: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
Brian Paul
8bd70a7bbe update, re-org build/install instructions 2008-05-27 13:27:57 -06:00
Brian Paul
6525d250a8 set version string to 7.1 rc1 2008-05-27 12:51:37 -06:00
Brian Paul
5173fc6669 updates for 7.1 release 2008-05-27 12:51:10 -06:00
Brian Paul
0128703f03 prep for 7.1 RC1 2008-05-27 12:50:59 -06:00
Brian Paul
e903f51bc4 allow GLX_SAMPLES_ARB==0 (bug 16073) 2008-05-27 09:49:18 -06:00
Jouk Jansen
0ccffacee2 updated for latest sources 2008-05-27 08:58:39 -06:00
Karl Schultz
9d3359d12a dependency fixes (bug 13544) 2008-05-27 08:50:47 -06: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
Tormod Volden
de27760a3c dri: vblank_mode warning
From what I can see the environment variables LIBGL_THROTTLE_REFRESH
and LIBGL_SYNC_REFRESH were taken out like 3 years ago, but this
warning was never updated.
2008-05-24 18:32:03 +02: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
George Sapountzis
95eb6422c7 dri/swrast: cosmetic, mainly generic vs. xorg terminology 2008-05-23 22:55:36 +03:00
George Sapountzis
73d66a3c63 dri/swrast: add dithering support 2008-05-23 22:55:12 +03:00
George Sapountzis
c1d4644f48 dri/swrast: add support for r3g3b2 2008-05-23 22:54:54 +03:00
George Sapountzis
b4a4829cd5 dri: add support for generating 3_3_2 configs 2008-05-23 22:52:52 +03:00
George Sapountzis
6e13d6d17e dri/swrast: split out common pixel macros 2008-05-23 22:52:36 +03:00
George Sapountzis
44e05f0870 dri/swrast: drop TODO list 2008-05-23 22:52:19 +03:00
George Sapountzis
d4510e53d8 drop GLcore 2008-05-23 22:48:55 +03: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
Jesse Barnes
6c56e0e1fb Add cscope files to .gitignore 2008-05-21 15:36:08 -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
Dan Nicholson
e57f1b702e Follow along GL/glx -> glx renaming in xserver
The xserver glx modules were lifted up to the top level, so this changes
the glapi generation to look in the new location.
2008-05-21 10:55:49 -07:00
Kristian Høgsberg
fe7e01c834 Add remaining glapi generated server headers.
This adds all the headers needed by the xserver glx module and also adds
a rule to copy over the shared glapi.[ch] and glthread.[ch] files.

Specifying an xserver path (set XORG_BASE on the make command line) is
now mandatory when regenerating the glapi files.
2008-05-21 12:13:39 -04:00
Kristian Høgsberg
c30fe8fd7c Make the shared glapi files not include glheader.h. 2008-05-21 12:13:39 -04:00
Kristian Høgsberg
1b359bc88e Revert "glapi: Generate xserver glapi sources in the mesa tree"
This reverts commit 7688791fc5, and takes
us back to generating the glapi files straight into the xserver tree.

Conflicts:

	src/glx/x11/indirect_size_get.c
2008-05-21 12:13:39 -04:00
Corbin Simpson
1e2907f170 r5xx: Add OPCODE_POW.
Necessary for Google Earth, among other things.
2008-05-21 08:24:28 -07:00
George Sapountzis
2217158c37 dri/swrast: use Makefile.template 2008-05-21 18:21:50 +03:00
George Sapountzis
53784e786d dri/swrast: fb configs tweaks
@32: provide configs with depth=0, stencil=8
@16: provide configs with depth=0, stencil=8 and depth=16, stencil=8
2008-05-21 18:20:54 +03:00
George Sapountzis
d0c7ef4358 dri/swrast: re-indent FillInModes 2008-05-21 18:19:49 +03:00
Brian
2ec318640f added readtex.h dependency 2008-05-21 07:05:29 -06: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
George Sapountzis
280bf89bd4 Add DRI driver that uses the mesa swrast module. 2008-05-20 16:03:44 -04:00
George Sapountzis
c95e66120b Make utils.h self-contained.
Move stuff with drm dependencies to dri_util.h, and move a couple of
types without drm dependencies to utils.h.
2008-05-20 16:03:44 -04:00
Brian Paul
b539b61321 copy StateFlags in _mesa_clone_parameter_list() 2008-05-20 11:29:16 -06:00
Brian Paul
4978953c79 new multi-texture GLSL test 2008-05-20 11:01:17 -06:00
Brian Paul
b6fb0940c2 fix incorrect sampler numbering/indexing.
All samplers indexes were zero.
2008-05-20 10:59:18 -06: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
Xiang, Haihao
c6b36e5498 i965: Check fallback before accounting for index/vertex buffer size. fix #16028. 2008-05-20 13:28:42 +08:00
Brian Paul
e469d78d33 fix tempReg test in _mesa_combine_programs() 2008-05-19 16:03:43 -06: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
Brian Paul
fbfe2a58de Fix program refcounting assertion failure during context tear-down
When purging the program hash table, the refcount _should_ be one since
the program is referenced by the hash table.  Need to explicitly set to
zero before calling delete().

Also, purge high-level shader hash tables before low-level program hash tables.
2008-05-19 08:43:36 -06: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
Brian Paul
fd59f19cd2 Move _mesa_init_glsl_driver_functions() into shader_api.c
This allows making a bunch of functions static, and removes a state
tracker dependency on driverfuncs.c

cherry-picked from gallium-0.1
2008-05-18 16:04:55 -06:00
Brian Paul
88c0a74633 additional fog/color matrix changes from gallium-0.1 2008-05-18 15:55:24 -06:00
Brian Paul
6e92968d75 add state vars for color matrix, pixel transfer scale&bias
cherry-picked from gallium-0.1 (068c7bd912)
2008-05-18 15:52:13 -06:00
Brian Paul
2f8fc325ac mesa: added internal post color matrix scale/bias vars
cherry-picked from gallium-0.1 (302daeb2ec)
2008-05-18 15:50:20 -06:00
Brian Paul
0c78c766e4 fixes to _mesa_combine_programs(), from gallium-0.1 2008-05-18 15:46:26 -06:00
Brian Paul
5976a6a75c added div by zero check for Fog.End/Start (from gallium-0.1) 2008-05-18 15:41:36 -06:00
Brian Paul
4b6b0fd526 clean-ups / additions from gallium-0.1 branch 2008-05-18 15:41:01 -06: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
Brian Paul
896c0cc8ec bring in fixes/changes from gallium-0.1 2008-05-16 15:47:55 -06:00
Brian Paul
a2e6beade1 fix an attr/src mix-up when setting-up/binding vertex arrays
This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.
2008-05-16 15:23:04 -06:00
Brian Paul
f27c6f3139 fix merge collision 2008-05-16 15:17:35 -06:00
Brian Paul
f2632212ad silence warning, new assertion 2008-05-16 15:16:06 -06:00
Shunichi Fuji
e291cf6f8d free(key) in _tnl_UpdateFixedFunctionProgram() 2008-05-16 15:16:06 -06:00
Brian Paul
8bdf5b6e64 Fix a program refcounting error, don't share program parameter lists.
The refcounting bug was causing a memleak (unfreed programs).
The old parameter list sharing is not needed since the change in how
uniforms are handled.
2008-05-16 15:16:06 -06:00
Brian Paul
a3e86d43e6 minor changes to aid debugging 2008-05-16 15:16:06 -06:00
Brian Paul
eb4271ea8b remove stray, left-over RefCount++ 2008-05-16 15:16:06 -06:00
Brian Paul
6de6999edc whitespace/formatting 2008-05-16 15:16:06 -06:00
Brian Paul
1af2b14514 init SamplersUsed bits in _mesa_parse_arb_fragment_program 2008-05-16 15:16:06 -06:00
Brian Paul
885cc592df fix assertion typo: s/=/==/ 2008-05-16 15:16:06 -06:00
Shunichi Fuji
e6cd9d88d3 Fix memory leak in _tnl_UpdateFixedFunctionProgram 2008-05-16 13:18:25 -07:00
Brian Paul
0639998ee8 Fix DRI build 2008-05-16 13:15:03 -07: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
Brian Paul
ade508312c Updated GLSL uniform/sampler handling from gallium-0.1 branch
Previously, the shader linker combined the uniforms used by the vertex and
fragment shaders into a combined set of uniforms.  This made the implementation
of glUniform*() simple, but was rather inefficient otherwise.  Now each shader
gets its own set of uniforms (no more modelview matrix showing up in the
fragment shader uniforms, for example).

cherry-picked by hand from gallium-0.1 branch
2008-05-14 16:09:46 -06:00
Brian Paul
c807c1a23f mesa: new functions for managing list/index of uniforms
cherry-picked from gallium-0.1
2008-05-14 13:12:44 -06:00
Brian Paul
e0f160663e clean-up swizzle fields in fog code, fix NegateBase
cherry-picked from gallium-0.1
2008-05-14 13:01:13 -06:00
Brian Paul
bff695b926 sync up with gallium-0.1 changes
New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
2008-05-14 13:00:27 -06:00
Brian Paul
6ca948a303 added _mesa_combine_parameter_lists()
cherry-picked from gallium-0.1
2008-05-14 12:53:03 -06:00
Brian Paul
19ad9cf774 mesa: added _mesa_insert_instructions()
Also, use new _mesa_free_instructions() in a few places.

cherry-picked from gallium-0.1
2008-05-14 12:39:41 -06:00
Brian Paul
450136d368 mesa: added _mesa_free_instructions()
cherry-picked from gallium-0.1
2008-05-14 12:37:07 -06:00
Brian Paul
57e222d6e5 fix some additional program refcounting bugs 2008-05-14 12:11:17 -06:00
Xiang, Haihao
4b7d301c94 _generic_read_RGBA_span_BGRA8888_REV_SSE2: It should adjust the source
and target pointers after do the first 2 pixels. fix bug #15850
2008-05-14 09:55:08 +08: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
Dan Nicholson
738d811b04 Don't link demos directly to X libraries
Since the linker will just pull in the libraries needed from libGL, we
don't need to link the demos directly to the X libraries. Fixes #15886.
2008-05-09 16:19:50 -07:00
Dan Nicholson
2d709fe272 autoconf: Allow XCB to be used for GLX
Adds an --enable-xcb switch to use XCB in GLX. This only has an effect
when the driver is DRI.
2008-05-09 07:10:24 -07:00
Dan Nicholson
5dbbde5b22 Default DRI driver directory to match X.Org xserver
Since the only valid consumer of the DRI drivers is the X.Org xserver,
this changes the default DRI driver directory to match xorg-server:
${libdir}/dri. The old default of /usr/X11R6/modules/dri was wrong for
nearly all current systems.
2008-05-09 07:06:52 -07:00
Dan Nicholson
d368eed9c7 autoconf: Attempt to figure out the PIC flags for the platform
This commit adds an autoconf macro, MESA_PIC_FLAGS, which sets the
PIC flags according to platform and static/shared setting. The platform
specifics are taken straight from libtool.m4 and stripped down to just
the flags and platforms we cover in Mesa. This should hopefully make it
possible to use autoconf on non-GCC platforms.

The macro is added external to configure.ac in acinclude.m4 since it's
pretty bloated.

Note to BSDers: Previously, x86 defaulted to non-PIC on FreeBSD. I
didn't carry that preference into this macro. Instead, you can just use
--disable-pic where desired.
2008-05-09 07:05:16 -07:00
Dave Airlie
0dbd5c8640 intel: use new mipmap generation hooks in driver. 2008-05-09 13:51:37 +10:00
Dave Airlie
86bd98c6aa swrast/dri: switch over users of generate_mipmap to new interface 2008-05-09 13:41:02 +10:00
Dave Airlie
0449bab2f8 Revert "mesa/intel: map/unmap texture objects around mipmap generation function."
This reverts commit c50ffc4cb8.

I'll fix this using the mipmap hooks I just picked from gallium-0.1
2008-05-09 13:33:56 +10:00
Brian
d4e1d85dba Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
(cherry picked from commit c3395f4473)
2008-05-09 13:33:29 +10:00
Dave Airlie
a638676473 Added ctx->Driver.GenerateMipmap() driver hook
(cherry picked from commit 4c2f3dbca9)

Conflicts:

	src/mesa/drivers/common/driverfuncs.c
2008-05-09 13:33:06 +10:00
Dave Airlie
c50ffc4cb8 mesa/intel: map/unmap texture objects around mipmap generation function.
This at least stops the compiz brain explosion we were seeing, I do wonder
though if we should somehow be calling intel_generate_mipmap somehow.
2008-05-09 13:02:41 +10:00
Kristian Høgsberg
990e010394 Add RS690M PCI ID. 2008-05-08 19:48:32 -04: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
Brian Paul
b4e75d6c41 disable debug printfs 2008-05-08 10:59:31 -06:00
Brian Paul
4566880656 disable GL_DEPTH_TEST before glDrawPixels in case window has unrequested depth buffer 2008-05-08 08:39:30 -06:00
Brian Paul
6a3fac8711 call glutDestroyWindow() 2008-05-08 08:37:52 -06:00
Xiang, Haihao
9508293e01 mesa: Call RENDER_FINISH on the zero pixel case. 2008-05-08 11:52:57 +08:00
Keith Packard
68a9161832 Merge commit 'anholt/drm-gem' into drm-gem 2008-05-07 20:20:26 -07:00
Brian Paul
5b5c931527 fix refcounting bugs in tnl/tex program caches 2008-05-07 18:51:44 -06:00
Brian Paul
12a317b93a updated options/help 2008-05-07 18:11:06 -06: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
Dan Nicholson
a6464b3cb0 Never fail `make clean'
Mostly some pedantic changes such that `make clean' always ignores
errors. Also changed the top clean target to do the `touch
configs/current' dance instead of realclean.
2008-05-07 11:35:23 -07:00
Dan Nicholson
df8134c3cf Run `make clean' in drivers/xorg, too 2008-05-07 10:22:32 -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
Dan Nicholson
e8c2b9967f Refactor installation targets
Currently, there is a single path in src/mesa/Makefile to install that
has a few conditionals in it. This commit changes install to act like
default where we loop over $(DRIVER_DIRS), deciding what to do.

A new target, install-headers, has been broken out to accomodate
installing a standalone OSMesa where neither libGL or gl.pc are wanted.
2008-05-07 07:48:29 -07:00
Dan Nicholson
ec813878e4 Ensure recursive makes always propagate errors
There were a couple spots left where a recursive make could fail in a
chain of commands without stopping.
2008-05-07 07:11:49 -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
Brian
df43fb661b implement full reference counting for vertex/fragment programs
Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
Fixes a memory corruption bug found with glean/api2 test.
2008-05-06 23:08:51 -06: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
Dan Nicholson
38c5b14853 Update make output for autoconf help 2008-05-06 15:46:40 -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
Dan Nicholson
8eee0146f2 Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2008-05-06 14:29:59 -07:00
Dan Nicholson
9f948b8c33 Prevent makedepend from running multiple times
The default target in src/mesa/Makefile calls a recursive $(MAKE). With
parallel jobs, this causes makedepend to run twice. Instead, block on
the first make until depend has been created.
2008-05-06 14:29:10 -07:00
Dan Nicholson
c5e2b850ad Always cleanup the makedepend backup files
Consistently cleanup the depend.bak files created by makedepend. Also,
realclean has been changed to use a single find command, which speeds it
up considerably.
2008-05-06 14:00:43 -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
Michal Wajdeczko
7f747204ea Add support for ATI_separate_stencil in display lists. 2008-05-06 13:02:06 -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
Dan Nicholson
cba14d85a8 Error consistently when running recursive make
When changing directories and running a sub-make, ensure that both the
cd and make commands propagate errors to the parent make.
2008-05-06 12:29:53 -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
Dan Nicholson
50f7e6fb5f Add .PHONY targets to top Makefile for non-file targets
When a make target doesn't result in a file of the same name, adding it
to a .PHONY target means make won't look for such a file, speeding the
build up a bit. This allows `make doxygen' to work since otherwise make
will consider the doxygen directory as up to date.
2008-05-06 11:52:34 -07:00
Dan Nicholson
e14ebbce41 autoconf: Replace the configs/current symlink from config.status
Minor tweak so that running config.status will entirely recreate the
configure settings by replacing the configs/current symlink.
2008-05-06 11:28:43 -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
Dave Airlie
17adf04e5c i965: fix googleearth in classic mode.
In classic mode googleearth triggered a case where vbos weren't getting accounted properly.
2008-05-06 18:52:47 +10:00
Keith Packard
df4b49c2ce Dump buffer tiled status from intelPrintSAREA 2008-05-05 22:08:05 -07:00
Dan Nicholson
7d016b76e2 autoconf: Sanitize asm build for cross-compiling and --enable-*-bit
Two fixes to the asm configuration:
 - Disable when the user is cross-compiling for x86 or x86_64 since it
   requires running an executable compiled for the target host.
 - If the user has specified --enable-32-bit on x86_64 or --enable-64-bit
   on x86, respect that and choose the correct asm architecture.
2008-05-05 16:57:07 -07:00
Markus Amsler
113f5b14cb r300: fragment.position input needs no blanking out, it's correctly handled in insert_wpos.
fixes bug 15447
2008-05-06 01:32:40 +02:00
Dan Nicholson
cc77e8f113 autoconf: Error for incompatible version of libdrm
The DRI modules can only be built against libdrm master (currently
version 2.3.1), so this should be enforced to save people from trying to
build against older versions.

Added a section at the top of the script to consolidate all required
versions.
2008-05-05 15:45:20 -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
Dan Nicholson
297e16cc7a autoconf: More quoting, just to be safe 2008-05-05 15:42:53 -07:00
Dan Nicholson
a2b73c74b0 Ignore xdemos/sharedtex 2008-05-05 15:16:52 -07:00
Dan Nicholson
e6a0609f2e autoconf: Allow non-pkg-config builds to succeed
The variable no_x was being set to yes when libX11 was not found through
pkg-config. This causes AC_PATH_XTRA to skip its search for the X11
libraries, which was not the intended effect. Also switched to using the
PKG_CHECK_EXISTS autoconf macro.
2008-05-05 15:16:22 -07:00
Dan Nicholson
00994ac08c autoconf: Scrape the version from configs/default
Added the make script version.mk to print the various version numbers
from configs/default. This is used to substitute the version in autoconf
rather than duplicating it in both places.
2008-05-05 14:21:28 -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
George Sapountzis
2ed0f7278e glcore: Set all external variables in configuration
based on patch by Dan Nicholson <dbn.lists@gmail.com>
2008-05-05 18:14:52 +03: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
Xiang, Haihao
2fa2dd3908 i965: Don't cast the result of brw_prepare_vertices to an unsigned value.
Negative value means other errors, not aperture overflow. fix bug #15752
2008-05-05 13:15:28 +08:00
Dave Airlie
a7016949f2 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
(cherry picked from commit 66a5562ce2)
2008-05-05 23:50:45 +10:00
Dave Airlie
2f0a75f004 r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
(cherry picked from commit 026ef8111a)
2008-05-05 23:47:01 +10:00
Markus Amsler
acb47dee69 r300: Set correct VAP_CNTL per vertex program. 2008-05-04 11:11:38 +00: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
Brian Paul
97709950e7 Press <space> to reset limit/bias values, clean-up limit/bias printf 2008-05-03 09:09:40 -06: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
Eric Anholt
3323ccb803 [intel] Warnings fixes. 2008-05-02 12:25:48 -07:00
Eric Anholt
6acb94f89e [intel] Merge intel_ioctl.h. Not sure how this slipped by in the .c merge. 2008-05-02 12:25:12 -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
Brian Paul
6e19f82c37 fix conversion of GLfloat display list IDs
Use floor() to convert to int (per Mark Kildard and the SI).
Also, change translate_id() to return a signed integer since we may be
offsetting from GL_LIST_BASE.
2008-05-01 14:59:34 -06: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
Brian Paul
5f0fa82f68 Add support for GL_REPLACE_EXT texture env mode.
GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension.  Found an old demo that
actually uses it.
The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
2008-04-30 16:07:33 -06:00
Dan Nicholson
7154d661a6 autoconf: Fail from autoconf if the pkg-config macros aren't defined
Instead of postponing the error from missing pkg-config macros to when
configure is run, make autoconf exit by using m4 macros.
2008-04-30 14:05:57 -07:00
Brian Paul
9a43570f8c added xdemos/sharedtex.c test
Test that modifications to a texture object in one rendering context are seen
in a second rendering context.
Press 't' to change the texture's image/colors.
2008-04-30 14:45:58 -06:00
Dan Nicholson
80f68e1b6a autoconf: Don't substitute MESA_MAJOR and friends
Since the autoconf config inherits from default, we don't need to
duplicate and substitute the MESA_* version numbers in configure.ac.
The version number is only needed in configure for the help text.
2008-04-30 13:31:44 -07:00
Xiang, Haihao
d12fa3511d intel: test cpp to ensure mipmap tree matches texture image. 2008-04-30 16:27:52 +08:00
Brian Paul
aef4ca647d disable GL_TEXTURE_1D at end of frame to fix failed assertion 2008-04-29 18:37:41 -06:00
Brian Paul
4e0e02ae68 mesa: adjust glBitmap coords by a small epsilon
Fixes problem with bitmaps jumping around by one pixel depending on window
size.  The rasterpos is often X.9999 instead of X+1.
Run progs/redbook/drawf and resize window to check.

Cherry picked from gallium-0.1 branch
2008-04-29 18:37:41 -06:00
Ove Kaaven
4f474c7d1e r200: fix state submission issue causing bogus textures (bug 15730) 2008-04-29 22:14:05 +02:00
Michel Dänzer
acba9c1771 Change default of driconf "allow_large_textures" to announce hardware limits.
The previous default these days served mostly to cause artifical problems with
GLX compositing managers like compiz (see e.g.
http://bugs.freedesktop.org/show_bug.cgi?id=10501).
2008-04-29 18:43:28 +02:00
Alan Hourihane
62a32b0d68 build fix for xorg driver 2008-04-28 22:41:42 +01:00
Keith Packard
ca73488f48 [i965] short immediate values must be replicated to both halves of the dword
The 32-bit immediate value in the i965 instruction word must contain two
copies of any 16-bit constants. brw_imm_uw and brw_imm_w just needed to
copy the value into both halves of the immediate value instruction field.
2008-04-25 16:08:50 -07:00
Dan Nicholson
10d70e2f2c glcore: Respect DESTDIR 2008-04-25 11:36:55 -07:00
George Sapountzis
004922b141 fix make tarballs 2008-04-25 17:20:05 +03:00
Alan Hourihane
118de7a013 silence warning 2008-04-25 10:39:52 +01:00
Pierre Beyssac
fddb0f6e4f enable GL_EXT_multi_draw_arrays (see bug 15670) 2008-04-24 16:29:34 -06:00
Alan Hourihane
6497d50924 include <X11/Xlib.h> 2008-04-23 15:59:23 +01:00
George Sapountzis
f6f9f5e481 drop stray includes of glapi 2008-04-23 11:12:31 +03:00
George Sapountzis
f027f8d3a8 glx: nitpick renames 2008-04-23 11:12:31 +03:00
George Sapountzis
df04ffbf02 glx: split out current context code
also clean header inclusion after code movement
2008-04-23 11:12:31 +03:00
George Sapountzis
37be884875 glcore: drop outdated sources files intented for xorg 2008-04-23 11:12:31 +03:00
George Sapountzis
750f52169c glcore: tree sharing for DRI and XMesa 2008-04-23 11:12:30 +03:00
George Sapountzis
32a2a095f4 glcore: build from mesa 2008-04-23 11:12:30 +03:00
Alan Hourihane
b3efd35f4b revert part of the previous cleanup - it only applies
to the 7.0 branch
2008-04-22 23:05:11 +01:00
Alan Hourihane
936dba1de5 Fix error string 2008-04-22 20:32:06 +01:00
Alan Hourihane
c8666cfb0b correct the return value 2008-04-22 20:31:58 +01:00
Alan Hourihane
eec20c359d small cleanups 2008-04-22 20:30:38 +01:00
Xiang, Haihao
6e620162a1 i965: fix DEPTH_TEXTURE_MODE (bug #14220) 2008-04-22 16:25:23 +08:00
Zou Nan hai
c9c64a100d [i965] This is to fix random crash in some maps of Ut2004 demo.
e.g. bridge of fate.
 	If vs output is big, driver may fall back to use 8 urb entries for vs,
	unfortunally, for some unknown reason, if vs is working at 4x2 mode,
	8 entries is not enough, may lead to gpu hang.
2008-04-22 15:50:40 +08:00
Xiang, Haihao
f61e51ee98 i965: save the offset of target buffer after last execution, not relocatee buffer. 2008-04-22 11:11:42 +08:00
Xiang, Haihao
7c2a3fced8 intel: fix an assertion failure. fix bug #15575 2008-04-21 17:34:00 +08:00
Xiang, Haihao
33107357a1 i965: clear the PRESUMED_OFFSET flag from bo_req.hint, not bo_req.flags. fix #15574 2008-04-21 14:02:50 +08:00
Eric Anholt
711222bb7b autoconf: Default the build to DRI on OS+CPU combos where it's expected. 2008-04-18 15:04:21 -07:00
Dave Airlie
27e06a5234 i965: fixup depth buffer check 2008-04-18 15:37:54 +10:00
Dave Airlie
fda4895d26 i965: fix vb aperture space check 2008-04-18 15:14:48 +10:00
Dave Airlie
e92e3848e7 965: fix vb upload size check 2008-04-18 15:09:46 +10:00
Dave Airlie
e149e1b953 i965: fix gs_prog aperture check 2008-04-18 15:09:46 +10:00
Dave Airlie
f2a6404ef3 i915: check for depth region before accounting its buffer size
fd.o bz #15573
2008-04-18 12:13:13 +10:00
Dave Airlie
008653ac55 i965: initial attempt at fixing the aperture overflow
Makes state emission into a 2 phase, prepare sets things up and accounts
the size of all referenced buffer objects. The emit stage then actually
does the batchbuffer touching for emitting the objects.

There is an assert in dri_emit_reloc if a reloc occurs for a buffer
that hasn't been accounted yet.
2008-04-18 11:57:38 +10:00
Xiang, Haihao
08f9b190a7 Revert "[i965] renable regative rhw test"
This reverts commit 3158e981f5.
rhw issue has gone away on IGD.
2008-04-17 16:50:42 +08:00
Andrew Randrianasulu
8642dd30f9 r200: accept PROGRAM_CONSTANT inputs due to mesa changes 2008-04-17 02:51:30 +02: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
b64448b3e4 bufmgr_fake: disable debugging again 2008-04-16 16:49:32 +10:00
Dave Airlie
96338dd147 intel: fix _mesa_error ctx I introduced at lsat minute 2008-04-16 16:37:13 +10:00
Dave Airlie
7cc7ff7051 intel/fake_bufmgr: Attempt to restrict references to objects in a batchbuffer > aperture size.
So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated.

Fix 1:
Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware
and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone.

Fix 2:
Next problem was that even with a simple check for total < aperture, we ran
into fragmentation issues, this meant that half way down a set of buffers,
we would fail as no blocks were available. Fix this by nuking the memory
manager from orbit and letting it start again and relayout the blocks in a
manner that fits.

Fix 3:
Finally the initial problem we were seeing was a memcpy to a NULL backing store.
We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now.

Caveats:
965 support is still fail.
2008-04-16 16:22:05 +10:00
Brian
bbb042f0b8 fix multi-draw buffer regression 2008-04-14 21:02:34 -06:00
Brian Paul
118c2bc860 only use __x86_64__, not __amd64__ (bug 15503) 2008-04-14 14:10:32 -06:00
Brian Paul
8fd2b7d9dd fix GL_ARB_texture_rectangle breakage 2008-04-14 13:43:24 -06:00
Brian Paul
3403f9fe13 check for _WIN32 and __WIN32__ 2008-04-14 13:41:39 -06:00
David Flynn
7be8d5664a define #extension GL_ARB_texture_rectangle 2008-04-14 13:41:39 -06:00
Roland Scheidegger
32134b5508 r200: fix XPD vertex program instruction when using temps as inputs
due to the two read ports limit into temp memory may need the MAD_2 instruction
for the second instruction of the decomposed XPD.
While here, also try to avoid MAD_2 for MAD if all 3 inputs are temps but the
temps aren't actually distinct.
2008-04-12 02:40:27 +02:00
Brian Paul
51ad219d6f fix failed assertion (parameter can be a PROGRAM_CONSTANT) 2008-04-11 09:35:18 -06:00
Brian Paul
b69eb0360a add missing glViewport calls 2008-04-11 08:59:39 -06:00
Brian Paul
3f4e80c06b comments 2008-04-11 08:59:39 -06:00
Michel Dänzer
23635510e3 Get the default GLXPixmap texture target from the server when appropriate.
Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
application didn't specify the texture target as a GLX drawable attribute
when creating the GLX drawable.
2008-04-10 15:47:46 -04:00
Brian
842b8b4c33 more make clean items 2008-04-09 22:30:42 -06:00
Brian
26f0b8f506 use InitUniforms() 2008-04-09 22:30:42 -06:00
Brian
2dca3373ae Replace duplicated code with new shaderutil.c functions 2008-04-09 22:30:42 -06:00
Brian
90caba3d76 shader utility functions 2008-04-09 22:30:42 -06:00
Hasso Tepper
f9c8af31c5 Add support for dfbsd to mklib script. 2008-04-09 11:03:05 -07:00
Hasso Tepper
43887cf396 Add $(X11_INCLUDES) to shut makedepend up. 2008-04-09 10:56:12 -07:00
Hasso Tepper
9f8df2d07f autoconf: Add dfbsd support. 2008-04-09 10:51:21 -07:00
Jie Luo
2771862adc Handle fbconfig comparison correctly for attributes the X server didn't send. 2008-04-08 19:17:06 -04:00
Kristian Høgsberg
c016f329ab Only convert configs if screen creation was successful.
Thanks to Adam Jackson for pointing it out.
2008-04-08 18:31:07 -04:00
Michel Dänzer
da3e48186d r300: Fix r300VAPInputRoute{0,1} for big endian platforms. 2008-04-07 10:28:42 +02:00
Brian
5d73502625 7.0.3 updates 2008-04-04 19:28:33 -06:00
Brian
fad7933c44 updated w/ 7.0.3 release 2008-04-04 19:28:33 -06:00
Brian
6eddb4cb20 import 7.0.3 relnotes from 7.0 branch 2008-04-04 19:28:33 -06:00
Brian
c3240b5ff8 added glGetActiveUniform_func 2008-04-04 19:28:33 -06:00
Brian
40905c909d mesa: add missing glPush/PopMatrix() calls 2008-04-04 19:28:33 -06:00
Brian
ae0ea14ff6 mesa: add missing glPush/PopMatrix() calls 2008-04-04 19:28:33 -06:00
Brian
1757acc293 rewrite some of the mat*mat, mat*vec intrinsics
Also, remove obsolete matrix codegen code.
2008-04-03 21:51:31 -06:00
Brian
96b4ac05be silence warning 2008-04-03 20:12:32 -06:00
Kristian Høgsberg
e786924bf0 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:17:31 -04:00
Kristian Høgsberg
dc836edf49 Initialize GLX_EXT_texture_from_pixmap attributes correctly. 2008-04-02 19:05:43 -04:00
Roland Scheidegger
28dfb0613b fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269) 2008-04-01 23:24:11 +02:00
Brian
5c4ca968fa added some missing calls to _mesa_enable_x_y_extensions() 2008-04-01 08:43:34 -06:00
Dan Nicholson
b645942df9 Use AC_CHECK_PROGS to find alternate make programs
The autoconf macro AC_PATH_PROGS handles the case of searching for
multiple program names already, so we don't need to open code it. Also
changed the search to AC_CHECK_PROGS so that it doesn't set the full
path unless the user specified. Finally, report back the found value at
the end for what the user should run.
2008-03-31 17:00:00 -07:00
Markus Amsler
3ea80c1128 fix parsing bug involving comments at the end of ARB v/f programs 2008-03-31 14:58:48 -06:00
Kristian Høgsberg
e82dd8c6e1 DRI interface changes and DRI2 direct rendering support.
Add DRI2 direct rendering support to libGL and add DRI2 client side
protocol code.  Extend the GLX 1.3 create drawable functions in
glx_pbuffer.c to call into the DRI driver when possible.

Introduce __DRIconfig, opaque struct that represents a DRI driver
configuration.  Get's rid of the open coded __GLcontextModes in the
DRI driver interface and the context modes create and destroy
functions that the loader was requires to provide.  glcore.h is no
longer part of the DRI driver interface.  The DRI config is GL binding
agnostic, that is, not specific to GLX, EGL or other bindings.

The core API is now also an extension, and the driver exports a list
of extensions as the symbol __driDriverExtensions, which the loader
must dlsym() for.  The list of extension will always include the DRI
core extension, which allows creating and manipulating DRI screens,
drawables and contexts.  The DRI legacy extension, when available,
provides alternative entry points for creating the DRI objects that
work with the XF86DRI infrastructure.

Change DRI2 client code to not use drm drawables or contexts.  We
never used drm_drawable_t's and the only use for drm_context_t was as
a unique identifier when taking the lock.  We now just allocate a
unique lock ID out of the DRILock sarea block.  Once we get rid of the
lock entirely, we can drop this hack.

Change the interface between dri_util.c and the drivers, so that the
drivers now export the DriverAPI struct as driDriverAPI instead of the
InitScreen entry point.  This lets us avoid dlsym()'ing for the DRI2
init screen function to see if DRI2 is supported by the driver.
2008-03-31 16:51:26 -04:00
Xiang, Haihao
63d8a8417d mesa: Free all shader program data before deleting all
shader/shader program objects to avoid memory access error.
2008-03-31 17:17:34 +08:00
Xiang, Haihao
aef47c4dc8 Revert "mesa: separate shader program object from shader object." (bug#15244)
This reverts commit 3ffd11f71d.
2008-03-31 16:27:47 +08:00
Xiang, Haihao
d30d9e42b7 i915: texture object's lod bias. fix bug #15192 2008-03-31 13:45:06 +08:00
Markus Amsler
d9367842e5 r300: Copy-and-paste error from the vertex program branch. 2008-03-30 16:12:47 +00:00
Markus Amsler
85e816882d r300: Take PROGRAM_CONSTANT into account.
This bug was introduced by commit 978145a075.
2008-03-30 16:10:47 +00:00
Oliver McFadden
3e0797f3b7 Merge branch 'r300-vertprog-branch' of ssh://people.freedesktop.org/~z3ro/mesa 2008-03-29 14:46:32 +00:00
Brian
635e964712 fix texture/renderbuffer mix-up in test_attachment_completeness() 2008-03-28 13:24:39 -06:00
Xiang, Haihao
184cf464f4 i965: depth offset on glPolygonMode(GL_LINE/GL_POINT) 2008-03-28 17:32:45 +08:00
Dave Airlie
6054788f36 r300: finish conversion of RS_INST regs 2008-03-28 13:16:33 +11:00
Dave Airlie
a9802328cd r300: move to using RS_INST names 2008-03-28 13:06:28 +11:00
Brian
7d2b6a0466 consolidate some parsing functions that were pretty much identical for vertex/fragment programs 2008-03-27 16:17:37 -06:00
Brian
21454f8636 when negating scalar src args, use NEGATE_XYZW, not NEGATE_X
This makes things easier on the back-end when generating GPU code.
cherry-picked from gallium-0.1
2008-03-27 16:06:36 -06:00
Brian
978145a075 Set param_var->param_binding_type = PROGRAM_CONSTANT
cherry-picked from gallium-0.1
2008-03-27 16:06:36 -06:00
Eric Anholt
227af94cce Add a couple of test apps for line/unfilled polygon clipping. 2008-03-27 11:57:08 -07:00
Michal Wajdeczko
0500467044 [965] Fix massively broken state cache dirty flagging.
It was flagging a last_bo update even when last_bo didn't change, but
another part was failing to update last_bo when it should have.
2008-03-26 13:43:16 -07:00
Michal Wajdeczko
76430815a7 [intel] Use mesa texmemory functions to allocate teximage Data.
Failure to consistently do so resulted in mismatched aligned versus
unaligned alloc/free.
2008-03-26 13:33:34 -07:00
Eric Anholt
b4cbf6983e [965] Don't let the negate flags of src0 affect 1 constants in precalc_dst/lit
This patch is a variant of a submission by Michal Wajdeczko to fix
oglconform fpalu failures.
2008-03-26 13:23:43 -07:00
Michal Wajdeczko
13a6f73a64 [965] Correctly set read mask for OPCODE_SWZ in pass1.
While OPCODE_SWZ has usually been optimized away in pass0, it may still
exist if a SWZ with dst saturate was emitted in pass_fp.  Fixes an error
in oglconform fpalu.c.
2008-03-26 13:00:03 -07:00
Eric Anholt
5cc56cbad8 [965] Clean up whitespace and dead code from do_unfilled change. 2008-03-26 12:59:17 -07:00
Oliver McFadden
e49ec6e2a4 r300: Indented the vertex program code... 2008-03-26 08:01:13 +00:00
Oliver McFadden
82770b8c83 r300: Cleaned up the default vertex program code with longer lines. 2008-03-26 07:53:16 +00:00
Oliver McFadden
a2c1aad27d r300: Removed the last of the duplicate vertex program macros. 2008-03-26 07:28:29 +00:00
Oliver McFadden
863ab98ac7 r300: Added Copyright lines to the vertex program code. 2008-03-26 07:09:21 +00:00
Zou Nan hai
d24a5254c2 [i915] don't use 4x4 filter for 1D shadowmap 2008-03-26 14:40:30 +08:00
Oliver McFadden
42a04ada10 r300: Renamed the Mesa opcode translation functions. 2008-03-26 06:31:33 +00:00
Oliver McFadden
2ac2911554 r300: Renamed the destination-and-opcode/source macros to more appropriate names. 2008-03-26 06:24:48 +00:00
Brian
d3ebaa41f5 implement glGet/BindAttribLocationARB() for display lists
More such shader functions are needed...
2008-03-25 14:03:52 -06:00
Brian
4e6c2c4f85 updated to version 40 2008-03-25 08:12:19 -06:00
Xiang, Haihao
0e34dcc6df intel: fix the issue "VBO: Cannot allocate memory for a BO" on
965 after merging intel_context.c from i915 and i965. fix bug# 15152.
2008-03-25 17:29:38 +08:00
Brian
816fbeaa81 add GL_READ_FRAMEBUFFER_BINDING_EXT case, regenerate get.c file 2008-03-24 19:56:30 -06:00
Brian
7048545c44 fix wrong values for GL_READ/DRAW_FRAMEBUFFER_BINDING_EXT tokens 2008-03-24 19:56:30 -06:00
Alex Deucher
b469e9e93c R300: fix typo r300 fog reg
Noticed by pzad on IRC
2008-03-24 14:49:43 -04:00
Oliver McFadden
74aee365e3 r300: Merged the constant zero/one source macros. 2008-03-24 12:53:57 +00:00
Oliver McFadden
c75ffff84a r300: Merged the Vector and Math Engine opcode macros. 2008-03-24 12:53:57 +00:00
Eric Anholt
c986421694 autoconf: Add a workaround for second AC_PROG_PATH not overwriting results. 2008-03-22 11:03:16 -07:00
Brian
dc6fab90b4 use ctx->Driver.DeleteProgram() in a few more places 2008-03-22 10:27:03 -06:00
Brian
731dec1bd5 delete default programs with ctx->Driver.DeleteProgram() 2008-03-22 09:13:28 -06: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
Michal Wajdeczko
c60b5dfde8 [965] Avoid emitting dead code for DPx/math instructions.
The pass1 optimization stage clears out writemasks and registers, but the
instructions themselves are still being processed at this stage, and could
have resulted in them still being emitted.
2008-03-21 14:19:30 -07:00
Michal Wajdeczko
bb419970ef [965] Improve pinterp performance by delaying reads of just-written regs. 2008-03-21 14:19:30 -07:00
Michal Wajdeczko
6c1a98e97a [965] Fix negating of unsigned value in emit_wpos_xy. 2008-03-21 14:19:30 -07:00
Michal Wajdeczko
5f10438f2d [965] Add MVP code for position invariant vertex programs.
This fixes the arbvptorus demo.
2008-03-21 14:19:30 -07:00
Michal Wajdeczko
31fe7cf5e3 [win32] Use native aligned memory allocation functions. 2008-03-21 14:19:30 -07:00
Michal Wajdeczko
aa8a7ef823 [965] Shuffle state flags to match the order we initialize them in. 2008-03-21 14:19:30 -07:00
Michal Wajdeczko
9f6e8e89c8 intel: Use _mesa_ffs wrapper, and fix a use-after-free with INTEL_DEBUG=buf. 2008-03-21 14:19:30 -07:00
Eric Anholt
050c533cbf autoconf: automatically detect if -ldl is required.
This logic was copied from the xserver.
2008-03-21 14:19:30 -07:00
Eric Anholt
bcb61987fb Fix xdemos build on FreeBSD: <sys/types.h> before <netinet/tcp.h> 2008-03-21 14:19:30 -07:00
Eric Anholt
5ad06156b2 Fix autoconf build on FreeBSD: detect gmake, and put -D*_SOURCE under linux. 2008-03-21 14:19:29 -07:00
Brian
d933be6baf Refactor PBO validate/map code.
We always need to do PBO validation, so do that in core Mesa before calling driver routine.
2008-03-21 14:19:28 -06:00
Brian
3c9862d337 include varray.h to silence warning 2008-03-21 13:42:36 -06:00
Brian
a429a25cd5 add a number of PBO validate/map/unmap functions
Helper functions for (some) drivers, including swrast.
2008-03-21 13:41:00 -06:00
Brian
85ea7ff25c Fix some PBO breakage.
In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset
into a PBO.  Similarly for _mesa_GetTexImage.
2008-03-21 12:33:28 -06:00
Zou Nan hai
7936c614ab [i965] multiple rendering target fix 2008-03-21 18:16:11 +08:00
Dave Airlie
3eb8e5871f r500: setup fragment program constant emission atom 2008-03-21 17:05:29 +10:00
Zou Nan hai
7233eabaf0 [i915] GL_DEPTH_TEXTURE_MODE fix 2008-03-20 17:47:02 +08: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
Xiang, Haihao
bff94a91c6 mesa: The span array is only populated in single-pixel
point drawing function.
2008-03-20 11:34:14 +08:00
Eric Anholt
7183ccaa9d [965] Initialize region surface key structure padding.
Fixes valgrind warnings, and potential performance loss from cache misses.
2008-03-19 17:54:06 -07:00
Eric Anholt
7d5f713fa5 [intel] Fix an uninitialized variable access in PRESUMED_OFFSET clearing.
It was harmless, as the only time we need to clear PRESUMED_OFFSET, the
variable had been initialized already.
2008-03-19 17:54:06 -07:00
Brian
e03dd83209 fix IEEE_ONE definition for ICC compiler (bug 15134) 2008-03-19 17:25:50 -06:00
Alex Deucher
65c4ced1cc Radeon 9500 (0x4144) only has one pipe
confirmed by Reid Linnemann <lreid@cs.okstate.edu>
2008-03-19 18:10:47 -04:00
Brian
b5292b4d99 x86_init_func_size() returns int to indicate success/fail (bug 15119) 2008-03-19 09:52:08 -06:00
Brian
29054676a0 s/x86_init_func/x86_init_func_size (fixes bug 15119) 2008-03-19 08:38:28 -06:00
Zou Nan hai
947312e464 [i915] arb point sprite only support in i965 2008-03-19 16:32:29 +08:00
Zou Nan hai
c62f504eb6 [i915] fix fragment.position 2008-03-19 16:29:47 +08:00
Dave Airlie
57028236c8 more r500 vs r300 kickin 2008-03-19 16:29:11 +10:00
Eric Anholt
b790b24ff9 [i915] Bug #13634: Fix bugs in 945 cube mipmap layout.
The most egregious, and the one the bug report and failure in the cubemap
demo were about was introduced with intel_mipmap_pitch_align(), where a
"* 2" for the pitch calculation was lost.  The base size < 32 case also
failed to align, which may have caused problems with render to texture.
Another bug would have broken 2x2/1x1 base mipmap levels by placing the
data where the hardware wouldn't look for it.

Other bugs remain with the layout of the small mipmap faces (hardware looks
for them in X,Y,Z,-X,-Y,-Z order along the bottom row, but we lay them out
X,-X,Y,-Y,Z,-Z).
2008-03-18 20:17:56 -07:00
Eric Anholt
c2814f2a3f [i915] Add comments about how cube texture layout works. 2008-03-18 20:17:56 -07:00
Eric Anholt
45adf29ed0 [i915] Move miptree layout code into separate functions per target.
Also clean up some other miscellaneous formatting nits while I'm at it.
2008-03-18 20:17:56 -07:00
Eric Anholt
e5f50f2fa3 [intel] Clarify miptree layout by using byte offsets to images. 2008-03-18 20:17:56 -07:00
Eric Anholt
363d878519 [945] Remove conditional in 945 3D mipmap layout checking for cube layout. 2008-03-18 20:17:55 -07:00
Alan Hourihane
a3b5ae783e set outputs_safe to 0 as it's possible for the code generation
to slip over the allocated memory for the vb.

pull in sse fixes from gallium-0.1
2008-03-19 01:04:32 +00:00
Zou Nan hai
f7cfc51b05 Revert "[i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP"
There is no information in GS to determinate when to reset line stipple count, still fallback to software
This reverts commit 5a0314b431.
2008-03-18 17:37:25 +08:00
Xiang, Haihao
ae2c31ed66 glx: Add isDirect back to __GLXcontextRec. It is needed
to check whether oldGC is used for direct rendering in
function MakeContextCurrent. However it is possible
oldGC->driContext is already freed. fix bug #14926.
2008-03-18 15:02:57 +08:00
Zou Nan hai
5a0314b431 [i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP 2008-03-18 10:27:20 +08:00
Dave Airlie
48efb769e9 r300: add new rs690 pci id 2008-03-18 10:29:16 +10:00
Andrzej Trznadel
3105bc1d88 [965] Fix fp temp reg release code to not usually release all temps.
Also, use wrapped ffs() instead of native.
2008-03-17 15:56:26 -07:00
Andrzej Trznadel
e9809a36aa Fix compat implementation of ffs() to return 1-based bit numbers. 2008-03-17 15:52:08 -07:00
Markus Amsler
f2b914298f only set InputsRead bit if input is really used 2008-03-17 08:35:27 -06:00
Markus Amsler
d787850ae6 mesa: Add vertex.attrib 0-15 to arb_input_attrib_string. 2008-03-17 12:11:11 +01:00
Dave Airlie
1c71ec4d45 some basic r500 portage 2008-03-17 21:09:49 +10:00
Markus Amsler
c48212fe58 r300: Simplify r300VAPInputRoute1. 2008-03-17 12:03:54 +01:00
Markus Amsler
f0c8863dbb r300: Simplify r300VAPInputRoute0, check for valid input. 2008-03-17 12:02:56 +01:00
Zou Nan hai
8d5231a358 [i965] round pointsize to nearest int according to spec 2008-03-17 17:52:26 +08:00
Dave Airlie
5da8289e9c r500: fragprog 2008-03-17 19:05:44 +10:00
Xiang, Haihao
4a556bcb17 intel: fix the error in commit 7ed1fd5d84 2008-03-17 17:02:42 +08:00
Xiang, Haihao
4478926b3a intel: It is needed to allocating texture memory to accommodate
a texture when calling TexImage with pixels set to NULL pointer.
2008-03-17 16:52:07 +08:00
Xiang, Haihao
7ed1fd5d84 intel: Remove an assertion from intel_miptree_create. TexImage
call with zero width/height/depth matches GL spec.
2008-03-17 16:50:20 +08:00
Xiang, Haihao
0819b25dfb mesa: avoid to unlock an unlocked array in _mesa_PopClientAttrib 2008-03-17 16:48:36 +08:00
Xiang, Haihao
07ff7c2285 mesa: Follow GL spec to draw DEPTH_COMPONENT pixels when
there's no depth buffer. Fix bug #11580
2008-03-17 16:47:42 +08:00
Zou Nan hai
b0f681b458 [i965] fix wpos height 1 pixel higher 2008-03-17 16:39:10 +08:00
Kristian Høgsberg
98e13fecd0 Test createNewScreen for NULL, not createNewScreenName in driCreateScreen(). 2008-03-15 14:06:42 -04:00
Brian
e80a2888bb init tmpNode to zeros 2008-03-14 14:15:55 -06:00
Brian
868193d54e mesa: fix emit_clamp() so that we don't use an output register as temporary
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX.  Allocate a temporary
register for the intermediate value so we don't inadvertantly use an output
register (which are write-only on some GPUs).
2008-03-14 13:59:32 -06:00
Xiang, Haihao
42c279a03b glx: fix rotation regression. bug #14963 2008-03-14 15:27:15 +08:00
Xiang, Haihao
f94d317d7a intel: fix abort issue with shadowtex demo when use
DEPTH_STENCIL texture. (bug#14952).
2008-03-14 11:50:11 +08:00
Roland Scheidegger
142fcd3a13 fix state.lightprod ambient/specular w value (bug #14983) 2008-03-13 12:43:04 +01:00
Zou Nan hai
fcb7cb9e72 [i965] multiple rendering target support 2008-03-13 14:46:38 +08:00
Kristian Høgsberg
9110425c72 libGL: Pull the drawable hash back out in the generic code.
This will be shared between dri and dri2 code.
2008-03-12 02:18:12 -04:00
Kristian Høgsberg
94f39f2e7c Add another missing check for uninitialized DRI.
Spotted by Chris Taylor.
2008-03-12 02:04:16 -04:00
Dan Nicholson
f1e1267372 Fix include path for rain demo so glut.h is found 2008-03-11 06:24:56 -07:00
Dan Nicholson
b957655a91 autoconf: Enable xdemos by default when we build libGL
Since the xdemos only link to libGL now, we can enable them for all but
the osmesa driver target.
2008-03-10 16:11:04 -07:00
Jeremy Huddleston
4dfd2dcbe7 Darwin: Fixed small error in darwin config files
(cherry picked from commit a21c61ee8b)
2008-03-10 16:03:29 -07:00
Kristian Høgsberg
fe23dc5eca Move make install logic for libGL back into src/mesa/Makefile.
This makes make install work again for non-glx libGL implementations.
The make install logic is split into three sub-targets: install-libgl,
install-osmesa, install-drivers.  The install target in src/glx/x11
is then implemented using the src/mesa make install-libgl rule.

Thanks to Dan Nicholson for pointing out the breakage.
2008-03-10 18:46:19 -04:00
Kristian Høgsberg
3731159ec6 Only try to call DRI function if DRI got initialized properly. 2008-03-10 18:46:19 -04:00
Jeremy Huddleston
7c7fece977 Darwin: Config/source fixes to now build glxdemo apps and OSMesa
Also added darwin-fat-32bit darwin-fat-all configs and deleted old darwin-x86ppc config
(cherry picked from commit 7120c0089d)
2008-03-10 15:21:39 -07:00
Dan Nicholson
460d25dca1 autoconf: Add autogen.sh from Xorg for easier setup from git
The defacto method to rebuild the autotools and run the generated
configure is an autogen.sh script. It is much more discoverable than the
custom `make configure' used here. The Makefile targets are still useful
for creating tarballs, though. This autogen.sh is copied from Xorg.
2008-03-10 12:36:57 -07:00
Dan Nicholson
ab5750f143 Ignore more demo programs 2008-03-10 12:36:10 -07:00
Brian
9162bc8f48 remove extra #include of assert.h (bug 14932) 2008-03-10 07:43:40 -06:00
Brian
dd0a9203e3 fix parsing of state.texenv.color (bug 14931) 2008-03-10 07:43:40 -06:00
Dave Airlie
20e0a8a1ca dri: fix function call to add new parameter.
This may not be correct but it should get the build going.
2008-03-10 19:13:34 +10:00
Kristian Høgsberg
dcbe215c01 DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
This fixes a problem where texturing from the same Pixmap more than
once per batchbuffer would hang the DRI driver.  We just use the region
associated with the front left renderbuffer of the __DRIdrawable for
texturing, which avoids creating different regions for the same BO.

This change also make GLX_EXT_texture_from_pixmap work for direct
rendering, since tracking the __DRIdrawable -> BO handle now uses
the standard DRI2 event buffer.  Of course, DRI2 direct rendering
doesn't exist yet.

Finally, this commit bumps the DRI interface version again, accounting
for the change in the DRI_TEX_BUFFER extension and the change in
commit 0bba0e5be7 to pass in the
event buffer head index on drawable creation.
2008-03-09 21:28:04 -04:00
Kristian Høgsberg
180b41594c DRI2: Drop DriverAPI.UpdateBuffer.
__dri2ParseEvents() would determine the kind of event, but then call
UpdateBuffer() in either case, and UpdateBuffer() would then have to
figure that out again to dispatch to HandleBufferAttach() or
HandleDrawableConfig().  Pretty pointless.
2008-03-09 21:22:49 -04:00
Kristian Høgsberg
2d5ea175f7 DRI2: Pass the context instead of the screen to __dri2ParseEvents().
Makes a lot more sense, since the screen is always implicit in the
DRI drawable, but it may not be possible to track down a context from
just a drawable.
2008-03-09 21:19:17 -04:00
Kristian Høgsberg
0bba0e5be7 DRI2: Add event buffer head as an argument to driCreateNewDrawable().
The DRI driver needs to know where in the buffer to start reading.
2008-03-09 21:16:30 -04:00
Brian
810e0549af fix botched test for clearing color buffers (should fix depth peeling regression) 2008-03-09 18:30:07 -06:00
Markus Amsler
29fbf72dbf Set normalized flag for GLubyte arrays in _mesa_VertexAttribPointerNV() 2008-03-09 17:54:32 -06:00
Markus Amsler
507da24767 init vertex weight attrib to (1,0,0,0) 2008-03-09 17:54:32 -06:00
Brian
882e0e0179 fix __builtin_expect() definition test for IBM XLC (sf bug 1909832) 2008-03-09 17:54:32 -06:00
Kristian Høgsberg
b0f8025434 Properly revert the libGL loader path breakage. 2008-03-09 19:02:56 -04:00
Kristian Høgsberg
03db9c8acb libGL: Fall back to DEFAULT_DRIVER_DIR properly.
After commit 6fd82f6fbd, we would
overwrite the libPath default value with NULL if libGL was running
non-setuid and none of the env vars were set.

Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for spotting it.
2008-03-09 16:29:17 -04:00
Brian
eecb3ab7c6 replace // comment with /* */ (bug 14916) 2008-03-09 10:41:50 -06:00
Brian
99a1260985 added info about checking out gallium-0.1 for cell code 2008-03-09 10:39:00 -06:00
Kristian Høgsberg
3d28a2690f Use _X_HIDDEN to hide a bunch of leaked symbols. 2008-03-08 22:28:01 -05:00
Kristian Høgsberg
020c64b2cf Move DRI context functions into dri_glx.c.
Also drop isDirect flag; if gc->driContext is non-NULL, it's direct.
2008-03-08 21:57:29 -05:00
Kristian Høgsberg
20b9230ce1 Move DRI drawable creation into dri_glx.c. 2008-03-08 21:02:23 -05:00
Kristian Høgsberg
92d2a78f8d Introduce __GLXDRIscreen so we can start moving function pointers in there.
Temporarily rename the __DRIscreen member to __driScreen.  Eventually,
we'll move that into __GLXDRIscreen and only access it in dri_glx.c.
2008-03-08 20:34:24 -05:00
Kristian Høgsberg
53dc863636 Move DRI specific parts of CreateContext into dri_glx.c. 2008-03-08 20:02:22 -05:00
Kristian Høgsberg
a1ea6f6198 Convert driCreateScreen and driDestroyScreen to function pointers.
We avoid leaking the symbols and will be able to replace them with
DRI2 implementation later on.
2008-03-08 19:15:50 -05:00
Kristian Høgsberg
425f9ed44e Abstract __DRIdisplayPrivateRec away in dri_glx.c.
This patch moves __DRIdisplayPrivateRec definition into dri_glx.c and
let's dri_glx.c allocate the __DRIdisplay struct pointer to from
__GLXdisplayPrivate.

A small step towards moving more of the dri functionality into dri_glx.c.
2008-03-08 19:10:21 -05:00
Kristian Høgsberg
f585cb29b8 Make __glXCloseDisplay static instead of prototyping it to avoid warning. 2008-03-08 17:38:02 -05:00
Kristian Høgsberg
47d563006d Move libGL install target to the libGL Makefile. 2008-03-08 17:19:39 -05:00
Kristian Høgsberg
6fd82f6fbd Simplify LIBGL_DRIVERS_PATH walking. 2008-03-08 16:19:39 -05:00
Kristian Høgsberg
0f2723cacb Simplify dri loading code by eliminating dlopen "cache".
No need to jump through hoops to track __DRIdrivers and avoid dlopening the
same .so more than twice, dlopen() does this internally.  Besides, we
were already bypassing this and dlopening drivers for each screen,
whether or not they were already dlopened.
2008-03-08 16:19:39 -05:00
Kristian Høgsberg
890d44e54f libGL: Consolidate DRI initialization in dri_glx.c
Move a lot of code over from glx_ext.c.
2008-03-08 16:19:39 -05:00
Dan Nicholson
db7fc63110 autoconf: Print GCC include path directly and be more robust using it
Rather than constructing the GCC include path from `-print-search-dirs',
we can get the path directly from `-print-file-name=include'. This is
used in the Linux kernel build, for example. If no output is returned
from the command, then we don't append a -I path the the makedepend
options.
2008-03-07 11:48:09 -08:00
Kristian Høgsberg
1e6943cf55 [intel] Only enable GL_EXT_texture_sRGB on i965.
Fixes #14799.
2008-03-07 13:46:05 -05:00
Zou Nan hai
7676980d38 [i965] fix fd.o bug #11471 and #11478
1. Follow EXT_texture_rectangle with YCbCr texture
	2. swap UV component for MESA_FORMAT_YCBCR
2008-03-07 15:11:28 +08:00
Xiang, Haihao
5982d39799 i965: use RGB565 to render a bitmap if Depth is 16 2008-03-07 09:48:11 +08:00
Xiang, Haihao
d76545de57 i965: Fix double free issue to pass glean/maskedClear test 2008-03-06 13:23:27 +08:00
Xiang, Haihao
771ba66629 i965:fix segfault issue when clearing the window which
is created with mode GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH.
This issue is introduced by 20b8bff49c
2008-03-06 09:45:51 +08:00
Eric Anholt
fe91c05b54 [intel] Add a driconf option to cache freed buffer objects for reuse.
This is defaulted off as it has potentially large memory costs for a modest
performance gain.  Ideally we will improve DRM performance to the point where
this optimization is not worth the memory cost in any case, or find some
middle ground in caching only limited numbers of certain buffers.  For now,
this provides a modest 4% improvement in openarena on GM965 and 10% in openarena
on GM945.
2008-03-05 16:29:14 -08:00
Christoph Brill
fc21e9cdd0 r300: replace some hard coded mask by define in stencil area 2008-03-04 21:52:49 +01:00
Christoph Brill
701ccf6f29 r300: Fix some issues with masks in stencil buffer area 2008-03-04 21:37:56 +01:00
Kristian Høgsberg
3d608c7a2d [dri2] Add tail pointer to reemitDrawableInfo callback.
When the DRI doesn't parse the event buffer for a while, the X server
may overwrite data that the driver didn't get a chance to look at.  The
reemitDrawableInfo callback requests that the X server reemit all info
for the specified drawable.  To make use of this, the drive needs to know
the new tail pointer so it know where to start reading from.
2008-03-03 19:16:20 -05:00
Kristian Høgsberg
4f7a75cc8a [dri2] Optimize event parsing to skip obsolete events.
This also fixes the problem where the X server does multiple resizes before
the DRI driver gets the events.  The obsolete buffer attach events then
reference already destroyed buffer objects.
2008-03-03 19:16:20 -05:00
Kristian Høgsberg
36c26d321b [intel] Silence unused variable warning when compiling for i965. 2008-03-03 19:15:52 -05:00
Patrice Mandin
f59d59a95f nouveau: compilation fixes 2008-03-02 12:16:23 +01:00
Oliver McFadden
47f08a9fb5 r300: Corrected a bug with the SUB instruction. 2008-03-02 09:34:43 +00:00
Oliver McFadden
e239871d5b r300: Corrected a bug with the MAD instruction.
The PVS_VECTOR_OPCODE macro should be modified to support macro instructions,
too.
2008-03-02 06:35:44 +00:00
Oliver McFadden
c30cc5904d r300: Added the PVS_SRC_OPERAND documentation from AMD. 2008-03-01 06:33:07 +00:00
Oliver McFadden
3129d8b512 r300: Added the PVS_OP_DST_OPERAND documentation from AMD. 2008-03-01 06:33:07 +00:00
Oliver McFadden
9a3d4b14e9 r300: Added a TODO comment for registers missing from AMD's documentation. 2008-03-01 06:33:07 +00:00
Oliver McFadden
916a53088e r300: Moved the vertex program shift/mask defines into the appropriate file. 2008-03-01 06:33:07 +00:00
Oliver McFadden
038e13b1ee r300: Indented the vertex program code with longer lines. 2008-03-01 06:33:07 +00:00
Oliver McFadden
5dcbdc09f3 r300: Moved the PREFER_DP4 define near the position invariant function. 2008-03-01 06:33:07 +00:00
Oliver McFadden
bbab0f97b8 r300: Added a TODO comment for the MAD opcodes. 2008-03-01 06:33:07 +00:00
Oliver McFadden
2a8b6c62a7 r300: Use the VE_ADD hardware opcode for the SUB opcode. 2008-03-01 06:33:07 +00:00
Oliver McFadden
a6d772ed16 r300: Use the VE_MULTIPLY hardware opcode for the MUL opcode. 2008-03-01 06:33:07 +00:00
Oliver McFadden
f80223d9ff r300: Cleaned up the XPD opcode temporary register usage. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b795e8db5f r300: Cleaned up extra white space. 2008-03-01 06:33:06 +00:00
Oliver McFadden
dda906fcdb r300: Prefer to use the VE_ADD for simple MOV style opcodes.
The VE_MULTIPLY_ADD has further restrictions on reading temporary memory which
may complicate things. See AMD's documentation.
2008-03-01 06:33:06 +00:00
Oliver McFadden
7504981074 r300: Removed the (undocumented) MAD_2 opcode.
This opcode is likely a mistake from reverse engineering. MAD_2 isn't included
in AMD's documentation, and my testing reviles there is no problem using the
documented MAD opcode.
2008-03-01 06:33:06 +00:00
Oliver McFadden
7e1878cdad r300: Cleaned up the MAD/MAD_2 opcode selection. 2008-03-01 06:33:06 +00:00
Oliver McFadden
bb4188b85b r300: Renamed some misleading macro arguments. 2008-03-01 06:33:06 +00:00
Oliver McFadden
fb0947ed33 r300: Cleaned up the vertex program macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
e3a0a8dc7d r300: Removed duplicate component selection defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
2fdd6d87f4 r300: Removed duplicate source register class defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
95604e88e7 r300: Renamed the vertex program source register macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
9c74291197 r300: Removed the (obsolete) special source register macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
440a6fbf6e r300: Cleaned up the special vertex program source register macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
8c4d811295 r300: Added the vertex program swizzle (aka selection) defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b2c02a4a7c r300: Converted to the new src/dest register defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b0e81fd19e r300: Removed an obsolete comment from the vertex program header file. 2008-03-01 06:33:06 +00:00
Oliver McFadden
41c3ae5778 r300: Converted to the new Math Engine defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
0ced26099d r300: Added the Math Engine opcode macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
7c4add02f8 r300: Renamed the Vector Engine opcode macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
bd46a482c4 r300: Converted to the new Vector Engine defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
66952fa5ae r300: Removed the duplicate dest register defines. 2008-03-01 06:33:05 +00:00
Oliver McFadden
8a646b80ef r300: Removed the duplicate "easy" vertex program macros. 2008-03-01 06:33:05 +00:00
Oliver McFadden
ea8299040f r300: Added the vertex program src/dest register defines. 2008-03-01 06:33:05 +00:00
Oliver McFadden
bccb56d5f3 r300: Added the Vector Engine and Math Engine defines from AMD's documentation. 2008-03-01 06:33:05 +00:00
Oliver McFadden
e0a5194a54 r300: Moved the vertex and fragment program macros into the appropriate files. 2008-03-01 06:33:05 +00:00
Roland Scheidegger
642d5ee8c5 state.depth.range alpha value should be 1, not 0 (bug #14733) 2008-03-01 02:56:08 +01:00
Kristian Høgsberg
3c5a1e4c2d Update libGL DRI loader to latest DRI interface changes. 2008-02-29 16:42:29 -05:00
Kristian Høgsberg
51cd168da4 glxgears: oops, remove accidental commit of glFinish() hack. 2008-02-29 15:33:40 -05:00
Kristian Høgsberg
6cb3f5c4d8 Use __DRIextension mechanism providing loader functionality to the driver.
Instead of passing in a fixed struct, the loader now passes in a list
of __DRIextension structs, to advertise the functionality it can provide
to the driver.  Each extension is individually versioned and can be
extended or phased out as the interface develops.
2008-02-29 15:05:39 -05:00
Kristian Høgsberg
16242a8007 Reduce the versioning madness required to create a DRI2 screen.
Right now the DRI2 screen constructor takes 3 different versions:
DRI, DDX and DRM.  This is mostly useless, though:

  DRI: The DRI driver doesn't actually care about the DRI protocol,
  it only talks to the loader, which in turn speaks DRI protocol.  Thus,
  the DRI protocol version is of not interest to the DRI driver, but it
  needs to know what functionality the loader provides.  At this point
  that's reflected in the __DRIinterfaceMethods struct and the
  internal_version integer.

  DDX: The DDX version number is essentially used to track extensions
  to the SAREA.  With DRI2 the SAREA consists of a number of versioned,
  self-describing blocks, so the DDX version is no longer interesting.

  DRM: We have the fd, lets just ask the kernel ourselves.
2008-02-29 15:05:39 -05:00
Kristian Høgsberg
5197a31b8e intel: Set the lock flag early to avoid deadlock.
Another regression from the intel_context.c merge.
2008-02-29 15:05:39 -05:00
Xiang, Haihao
de1e9880f8 i965: use _Current pointer instead of Current pointer.
fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
2008-02-29 11:16:21 +08:00
Eric Anholt
b39f15b88f [965] Fix conditional sequencing to allow the frame_buffer_texobj case.
Previously the frame_buffer_texobj case would have been bound as a normal
texture, at best resulting in no surface data being associated with it.
2008-02-28 16:04:54 -08:00
Eric Anholt
ec5ca6844b [intel] Bug #14575: Unmap buffers when deleting/dataing as required.
Otherwise, we would assertion error when doing the final unreference of the
buffer with an outstanding map (catching the memory leak).
2008-02-28 16:01:15 -08:00
Christoph Brill
981b7da8a7 r300: R5xx and R3xx use different registers for RS_IP and RS_INST
These changes are taken from the xf86-video-ati driver. They update the header
file accordingly and also remove some UNKOWN variables.
2008-02-28 22:37:15 +01:00
Eric Anholt
9c8f27ba13 [965] Bug #9151: make fragment.position return window coords not screen coords. 2008-02-28 13:18:48 -08:00
Eric Anholt
3f0301d7bc [965] Fix serious copy'n'paste failure in brw state dumping. 2008-02-28 13:18:48 -08:00
Brian
ddbfa8c462 added git on Windows section 2008-02-28 08:03:34 -07:00
Brian
cef71f58c9 a few words about how the cell driver works. 2008-02-28 08:03:34 -07:00
Xiang, Haihao
3ffd11f71d mesa: separate shader program object from shader object.
Currently a callback delete_shader_cb is used for deleting shader
and shader program objects. Mesa detaches all attached shaders in
_mesa_free_shader_program_data when deleting shader program objects. However
it is likely that these shaders have been freed in _mesa_free_shader,
which will result in unexpected behaviour. This fix uses a single callback for
shader program objects and deletes shader program objects before shader objects.
2008-02-28 21:32:36 +08:00
Zou Nan hai
0da03c0aa9 [intel] fix compressed image height 2008-02-28 16:49:38 +08:00
José Fonseca
60159c1b09 Convert crlf->lf line endings.
Windows/DOS users should enable core.autocrlf from now on:

  git config --global core.autocrlf true
2008-02-28 16:34:32 +09:00
Jose Fonseca
90a036b337 Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
Brian
cabcee9ea9 document cell -DSPU_MAIN_PARAM_LONG_LONG flag 2008-02-27 18:02:23 -07:00
Christoph Brill
00bc91ac64 r300: properly handle GL_POINT in glPolygonMode
Until now the polygon mode was completely turned of when you used
GL_POINT. For me it looked buggy to completely disable the polygon
mode for FrontMode and BackMode if any of these was GL_POINT.
2008-02-27 22:06:38 +01:00
Kristian Høgsberg
60c0f09abb intel: Always use intelInitExtensions() for initializing extensions. 2008-02-27 11:24:29 -05:00
Markus Amsler
c34b024cf4 r300: add artificial output to match fragment program input 2008-02-27 02:06:17 +01:00
Markus Amsler
12a4a74e94 mesa: set input read only on success 2008-02-27 02:04:06 +01:00
Kristian Høgsberg
20b8bff49c i965: Setup framebuffer texture in meta_draw_region.
With DRI2 we there is no screen region until a drawable is bound to
the context.  Set up the framebuffer texture in meta_draw_region instead
which should also handle the case where the draw region changes as a
result of resizing a redirected window or resizing the screen.
2008-02-26 18:01:13 -05:00
Eric Anholt
451bd1941e [965] Don't segfault on INTEL_DEBUG=batch when a surface buffer is NULL. 2008-02-26 13:58:01 -08:00
Eric Anholt
09aa4b3690 [965] remove dead brw_parameter_list_state_flags.
This was replaced by Mesa core code.
2008-02-26 13:57:49 -08:00
Christoph Brill
6e3dde8a54 [r300] fix wow-pinkness regression. Fixed by Markus Amsler 2008-02-26 22:10:54 +01:00
Christoph Brill
bfb7cd653a [r300] Document based on chapter 10.4 and 10.5
This commit adds most of the graphics backend registers and of the rasterizer
registers. Again, some minor bugs were found and marked with TODO or even
fixed.
2008-02-26 21:45:58 +01:00
Zou Nan hai
9bd2cb7f90 [i915] fix texture size exceed limit case when running celestia 2008-02-26 17:20:12 +08:00
Thomas Hellstrom
32879e1461 [intel] Handle -EAGAINs correctly in execbuffer.
Dont stop on fence creation errors.
2008-02-26 09:19:27 +01:00
Kristian Høgsberg
f1c82bf9a4 A few more fixes to the dlsym() fix.
Argh, seriously, I did test that, I just forgot to amend the commit
before pushing.
2008-02-25 22:24:09 -05:00
Dave Airlie
0a64ffb308 dri2: dlsym requires some quotes.. 2008-02-26 12:28:45 +10:00
Kristian Høgsberg
129b9ad16f Use dlsym() to avoid referencing __dri2DriverInitScreen.
Sort-of a stop-gap workaround.  There are a couple of nicer ways to
do this that doesn't require dlfcn.h, but they're more invasive.
2008-02-25 20:02:25 -05:00
Kristian Høgsberg
bcecea6ea6 autoconf: Add gcc search patch to MKDEP_OPTIONS to eliminate warnings.
Also, use -include to avoid error message when make initially fails to
include the non-existent depend file.
2008-02-25 19:02:07 -05:00
Kristian Høgsberg
7381ccab44 intel: Add missing include file to silence last couple of warnings. 2008-02-25 19:02:07 -05:00
Kristian Høgsberg
54bd506c0f intel: Initialize color and spec arrays in LOCAL_VARS macro.
Avoids spamming compilation output with tons of warnings about
use of possibly uninitialized variables.
2008-02-25 19:02:06 -05:00
Kristian Høgsberg
61c3c2c363 Change GetCompressedTexImage in dd_function_table to not take const pointers.
They're changed by the intel driver implementation and thus not const.
Fixes compilation warning.
2008-02-25 19:02:06 -05:00
Kristian Høgsberg
6e8d21d72f Remove GetMSC DriverAPI function.
The DriverAPI is internal to the DRI drivers and GetDrawableMSC
obsoletes GetMSC.  Also, since the DRI driver interface has not yet
been released, just drop the getMSC function from the DRI interface
instead using the ABI preserving version mechanism.

Finally, using void pointer privates in the DRI interface is not allowed,
always pass the actual types around (__DRIdrawable in this case) to
enhance type safety and readability of the code.
2008-02-25 19:02:06 -05:00
Kristian Høgsberg
b49a8f805a Remove now unused setTexOffset from __DriverAPIRec. 2008-02-25 19:02:06 -05:00
Oliver McFadden
57f310b2c9 r300: Corrected a cache flush bug in r300EmitCacheFlush.
Corrects commit 74ae5a875d.
2008-02-25 23:18:15 +00:00
Oliver McFadden
40a3b16183 r300: Moved the state code into separate functions. 2008-02-25 22:52:27 +00:00
Christoph Brill
0253357e16 [r300] revert complete stupid changes 2008-02-25 23:20:23 +01:00
Christoph Brill
7d83618f99 [r300] Document registers completed 10.1 to 10.3 2008-02-25 23:08:02 +01:00
Christoph Brill
4cba59f8e7 [r300] Add more register from the AMD spec 2008-02-25 23:04:17 +01:00
Christoph Brill
ed29d145f4 [r300] Document POLY_MODE and add some TODOs that might have triggered some bugs 2008-02-25 22:55:13 +01:00
Christoph Brill
090e2adaa8 [r300] Document some registers in the POINT area 2008-02-25 22:45:36 +01:00
Christoph Brill
a7fa3e093c [r300] Further document and add register definitions (found bugs in LINE handling) 2008-02-25 22:36:16 +01:00
Christoph Brill
60e1703727 [r300] Sync fog color register names 2008-02-25 21:48:25 +01:00
Christoph Brill
fa088bfe9d [r300] Sync fog register names to the AMD spec 2008-02-25 21:44:11 +01:00
Christoph Brill
d08b1fe2a4 [r300] Further document FG_ALPHA_FUNC (renamed from R300_PP_ALPHA_TEST) and finally add some information to R300_RB3D_DSTCACHE_CTLSTAT 2008-02-25 21:35:13 +01:00
Christoph Brill
f399ed7d55 [r300] Document R300_RB3D_COLORMASK properly and rename it to RB3D_COLOR_CHANNEL_MASK 2008-02-25 21:04:23 +01:00
Christoph Brill
6087b00b27 [r300] Add register definitions based on AMD spec starting with chapter 10 2008-02-25 20:54:23 +01:00
Christoph Brill
a195f7162a [r300] Add some more register from the AMD spec in the area of AARESOLVE 2008-02-25 20:30:40 +01:00
Christoph Brill
74ae5a875d [r300] Sync the names for Z-Buffer registers with the AMD spec
This patch tries to get the Z-Buffer register names in sync with the AMD spec
so that talking to AMD engineers is much simpler.
2008-02-25 20:24:00 +01:00
Christoph Brill
1b51c135fc [r300] Add more struct names for r300_hw_state 2008-02-25 20:20:59 +01:00
Christoph Brill
02926a2977 [r300] rename all unkown structs r300_hw_state to readable names 2008-02-25 20:18:10 +01:00
Christoph Brill
86039ae413 [r300] Add RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD and some HyperZ defintions 2008-02-25 20:15:20 +01:00
Christoph Brill
df344b171c [r300] Replace more magic number by register definitions from AMD 2008-02-25 20:11:46 +01:00
Christoph Brill
a3cee7cafb [r300] clean some more magic registers based on AMD spec 2008-02-25 20:08:33 +01:00
Christoph Brill
6051e68a64 [r300] Update some magic registers to real names 2008-02-25 20:03:35 +01:00
Christoph Brill
d1f2d56a75 [r300] Document Z-buffer related register ZB_BW_CNTL 2008-02-25 20:01:27 +01:00
Christoph Brill
091225eebb [r300] document VAP_CNTL based on AMD spec 2008-02-25 19:50:05 +01:00
Christoph Brill
059aca86ba [r300] Document some of the wild guesses in VAP_OUTPUT_VTX_FMT based on AMD spec 2008-02-25 19:39:16 +01:00
Christoph Brill
ff8bb004b1 [r300] document type 3 packets to draw primitives based on AMD spec 2008-02-25 19:32:05 +01:00
Brian
93d1ecdbd6 Obsolete, replaced by glut_fcb.c (fortran callbacks) 2008-02-25 11:01:23 -07:00
Brian
65685785fa Replace glut_fbc.c with glut_fcb.c (cb=callback) 2008-02-25 11:01:23 -07:00
Kristian Høgsberg
45a800a2e7 intel: Only enable GL_ARB_occlusion_query on i965. 2008-02-25 12:03:28 -05:00
Zou Nan hai
1d14da9a89 [intel] fix random ut2004 crash on some machine, for cubemap textures,
image offset is already considered when map, add it again in
        StoreImage may lead to wrong result and crash.
2008-02-25 15:27:47 +08:00
Xiang, Haihao
5b6ca237ee i965: fix assertion failure caused by commit dd1d66fc4a. 2008-02-25 11:04:59 +08:00
Dave Airlie
d7cf6a8a69 r300: fixup some more names 2008-02-23 19:17:00 +10:00
Dave Airlie
df6e9e40a9 r300: some initial register info from doc drop 2008-02-23 18:54:07 +10:00
Kristian Høgsberg
dd1d66fc4a intel: Merge intel_context.c from i915 and i965. 2008-02-22 21:44:00 -05:00
Kristian Høgsberg
c99fa92ff8 Merge {i915,i965}/intel_context.h as intel/intel_context.h 2008-02-22 00:51:52 -05:00
Alan Hourihane
1c718c0d78 Use drm_i915_sarea instead of drmI830Sarea and remove i830_common.h 2008-02-22 00:20:27 +00:00
Dan Nicholson
758b998941 autoconf: Fix thinko when checking freebsd CPU types 2008-02-21 10:32:04 -08:00
Dan Nicholson
112a40ec02 autoconf: Set the default drivers after checking platform specifics
The platform-specific overrides to the DRI drivers were being ignored
because the default was being set first. Instead, have the default be a
fallback after the platform checks.
2008-02-21 10:19:55 -08:00
Brian
4e9c8166b0 Fix glBegin-time test for invalid programs/shaders. 2008-02-20 08:54:15 -07:00
Brian
3075f267cd raise GL_INVALID_OPERATION if glProgramString compilation fails 2008-02-20 08:53:41 -07:00
Brian
a3a480979b Regenerated (see bug 11893) 2008-02-19 08:39:12 -07:00
Brian
ce865fd2fd Added <size name="Get" mode="get"/> lines for point parameter tokens.
See bug 11893.  This allows GL_POINT_SIZE_MIN/MAX/etc to be queried with
indirect rendering.
2008-02-19 08:38:42 -07:00
Brian
fda62a6f2f Regenerated (raise GL_INVALID_VALUE if counter param is negative) 2008-02-19 08:29:17 -07:00
Brian
a52ce9de7d If parameter is a 'counter', raise GL_INVALID_VALUE if value is negative
Fixes bug 10984.
2008-02-19 08:29:16 -07:00
Jeremy Huddleston
9993ccce69 Apple: Pulled in changes from Apple's patchset to allow mesa to build on darwin again
(cherry picked from commit e70609b7b8)
2008-02-19 00:55:11 -08:00
Zou Nan hai
d8c187fed7 fix compile for previous commit 2008-02-19 14:53:58 +08:00
Zou Nan hai
689ff273d1 [i965] fix broken glsl texdemo1 2008-02-19 14:47:57 +08:00
Adam Jackson
ba38909be2 Install dri_sarea.h in 'make install' 2008-02-18 11:45:40 -05:00
Dan Nicholson
8c8107118e Ignore glxgears_pixmap 2008-02-17 19:34:48 -08:00
Dan Nicholson
930c253947 Distribute dri_sarea.h with the tarballs
The GL/internal/dri_sarea.h header was missing from the tarballs,
causing the build to bomb for DRI2.
2008-02-17 18:10:15 -08:00
Dan Nicholson
7688791fc5 glapi: Generate xserver glapi sources in the mesa tree
Instead of generating the glapi sources for the xserver and commiting
them to the xserver tree, we can keep them in the mesa tree and change
the xserver build to use the files from the mesa tree.

This makes the xserver glx build more robust as it reduces the chances
for mismatches of the glX API used in the xserver vs. in mesa.
2008-02-17 17:40:43 -08:00
Brian
15f0015df4 Fix potential glDrawPixels(GL_DEPTH_COMPONENT) crashes (bug 13915)
Also, general clean-up of the Xlib-optimized glDraw/CopyPixels code.
2008-02-16 09:57:50 -07:00
Brian
3955bbc303 Added minmag.c test
Test that different minification and magnification filters are chosen for the
non-mipmapped texture case.
2008-02-16 09:57:50 -07:00
Adam Jackson
6ffe45bfd4 Fix path to minstall in last commit. 2008-02-15 17:22:09 -05:00
Adam Jackson
3f5a9a3a9e Install dri_interface.h in 'make install'. 2008-02-15 17:17:03 -05:00
Eric Anholt
c741d287ec [intel] Allow attIndex to be negative to avoid defeating the >= 0 check.
Otherwise, we would go wildly out of bounds if passed -1 (no renderbuffer), such
as while doing LOCK_HARDWARE with glDrawBuffer(GL_NONE).
2008-02-15 13:48:11 -08:00
Eric Anholt
eed5e6f40f [915] Don't attempt our accelerated drawpixels if no color buffer is attached.
Otherwise, glDrawBuffer(GL_NONE); glDrawPixels() results in a segfault when
we try to emit the color buffer state during setup.
2008-02-15 13:43:29 -08:00
Eric Anholt
19420e6c25 [915] Revert broken context creation change from IS_915 commit.
The IS_945 case was left to fall through to the 830 case, along with the
not-recognized-at-all case, making that dead code.
2008-02-15 13:18:09 -08:00
Brian
1d0ddea92f Fix glBindTexture crash (bug 14514) 2008-02-15 13:42:12 -07:00
Adam Jackson
4955325ae9 chmod a-x **/glslnoise.c 2008-02-15 15:05:42 -05:00
Adam Jackson
37e45b9b78 Fix parallel build by making symlinks before makedepend. 2008-02-15 14:59:30 -05:00
Adam Jackson
3ddd339ce3 Fix sis_dri on ia64. 2008-02-15 14:57:51 -05:00
Adam Jackson
49a3483756 Fix build on ia64. 2008-02-15 14:56:32 -05:00
Adam Jackson
cf0d91ae1d Add IS_915(), simplify IS_9XX() a bit. 2008-02-15 14:52:58 -05:00
Eric Anholt
c51eb3ec40 [intel] Bug #13636: Allow recursive buffer mapping in bufmgr_ttm. 2008-02-15 11:51:32 -08:00
Adam Jackson
39bcbe0921 Add E7221 variant to i915. 2008-02-15 14:46:25 -05:00
Adam Jackson
66611f2298 Trivial SELinux awareness. Enable with --enable-selinux.
Avoids AVC warnings when allocating executable memory by first checking
if the current process has permission to do so.
2008-02-15 13:49:12 -05:00
Roland Scheidegger
bf4a0fafc8 fix bug with generated fragment programs if vertex shader is active
When generating a fragment program from fixed function, checking
texUnit->_ReallyEnabled is not sufficient, need texUnit->Enabled too
since the former also represents texture enables from an active vertex
shader.
2008-02-15 17:26:06 +01:00
Xiang, Haihao
83068115e2 i965: don't swizzle fogcoord if FogOption is FOG_NONE.
fix #10788 issue on 965.
2008-02-15 16:13:11 +08:00
Xiang, Haihao
7eef52e975 i915: set fogcoord to (f,0,0,1). fix #10788 issue on 915. 2008-02-15 15:20:45 +08:00
Kristian Høgsberg
6d48779c7e Add TTM buffer object based texture from pixmap implementation.
Currently only implemented for intel hw.
2008-02-14 22:12:51 -05:00
Kristian Høgsberg
5961ed5fbc Add GLXPixmap version of glxgears to show case new GLX Pixmap functionality. 2008-02-14 22:05:55 -05:00
Kristian Høgsberg
c5c73c1b60 Hook up i915 driver to new DRI2 infrastructure. 2008-02-14 17:56:44 -05:00
Kristian Høgsberg
7da5705b09 Add new DRI2 infrastructure. 2008-02-14 17:56:42 -05:00
caner
5047a8ae19 miniglx doc updates 2008-02-14 09:33:26 -07:00
Xiang, Haihao
4813946d36 i965: use setup attributes as inputs when allocating registers
for WM payload.  fix #10767
2008-02-14 13:24:27 +08:00
Zou Nan hai
1202c434d9 [i965] flip point sprite 2008-02-14 11:01:34 +08:00
Zou Nan hai
08fd2488b0 [i965] gl_FrontFacing support 2008-02-14 10:12:03 +08:00
Dave Airlie
eb9da9706e i965: remove unused hal hooks
These don't appear to have ever been used.
2008-02-14 10:44:43 +10:00
Eric Anholt
85063f14ea [965] Fix ARB_occlusion_query from intel_screen.c merge.
It wasn't being initialized at screen setup, so we were getting stub
entrypoints even though it was exposed as enabled.  Fixes arbocclude mesa demo.
2008-02-13 16:08:35 -08:00
Eric Anholt
822b2481ff [intel] Fix 965 rendering with non-TTM by merging intel_ioctl between 915/965.
The 965 path wasn't setting pClipRects for batch submission since it didn't
want kernel cliprect handling before.  The 915 path also grew the INTEL_NO_HW=1
option for testing just driver overhead.
2008-02-13 10:38:05 -08:00
Eric Anholt
ee781a41af When mapping, wait on the buffer's fence, not hardware idle, in bufmgr_fake 2008-02-13 10:34:48 -08:00
Eric Anholt
ee8dfa8964 Remove O(n^2) debugging code from non-debug path of dri_bufmgr_fake. 2008-02-13 10:34:48 -08:00
Xiang, Haihao
e45e338542 _mesa_swizzle_ubyt_image: Don't use single swizzle_copy call
if components don't match. fix #13508
2008-02-13 16:00:25 +08:00
Eric Anholt
9365738c36 [intel] Remove cached reloc data buffer now that it's not a BO.
It's not worth the extra effort to avoid a free/malloc, and we'd rather
auto-size the reloc data buffer at some point so we don't need to have
max_relocs.
2008-02-12 16:06:02 -08:00
Eric Anholt
4e2a0b6aa6 [intel] Fix type of some more flags variables for uint64_t flags.
Harmless since we don't yet have any bits above 31 for flags.
2008-02-12 16:06:02 -08:00
Eric Anholt
da428c709a [intel] Note when BO map/unmap fail with TTM. 2008-02-12 16:06:02 -08:00
Eric Anholt
7ea767f9fa [intel] Fix INTEL_DEBUG=bufmgr after relocation interface fixups. 2008-02-12 16:06:02 -08:00
Eric Anholt
1fd82451eb [965] Remove stale brw_state_cache.c comment and function export. 2008-02-12 16:06:02 -08:00
Brian
22ab7fa466 Fix broken test.
As-is, if the texture was too large for the target, an assertion would fail.
Now check proxy texture first and if it works, then test non-proxy target.
2008-02-12 16:56:18 -07:00
Brian
edc7cfa6e6 Set Min/MaxLod with glTexParameterf, not glTexParameteri 2008-02-12 15:53:37 -07:00
Brian
fb3ca7ee2d tweak incr/decrements amounts for keyboard options 2008-02-12 15:00:14 -07:00
Brian
76295f0c31 press 0,1,2,etc keys for specific bias values 2008-02-12 15:00:14 -07:00
Dan Nicholson
929b6d2ebf glapi: Correct prerequisites for gl_and_glX_API.xml
The indirect_dispatch.h and indirect_table.c source files use
gl_and_glX_API.xml in their generation rather than glX_API.xml, but it
wasn't listed in their prerequisites. In turn, gl_and_glX_API.xml uses
glX_API.xml, but this is already listed in $(COMMON_GLX).
2008-02-12 06:43:23 -08:00
Dan Nicholson
fc67d47708 glapi: Use make automatic variables to clean up the commands
Make use of the make automatic variables $@ (the target) and $< (first
prerequisite) to clean up the commands for the glapi generation. This
improves readability and guards against typos since words are repeated
less frequently.
2008-02-12 06:43:23 -08:00
Dan Nicholson
817af9bec2 glapi: Use variable for indent and flags
Put the path to indent and the flags to call it with in configs/default
rather than in the Makefile. This makes it easier to change the values
globally.
2008-02-12 06:43:23 -08:00
Ben Skeggs
532828b1d3 nouveau: ddx versioning changed 2008-02-12 17:28:31 +11:00
Claudio Ciccani
2c9fdaf729 [directfb] Added RGB444 and RGB555.
Also added color expansion for RGB16, ARGB1555 and ARGB4444.
2008-02-08 12:36:45 +01:00
Claudio Ciccani
c231f8ff35 [glut-directfb] Fixed displaying of single buffered window. 2008-02-08 12:35:08 +01:00
Claudio Ciccani
5edede94bb [glut-directfb] When converting microseconds to milliseconds, round to the next integer. 2008-02-08 12:03:53 +01:00
Eric Anholt
70908a793b [965] Flush icache on new batch, not just new context.
This is required since our buffer manager may now move our
instruction-containing buffers at any batchbuffer emit.
2008-02-07 13:14:59 -08:00
Andy Skinner
5c0c883104 added -altopts to allow overriding all other opts 2008-02-07 13:21:14 -07:00
Eric Anholt
700a77fb48 [915] Fix COS function using same plan as SIN.
The previous COS function failed badly outside of [-pi/2, pi/2].
2008-02-06 15:43:05 -08:00
Eric Anholt
2551a5ee80 [915] Use a quartic term to improve the accuracy of SIN results.
This is described in the link in the comment, and is the same technique that
r300 uses.
2008-02-06 15:40:32 -08:00
Eric Anholt
d98abcbef0 [915] Fix fp SIN function, and use a quadratic approximation instead of Taylor.
The Taylor series notably fails at producing sin(pi) == 0, which leads to
discontinuity every 2*pi.  The quadratic gets us sin(pi) == 0 behavior, at the
expense of going from 2.4% THD with working Taylor series to 3.8% THD (easily
seen on comparative graphs of the two).  However, our previous implementation
was producing sin(pi) < -1 and worse, so any reasonable approximation is an
improvement.  This also fixes the repeating behavior, where the previous
implementation would repeat sin(x) for x>pi as sin(x % pi) and the opposite
for x < -pi.
2008-02-06 15:26:00 -08:00
Eric Anholt
c0e026c809 [965] Bug 14314: assertion failure with with !AIGLX and depth=24 visual. 2008-02-05 11:01:14 -08:00
Eric Anholt
d14d36f9cc [965] Fix TTM relocation caching overzealousness.
The failure mode that was a available was:
reloc 1 -> target_buf
exec: PRESUMED_OFFSET wrong, buffer migrates, r1 entry updated.
reloc 2 -> target_buf
exec: suppose buffer migrates again.  PRESUMED_OFFSET wrong. r2 entry updated.
reloc 1 -> target_buf
exec: suppose buffer doesn't migrate.  PRESUMED_OFFSET right. no relocations
      performed.  r1 has stale pointer at original location.

Failures were reported with OGLconform's VBO test and SPECviewperf90, though
I haven't confirmed that this fixes it.
2008-02-05 11:01:14 -08:00
Xiang, Haihao
89faa648a5 i965: adjust the byte order of clear color. fix #14165 2008-02-05 15:17:58 +08:00
Eric Anholt
fd776e10b3 Replace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.
In addition to potentially binding when it was about to be mapped anyway,
failure to use CACHED_MAPPED means eating a full wbinvd on validate.  Thanks to
airlied for catching this.
2008-02-04 18:24:16 -08:00
Eric Anholt
745df749cc Include glext.h in the cva test so that it actually uses CVAs. 2008-02-04 18:24:16 -08:00
Eric Anholt
5857e988be Allow first != 0 in mesa CVA handling, and add more error checking. 2008-02-04 18:24:16 -08:00
Eric Anholt
2abcc512a3 [965] Convert brw_draw_upload to managing dri_bos, not gl_buffer_objects.
This helps us avoid a bunch of mess with gl_client_arrays that we filled
with unused data and confused readers.
2008-02-04 18:24:16 -08:00
Eric Anholt
0907c639c8 [965] Remove dead structure in brw_draw_upload.c. 2008-02-04 18:24:16 -08:00
Eric Anholt
7b8892f504 [965] Move temporary vbo array storage into the function using it. 2008-02-04 18:24:16 -08:00
Eric Anholt
c86ec87830 [965] Remove dead brw_vertex_element members. 2008-02-04 18:24:16 -08:00
Eric Anholt
4e13067d0f [965] Add a wrapper around interleaved copy_array_to_vbo_array for profiling.
If compiled with optimization, it shouldn't appear at all, and helps me for
now.
2008-02-04 18:24:16 -08:00
Eric Anholt
df44fefced [965] Avoid overloaded use of the term 'input' for clarity. 2008-02-04 18:24:16 -08:00
Eric Anholt
931685e243 [965] Replace VEP/VBP state structures with inline batch emits. 2008-02-04 18:24:15 -08:00
Dave Airlie
4dfcb09960 r300: fix isosurf on rs690 2008-02-04 21:59:26 +11:00
Xiang, Haihao
e36857d841 i965: fix potential NULL pointer dereference. The third region
isn't created at all for 965
2008-02-03 20:36:17 +08:00
Eric Anholt
30c9d96ebf [965] Fix indentation. 2008-02-01 16:05:10 -08:00
Eric Anholt
f85d34e425 Revert "intel: don't apply the relocation optimization if a target"
This reverts commit e2cb905bc6.

It was a reversion of an optimization hidden as otherwise.
pre_target_buf_handle was always NULL, so the optimization was never enabled,
rather than fixing the important optimization (resulting in 25-50% performance
loss).
2008-02-01 16:02:37 -08:00
Eric Anholt
7eca6be25f [965] Replace XXX comment about constant swizzle with an assert. 2008-02-01 16:02:37 -08:00
Eric Anholt
61760105df [965] Fix some indentation in brw_vs_tnl.c. 2008-02-01 16:02:36 -08:00
Xiang, Haihao
ca8d91610f mesa: re-define NEED_SECONDARY_COLOR. fix #14310. 2008-02-02 00:56:51 +08:00
Zou Nan hai
746db75cfb [intel] fix for previous fix 2008-02-01 20:28:26 +08:00
Zou Nan hai
a9a483b43e [intel] use _mesa_copy_rect for upload compressed texture,
this fix bad texture issue in some games(UT and quake).
2008-02-01 17:36:56 +08:00
Xiang, Haihao
71f53a22d0 i965: Don't emit state if fall back to software rendering. fix #14116 2008-02-01 16:48:16 +08:00
Zou Nan hai
3158e981f5 [i965] renable regative rhw test 2008-01-31 18:22:19 +08:00
Xiang, Haihao
e2cb905bc6 intel: don't apply the relocation optimization if a target
buffer is used for a relocatee in the former relocation process
then another target buffer is used for this relocatee at the same
offset in the current relocation process.
2008-01-31 17:29:52 +08:00
Roland Scheidegger
01f59153b5 regenerate glsl library functions 2008-01-31 01:43:13 +01:00
Roland Scheidegger
4cc0663564 fix w component of glsl vec4 asin 2008-01-31 01:43:13 +01:00
Brian
2f7c804952 check if fb->Delete is null (bugs 13507,14293) 2008-01-30 08:12:42 -07:00
Alex Deucher
80efe27560 Add new RV380 pci id
bug 14289
2008-01-29 10:14:04 -05:00
Xiang, Haihao
8e444fb9e2 i965: new integrated graphics chipset support 2008-01-29 11:13:53 +08:00
Brian
f09b2382e9 push out far clip plane to 200 2008-01-28 12:41:47 -07:00
Brian
e7007c6fb0 Added d/D keys to change viewing distance, 'a' to toggle animation 2008-01-28 12:36:01 -07:00
Dave Airlie
3bfef64800 r300: add initial rs690 support to Mesa
The rs690 has an rs4xx style vertex-shader less 3D engine. It uses the new
r500 output engine though. It also needs a new drm with rs690 support,
which is just getting cleaned up.
2008-01-27 12:16:06 +10:00
Xiang, Haihao
da60fd1291 i965: valid message length includes message header. 2008-01-25 16:52:08 +08:00
Xiang, Haihao
fc81f42817 i965: re-define the type of reg.loopcount.
avoid some issues such that 1 + (-2) gets a big
positive value.
2008-01-25 16:38:38 +08:00
Eric Anholt
f0310f7636 Bufmgr cleanup from intel-batchbuffer branch of 2d driver. 2008-01-24 13:00:13 -08:00
Eric Anholt
5f0d76204d Clean up comments/dead code from relocation buffer change. 2008-01-24 12:29:04 -08:00
Eric Anholt
8931585d2c Merge commit 'airlied/i915-ttm-cfu'
This requires current DRM which changes the relocation buffer from being a
buffer object to plain malloced memory.
2008-01-24 12:28:42 -08:00
Brian
b87c1ab2c0 Bring in previous 7.0.1/2 release notes, added Cell driver page. 2008-01-24 09:15:31 -07:00
Dave Airlie
a018abd446 i915: move to using copy from user for relocations 2008-01-24 14:38:50 +10:00
Brian
4875b40304 Assorted patches for miniglx/linux-solo (Gavin Li <codeview@gmail.com>) 2008-01-23 16:03:19 -07:00
Brian
2a077500a8 Fix some issues with glDrawBuffer(GL_NONE), bug 14198
Set _ColorDrawBuffers[0] = NULL if no renderbuffers enabled.
Check that _ColorDrawBuffers[0] is non-null before dereferencing in a few places.
2008-01-22 21:11:55 -07:00
Adam Jackson
e1ae5b89fc glxinfo: Fix multisample visual reporting.
strstr() == 0 tests for the string _not_ being present.  Originally
Red Hat bug #351871.
2008-01-22 14:57:20 -05:00
Kristian Høgsberg
46eb02b609 [intel] Clean up references to screen buffer metrics.
The screen wide info such as pitch and cpp are obsoleted by the FBO
changes, so clean up the last few references to those, except for
setting up the legacy screen regions.
2008-01-22 12:14:59 -05:00
Brian
5c82549d9e fix pc vs. gc->ps usage (bug 14197) 2008-01-22 08:40:29 -07:00
Brian
6bd32cbcf3 Don't build yuvrect_client by default
Added 'extra' rule to build optional yuvrect_client, shape, xdemo programs
2008-01-22 07:57:33 -07:00
Brian
60dd3b1d9a remove unused var 2008-01-22 07:57:33 -07:00
Alexey Sokolov
e58c365cda define M_PI if needed 2008-01-22 07:57:33 -07:00
Eric Anholt
d0774eae30 [965] Fix WM unit cache keying that broke line stipple and polygon offset. 2008-01-19 23:22:45 -08:00
Eric Anholt
02d5ba8491 [intel] Fix memory leak with fake bufmgr. 2008-01-18 11:39:35 -08:00
Eric Anholt
2afe5344df [965] Do a little bit rotation in state hash to reduce collisions.
This was around 3% improvement in OA.
2008-01-18 10:15:28 -08:00
Eric Anholt
8c56418f97 [intel] Use a static array for the validation list instead of a linked list.
Around 10% of a CPU was being wasted to create the linked list which we
threw out immediately after passing it to the kernel.
2008-01-18 08:52:00 -08:00
Eric Anholt
a0e453a5ec [intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST. 2008-01-17 14:23:04 -08:00
Eric Anholt
8517079cbc [i915] Fix driver from cliprects changes, and clean up state emission.
The fix for pageflipping with cliprects ended up causing a batch flush at
an inopportune time, which is fixed by moving it up.

Additionally, the recovery code for handling batch wraps at bad times is
replaced by just checking for the space up front, and using a no_batch_wrap
assert like on 965 to make sure that we weren't wrong about how much space that
was.
2008-01-17 13:55:42 -08:00
Eric Anholt
faeb1bc9f9 [965] Fix whitespace in c9b1fef0c9 2008-01-17 11:47:02 -08:00
Eric Anholt
e747e9a072 [965] Fix potential segfaults from bad realloc.
C has no order of evaluation restrictions on function arguments, so we
attempted to realloc from new-size to new-size.
2008-01-17 11:46:58 -08:00
Xiang, Haihao
c9b1fef0c9 i965: always call dri_emit_reloc when creating clip unit state
This fix ensures it gets the starting location of the clip program
if a clip unit state is same as a unit which is created when metaops
is actived and it doesn't impact metaops because the clip state offset
isn't emitted when metaops is actived.
2008-01-17 11:08:56 +08:00
Eric Anholt
9bae03a583 [965] Fix inversion of SLT/SGE results in vertex programs.
The WM code had this right, so copy its behavior.  This reverts a flipping
of the arguments to SLT in brw_vs_tnl which came in with the GLSL code that
probably occurred to work around the flipped results, and brings the code back
in line with t_vp_build.c.
2008-01-16 15:19:29 -08:00
Eric Anholt
6a5e86b344 [965] Rename depth_mask in CC key to depth_write, since it's a boolean enable. 2008-01-16 10:50:28 -08:00
Eric Anholt
93ec89e565 [965] Fix the type of alpha_ref in CC key, fixing ppracer rendering. 2008-01-16 10:49:56 -08:00
Dan Nicholson
0c275b6a41 autoconf: Use -fno-strict-aliasing on GCC
This change adds -fno-strict-aliasing when using gcc and g++, just like
the existing configs.
2008-01-15 22:53:18 -08:00
Eric Anholt
b039b785e2 Fix the compile of disabled DEBUG_PARSING code. 2008-01-15 15:10:54 -08:00
Eric Anholt
185320ae13 Bug #13492: Only call ProgramStringNotify if program parsing succeeded.
Wine intentionally tries some out-of-spec programs to test strictness, and
calling ProgramStringNotify on the results of a failed program parse resulted
in crashes in the 965 driver.
2008-01-15 15:10:39 -08:00
Eric Anholt
4652e351a2 [965] Increase max relocation count, fixing assertions by blender. 2008-01-15 10:12:38 -08:00
Kristian Høgsberg
bb73cf9ec0 [i915] Prevent recursive batchbuffer flushing.
Workaround for recursive batchbuffer flushing: If the window is
moved, we can get into a case where we try to flush during a
flush.  What happens is that when we try to grab the lock for
the first flush, we detect that the window moved which then
causes another flush (from the intel_draw_buffer() call in
intelUpdatePageFlipping()).  To work around this we reset the
batchbuffer tail pointer before trying to get the lock.  This
prevent the nested buffer flush, but a better fix would be to
avoid that in the first place.
2008-01-15 10:24:04 -05:00
Zou Nan hai
3ad9ca8240 i965: fix an assert fail in brw_new_batch 2008-01-15 15:19:09 +08:00
Eric Anholt
ffa8b18c7c [i915] Fix recursive lock hang in intelContendedLock handling. 2008-01-14 15:19:43 -08:00
Eric Anholt
d42400db87 [intel] Delay unmapping of driver-private buffers to reduce map/unmap thrashing.
Good for a 10-15% improvement to OA.
2008-01-14 10:21:19 -08:00
Eric Anholt
7fec1eb21b [965] Force a new vertex upload buffer at new batch time.
Otherwise, we could choose to upload into the temporary VBO that we just fired
off to the hardware.  Good for a 60% OA performance improvement.
2008-01-14 10:18:38 -08:00
Dan Nicholson
544ab209e7 Allow osmesa to be enabled or disabled
The conditional in src/mesa/Makefile currently hardcodes the cases where
libOSMesa can be built on libGL. Likewise, the xlib case always includes
libOSMesa in the stand-alone target.

This changes the conditional to a loop over the DRIVER_DIRS variable.
This means that any driver configuration can enable or disable osmesa.
The current "stand-alone" rule is changed so that DRIVER_DIRS=x11 and
DRIVER_DIRS="x11 osmesa" are both respected.

The configure option is changed to --enable-gl-osmesa as this change
allows libOSMesa to be built upon any of the libGL-enabling drivers.
2008-01-11 08:25:15 -08:00
Eric Anholt
540faf5f91 [965] Remove an open-coded memcpy. 2008-01-10 15:05:39 -08:00
Eric Anholt
9bf9122925 [intel] Remove gratuitous (batchbuffer) flush before doing buffer clears.
Increases OA performance by about 3%.
2008-01-10 14:51:02 -08:00
Eric Anholt
3d273ae44e [intel] Report buffer size when allocating with INTEL_DEBUG=bufmgr and TTM. 2008-01-10 14:43:43 -08:00
Eric Anholt
609ad99a1a [965] Improve performance by allocating CURBE buffers a page at a time.
Since each one is only 64b, and kernel allocations are a page anyway, this
lets us reduce buffer allocation by packing many CURBEs into one buffer, for
each batchbuffer submitted.  Improves openarena performance by around 10%.
2008-01-10 14:43:16 -08:00
Eric Anholt
4e5b3626a1 [intel] Remove a gratuitous flush at the end of ClearWithTris. 2008-01-10 13:46:49 -08:00
Eric Anholt
ab2933df65 [intel] Only flush batch when changing draw buffers, not every cliprect update.
The previous code would reference freed memory on window moves.
2008-01-10 13:24:14 -08:00
Eric Anholt
a04b632350 [intel] Add more cliprect modes to cover other meanings for batch emits.
The previous change gave us only two modes, one which looped over the batch
per cliprect (3d drawing) and one that didn't (state updeast).
However, we really want 4:

- Batch doesn't care about cliprects (state updates)
- Batch needs DRAWING_RECTANGLE looping per cliprect (3d drawing)
- Batch needs to be executed just once (region fills, copies, etc.)
- Batch already includes cliprect handling, and must be flushed by unlock time
  (copybuffers, clears).

All callers should now be fixed to use one of these states for any batchbuffer
emits.  Thanks to Keith Whitwell for pointing out the failure.
2008-01-10 12:34:08 -08:00
Xiang, Haihao
7086df5868 i965: fix bug #14002 2008-01-10 16:48:33 +08:00
Xiang, Haihao
c30392f187 i965: fix segfault caused by commit e131c46b20. 2008-01-10 16:45:35 +08:00
Kristian Høgsberg
e131c46b20 [intel] Simplify intelCreateBuffer() a bit.
Drop a bunch of unused arguments from intel_create_renderbuffer() and
introduce intel_renderbuffer_set_region() to set the region for
a renderbuffer.
2008-01-09 20:43:18 -05:00
Kristian Høgsberg
33c42c1262 [intel] Prepare intelCopyBuffer() for private back buffers. 2008-01-09 20:43:18 -05:00
Kristian Høgsberg
24e7e45768 Factor out code to do the DRM_I830_GETPARAM ioctl. 2008-01-09 19:08:55 -05:00
Kristian Høgsberg
f1139e4c66 Fold DoBindContext() helper function into driBindContext(). 2008-01-09 19:08:55 -05:00
Eric Anholt
4225876bf0 [intel] Re-allocate backing buffer objects on BufferData.
This may allow better concurrency (noop in openarena performance now), but is
also important for the previous commit -- otherwise, we may end up with
BufferData, draw_prims, BufferData and the draw_prims would use the new VBO
data instead of old.  This could still occur with user-supplied VBOs and poor
use of MapBuffer without BufferData.
2008-01-09 14:41:55 -08:00
Eric Anholt
7da98d7eba [965] Allow more than one draw_prims per batchbuffer.
The comment about (vbo)_exec_api.c appeared to be stale, as the VBO code seems
to only use non-named VBOs (not actual VBOs) or freshly-allocated VBO data.

This brings a 2x speedup to openarena, because we can submit nearly-full
batchbuffers instead of many 450-byte ones.
2008-01-09 14:41:54 -08:00
Eric Anholt
dc1608ae9d [965] Replace the always_update dirty flag with BRW_NEW_BATCH.
This allows us to avoid re-emitting some state when validate_state happens
multiple times per batchbuffer.  Even though we flush batch per primitive
currently, that may still happen already if the primitive changed (this should
probably be fixed as well).
2008-01-09 14:41:53 -08:00
Eric Anholt
5f86ae057a [intel] Rename lost_hardware vtbl entry to new_batch.
Both drivers have ended up relying on lost_hardware being called after each
batch buffer, so update the name.  This removes one of the calls on 965 whic
h was outside of the batchbuffer handling code and just duplicating what had
already happened through batchbuffer handling.
2008-01-09 14:41:42 -08:00
Eric Anholt
d9edd8e905 [965] Remove drawing rect upload, which is handled (better) by the kernel. 2008-01-09 14:41:41 -08:00
Eric Anholt
beddf653a9 [intel] Clean up cliprect handling in intel drivers.
In particular, batch buffers are no longer flushed when switching from
CLIPRECTS to NO_CLIPRECTS or vice versa, and 965 just uses DRM cliprect
handling for primitives instead of trying to sneak in its own to avoid the
DRM stuff. The disadvantage is that we will re-execute state updates per
cliprect, but the advantage is that we will be able to accumulate larger
batch buffers, which were proving to be a major overhead.
2008-01-09 14:41:40 -08:00
Eric Anholt
7ce12b0863 [intel] Remove the dead intel->need_flush member. 2008-01-09 14:41:39 -08:00
Eric Anholt
5a49e84fcd [965] Clarify a bit of index buffer upload code. 2008-01-09 14:41:38 -08:00
Brian
8c4806ccc4 fix bug 13978: glDrawBuffersARB() didn't set all necessary state 2008-01-09 14:20:51 -07:00
Eric Anholt
c0fd6a0903 [intel] Add TTM bufmgr debug for type or offset migration of buffers. 2008-01-08 10:08:54 -08:00
Xiang, Haihao
3369cd9a6f i915: Keith Whitwell's swizzling TEX patch. fix #8283 2008-01-07 14:08:36 +08:00
Brian
601a6b872c Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexes
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask.
The number of active color buffers is specified by _NumColorDrawBuffers.
This builds on the previous DrawBuffer changes and will help with drivers
implementing GL_ARB_draw_buffers.
2008-01-06 18:07:26 -07:00
Brian
ff73c783cc Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.
These fields are no longer indexed by shader output.  Now, we just have
a simple array of renderbuffer pointers.

If the shader writes to gl_FragData[i], send those colors to the N
_ColorDrawBuffers.  Otherwise, replicate the single gl_FragColor (or
the fixed-function color) to the N _ColorDrawBuffers.

A few more changes and simplifications can follow from this...
2008-01-06 10:43:20 -07:00
Brian
9f6022d056 fix depth/1 typo in glTexImage3D proxy code 2008-01-05 15:45:55 -07:00
Brian
48aa35a8b2 check if span length > 0 before calling _swrast_write_rgba_span() 2008-01-05 15:45:55 -07:00
Xiang, Haihao
e7044d552c i915: don't validate PS program when falling back to software
rendering. fix #12786
2008-01-04 17:11:39 +08:00
Xiang, Haihao
15356376bd intel: some initialization for dri_bufmgr_ttm 2008-01-04 14:22:23 +08:00
Eric Anholt
62842e7145 [intel] Add a single-entry relocation buffer cache.
By avoiding the repeated relocation buffer creation/map/unmap/destroy for each
new batch buffer, this improves OpenArena framerates by 30%.  Caching batch
buffers themselves doesn't appear to be a significant performance win over
this change.
2008-01-03 16:53:23 -08:00
Eric Anholt
8abffada70 [intel] Convert relocations to not be cleared out on buffer submit.
We have two consumers of relocations.  One is static state buffers, which
want the same relocation every time.  The other is the batchbuffer, which gets
thrown out immediately after submit.  This lets us reduce repeated computation
for static state buffers, and clean up the code by moving relocations nearer
to where the state buffer is computed.
2008-01-03 15:46:16 -08:00
Eric Anholt
0ff3eb637b [965] Fix some missing initialization in WM keys. 2008-01-03 14:49:33 -08:00
Zou Nan hai
15653b5d88 fix fd.o bug #13761
MRD computation is now changed in mesa core
2008-01-03 16:05:27 +08:00
Eric Anholt
9e9f6f105c [965] Convert WM unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:49 -08:00
Eric Anholt
03b59edbb5 [965] Convert VS unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:48 -08:00
Eric Anholt
77e6cf8c17 [965] Convert SF unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:47 -08:00
Eric Anholt
3149119cad [965] Convert GS unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:46 -08:00
Eric Anholt
114b802e87 [965] Convert clip unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:46 -08:00
Eric Anholt
b35811e1b3 [965] Convert CC unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:45 -08:00
Eric Anholt
a95b48d55b [965] Convert surface state to use a cache key instead of brw_cache_data. 2008-01-02 15:51:44 -08:00
Eric Anholt
3e3644c6e8 [965] Convert sampler state to use a cache key instead of brw_cache_data. 2008-01-02 15:51:43 -08:00
Eric Anholt
a099461fa3 Revert "[intel] Use the memory type mask containing the caching flags."
This reverts commit 8bb9ae3693.

Validating our kernel buffers with the caching off in flags but on in mask
means that the kernel migrates the buffer to be uncached, which is undesired.
2008-01-02 15:51:27 -08:00
Eric Anholt
8bb9ae3693 [intel] Use the memory type mask containing the caching flags. 2008-01-02 09:47:07 -08:00
Keith Packard
a3c435b342 Set correct flags mask when validating buffers.
The 'mask' value used in the validation operation specifies which of the
'flags' bits are being modified. Buffer validation wants to pass the memory
type and access mode (rwx) to the kernel so that the buffer will be placed
correctly, and so that the right kind of fence will be created (read vs
write). That means we actually want a constant mask for these operations,
and not something computed from the bits coming in. The constant we want is
DRM_BO_MASK_MEM | DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_EXE.
2008-01-02 09:47:06 -08:00
Eric Anholt
4cc02fb938 [965] Improve performance by including reloc target buffer pointers in keys.
Without this, the WM binding tables would all collide, for example.  Improves
openarena performance by around 2%.
2008-01-02 09:47:05 -08:00
Brian
de427742b8 additional stub functions 2008-01-02 07:24:07 -07:00
Brian
7d6d6652d5 additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767) 2008-01-02 07:19:31 -07:00
Xiang, Haihao
60d762aa62 i915: Needn't adjust pixel centers. fix #12944 2008-01-02 11:38:51 +08:00
Dave Airlie
524304c9b8 Revert "r300: fix bug with maniadrive rendering"
this is correct, there is another issue with sw fallbacks

This reverts commit cc50edbca2.
2008-01-02 06:19:47 +10:00
Brian
a5c84de3a7 remove unneeded conditional 2008-01-01 10:20:56 -07:00
Brian
f0676cc422 fix vbo display list memleak upon context destruction 2008-01-01 10:20:56 -07:00
Brian
6c0fc07d71 fix glUniform4f typo 2008-01-01 10:20:56 -07:00
Brian
9b3162b1d2 additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767) 2008-01-01 10:10:04 -07:00
Bruce Merry
2bf2a8cc6d Convert to 0/1 when setting boolean uniforms
Also add some extra tests to the shader_api regression tests
2008-01-01 09:58:15 -07:00
Bruce Merry
3f948025db Make use of count in _mesa_uniform_matrix 2008-01-01 09:58:15 -07:00
Bruce Merry
239be839be Add a test program to test for assorted bugs in shader_api.c 2008-01-01 09:58:15 -07:00
Bruce Merry
89b80327ae More fixes to shader_api
- return GL_INVALID_OPERATION instead of GL_INVALID_VALUE if location is bad
- correct the type-checking of uniforms from my previous commit
- accept location of -1 in _mesa_uniform_matrix
2008-01-01 09:58:15 -07:00
Bruce Merry
eeb03faadc Fix several bugs relating to uniforms and attributes in GLSL API
- fix sizes for GL_FLOAT_MAT2x3 and GL_FLOAT_MAT4x3 in sizeof_glsl_type
- fix size returns in _mesa_get_active_attrib
- fix out-of-bounds array access to vec_types in _mesa_get_active_attrib
- fix queries of matrix uniforms in _mesa_get_uniformfv
- fix _mesa_get_uniformfv to only return one base, even from an array
- allow location == -1 in _mesa_uniform
- validate types in _mesa_uniform
- allow array overruns in _mesa_uniform
2008-01-01 09:58:15 -07:00
Brian
8349073561 added 'get' info for framebuffer object tokens 2008-01-01 09:26:15 -07:00
Brian
76387dec76 add 'Get' info for MAX_3D_TEXTURE_SIZE (for bug 13811) 2008-01-01 09:05:05 -07:00
Hans de Goede
d3033cad7c t_vp_build: fix temporary register allocation to minimise the allocations 2008-01-02 01:32:01 +10:00
Hans de Goede
2290ea7fe6 rx00: fix off by one error in tempreg check 2008-01-02 01:29:51 +10:00
Dave Airlie
cc50edbca2 r300: fix bug with maniadrive rendering
I've no idea why I added this so I'll have to spend time tracking it down
2008-01-02 01:19:23 +10:00
Dan Nicholson
73f6f7ed91 autoconf: Remind developers to bump version numbers in configure.ac
Just like configs/default, the version number in configure.ac needs to
be bumped for releases. Maybe later we can figure out how to scrape the
version from configs/default into configure.ac.
2007-12-30 08:48:10 -08:00
Zou Nan hai
d0ebdca4fa fix fd.o bug #13847 2007-12-29 15:28:51 +08:00
Roland Scheidegger
3956597962 Bug #13839: Fix 3D texture offset miscalculation with pixels versus bytes. 2007-12-28 18:05:22 -08:00
Dan Nicholson
aecec3aced Merge branch 'autoconf2' 2007-12-28 15:14:32 -08:00
Xiang, Haihao
aac2d99dc3 i915: reset swrast state after calling swrast DrawPixels.
In order to optimize DrawPixels, the i915 texenv program isn't
applied to swrast DrawPixels in the i915 driver. This causes this
program isn't applied to any following swrast functions. Resetting
the swrast state fixes this issue.  Fix #13614
2007-12-27 10:43:43 +08:00
Dan Nicholson
2b440d5461 Merge branch 'master' into autoconf2 2007-12-26 15:41:24 -06:00
Dan Nicholson
ab57cbaccc autoconf: Helper options for adding GCC 32/64 bit flags
Two new configure options to add -m32 or -m64 to the CFLAGS and CXXFLAGS
when GCC is in use. By default, the user supplied options are
environment variables are respected, but these options are quick helps
for the common case of x86/x86_64 using GCC.
2007-12-26 15:38:30 -06:00
Xiang, Haihao
b422e5ad37 i915: apply commit a0a5e8cfc0 from 965.
fix #11925
2007-12-25 17:22:19 +08:00
Xiang, Haihao
cf46aee14a mesa: fix a bad cast in put_values_z24.
The values passed to put_values_z24 are GLuint,
not GLubyte. fix #13543
2007-12-25 14:18:05 +08:00
Adam Jackson
166a828ddf __driConfigOptions must be PUBLIC. 2007-12-24 19:16:24 -05:00
Alex Deucher
0b7e0f8159 R300: RV410 SE chips have half the pipes of regular RV410
This fixes 3D rendering on x700 SE chips.  Reported
by Kano.
2007-12-24 11:59:27 -05:00
Dan Nicholson
4c5a2b3af2 autoconf: Documentation for using the autoconf'd build
Most of the options available from configure are documented on the
autoconf.html. This page is reached as an alternative provided on the
install.html page. An FAQ about why there is no configure script has
been removed.
2007-12-23 16:38:18 -08:00
Roland Scheidegger
26473140b9 fix GL_LINE_LOOP with drivers using own render pipeline stage (#12410, #13527)
primitive needs to include the begin/end flags (broken since vbo-0.2). Should
fix missing first/last line segment on gamma, i810, i915, mga, r200, radeon,
s3v, savage, unichrome (r300 already correct). Tested on r200, fixes #13527.
2007-12-22 18:54:18 +01:00
Kristian Høgsberg
2f3e939ae7 Silence compiler warnings from XML error macros. 2007-12-21 15:31:00 -05:00
Eric Anholt
9136e1f2c8 [965] Fix and enable separate stencil.
Note that this does not enable GL_EXT_stencil_two_side, because Mesa's computed
_TestTwoSide ends up respecting only STENCIL_TEST_TWO_SIDE_EXT (defaults to
GL_FALSE), even if the application uses only GL 2.0 / ATI entrypoints.
2007-12-21 11:50:00 -08:00
Eric Anholt
9e68e191ac [intel] Move some pixel path support from drivers to shared. 2007-12-21 11:41:46 -08:00
Xiang, Haihao
f8830a1bf7 intel: cast a pointer to unsigned long, avoid potential error. 2007-12-21 17:03:55 +08:00
Eric Anholt
bea6b5fe5a [965] Enable EXT_framebuffer_object.
To do so, merge the remainnig necessary code from the buffers, blit, span, and
screen code to shared, and replace it with those.
2007-12-20 11:32:55 -08:00
Eric Anholt
106f398220 [965] Actually enable SGIS_generate_mipmap. 2007-12-20 11:28:10 -08:00
Eric Anholt
101abee6c4 [intel] Fix and reenable (software) SGIS_generate_mipmap
The core problem was that _mesa_generate_mipmap was not respecting RowStride
of the source image.  Additionally, the intel private data associated with the
images (level and face) was not being initialized for the
_mesa_generate_mipmap-generated images.
2007-12-20 11:26:34 -08:00
Eric Anholt
b2f62609d0 [intel] Allow driver hooks to be NULL in intel_buffers.c and just update flags.
The 965 driver relies on flag checking instead of these hooks, and will be
using this code soon.
2007-12-20 08:24:45 -08:00
Eric Anholt
fcd1e9dad6 [i915] Move meta_draw_quad into the vtbl with other meta operations. 2007-12-20 08:19:42 -08:00
Brian
2761cfce46 return correct size from glGetActiveUniform (bug 13751) 2007-12-20 09:06:05 -07:00
Xiang, Haihao
e543292335 i915: avoid dead lock in intel_meta_draw_poly. fix #13696 2007-12-20 16:49:25 +08:00
Dan Nicholson
da693b7c89 Don't try to build nonexistent i915tex driver on linux-x86-64 2007-12-18 22:20:37 -08:00
Dan Nicholson
f71032b7e2 docs: Fix links in contribute section
The contribute section had a broken hyperlink, masking the mailing list
text.
2007-12-18 22:13:46 -08:00
Eric Anholt
d2d82f8a29 [915] Set cliprects in the drawbuffer software fallback case as well.
Otherwise, we may violate cliprect asssertions on clearing the buffers, which
isn't affected by the fallback.
2007-12-18 18:56:20 -08:00
Xiang, Haihao
4cca760a9b i965: allocate GRF registers before building subroutines,
it ensures there are sufficient registers for all subroutines.
2007-12-19 10:22:28 +08:00
Xiang, Haihao
e3a1ae0fcb i965: restore the flag after building the subroutine of the
GS thread. fix #13240
2007-12-19 09:59:37 +08:00
Brian
88f1419f96 added glSecondaryColor3fv_func 2007-12-18 16:30:42 -07:00
Brian
83af4f3623 added two-side test 2007-12-18 16:25:48 -07:00
Brian
87002aba3b Test GL_VERTEX_PROGRAM_TWO_SIDE and frag shader gl_FrontFacing features 2007-12-18 16:24:19 -07:00
Brian
caec2a79e6 added twoside demo 2007-12-18 16:24:19 -07:00
Brian
256115bd5e simplify update two-side lighting test (follow-on to previous front/back-face changes) 2007-12-18 16:24:19 -07:00
Brian
441bab8f17 fix NEED_SECONDARY_COLOR for vert/frag progs 2007-12-18 16:24:19 -07:00
Brian
85f5e6d7b9 Fix a quadstrip front/back-face inconsistancy.
Only set front material colors to make it noticable if front/back-face
determination is incorrect anywhere.
2007-12-18 16:24:19 -07:00
Eric Anholt
9efa1029e5 Fix mismatched map/unmap of buffers in swrast read/drawpixels error paths. 2007-12-18 14:51:42 -08:00
Eric Anholt
4878f12189 [915] Free dri_bufmgr after mesa context data.
Fixes a crash when buffer objects are left around until context destroy.
2007-12-18 14:17:27 -08:00
Eric Anholt
a856da6324 [915] Make polygon stipple use pre-unpacked pixel data.
This fixes a crash when stippling using data from a PBO.
2007-12-18 14:14:44 -08:00
Eric Anholt
0dc2c68ffc [915] Fix clear color when clearing with triangles.
The diffuse color format is always ARGB32, regardless of the destination
surface format.
2007-12-18 10:42:30 -08:00
Keith Packard
dd1a868b74 [INTEL] Fix 965 to use new centralized mipmap pitch function 2007-12-18 10:22:16 -08:00
Keith Packard
a183efc132 [Intel] Centralize mipmap pitch computations.
mipmap pitches must account for the device alignment requirements, which
used to be fairly simple; just align to a 4-byte boundary. However, to allow
textures to be drawn to under TTM, they now need to be aligned to a 64-byte
boundary. Placing all of the alignment constraints in a single function
allows this new constraint to be applied uniformly.

There was some pitch constraining code in intel_miptree_create, but that was
modifying the pitch long after the miptree had been layed out, so it only
served to wreck the mipmap and cause rendering errors.
2007-12-18 10:22:04 -08:00
Eric Anholt
6f1bfdc4bf [i915] Remove redundant set_draw_region code (like the comment says). 2007-12-17 17:01:07 -08:00
Eric Anholt
33487c15ba [intel] Improve INTEL_DEBUG=blit description of clearing. 2007-12-17 16:57:59 -08:00
Eric Anholt
c24300f937 [intel] Fix copy'n'pasteo in decoding of the blit clear packet. 2007-12-17 16:53:51 -08:00
Eric Anholt
9a8819e767 [965] Add decode of 3DSTATE_DRAWING_RECTANGLE. 2007-12-17 16:53:47 -08:00
Eric Anholt
146030aad2 [965] Allow draw or depth regions to be NULL.
With FBOs, we end up wanting to do 3D metaops against one or the other without
having to find the other one to fill in if we're not going to draw to it.
2007-12-17 16:50:09 -08:00
Eric Anholt
447facfcd6 [965] Simplify scissor handling by using DrawBuffer values. 2007-12-17 15:30:04 -08:00
Eric Anholt
8336f3ffb7 [965] fix bad conflict resolution in debug code. 2007-12-17 14:42:31 -08:00
Eric Anholt
2c9e515d86 [965] Replace our own depth constants in intel context with GL context ones. 2007-12-17 14:28:54 -08:00
Eric Anholt
98d4355240 [965] Fix software fallbacks with region-backed textures. 2007-12-17 13:47:52 -08:00
Eric Anholt
c1d6b874b3 [intel] Cleanup of */intel_blit.c to bring the two closer. 2007-12-17 13:19:33 -08:00
Eric Anholt
b3169a9c35 [965] Output the buffer type in INTEL_DEBUG=bat surface state decode. 2007-12-17 13:02:16 -08:00
Michel Dänzer
1e04132306 i915: Fix issues with glDrawBuffer(GL_NONE).
Don't dereference NULL renderbuffer pointer, and make sure the software
fallback sticks.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=13694 .
2007-12-17 12:20:56 +01:00
Xiang, Haihao
d859a60dc3 i965: check NULL pointer 2007-12-17 14:42:42 +08:00
Eric Anholt
d913a15898 [i915] Fix missing symbol from 965 changes. 2007-12-16 13:00:23 -08:00
Eric Anholt
1daf5b3ad6 [965] Fully initialize the texture surface key data (padding around GLboolean) 2007-12-16 12:09:22 -08:00
Eric Anholt
cbed2e4add [965] Enable ARB_pixel_buffer_object, and disable broken imaging extension.
While I haven't tested the imaging extension, this matches what 915 does.
2007-12-16 11:46:10 -08:00
Eric Anholt
c0b4257aa9 [965] Move to using shared texture management code.
This removes the delayed texture upload optimization from 965, in exchange for
bringing us closer to PBO support.  It also disables SGIS_generate_mipmap,
which didn't seem to be working before anyway, according to the lodbias demo.
2007-12-16 11:26:19 -08:00
Eric Anholt
659baa3f25 [intel] Whitespace and comment changes to bring intel_mipmap_tree.c closer. 2007-12-15 13:09:58 -08:00
Eric Anholt
3fe9d5cbb7 [intel] Merge intel_buffer_objects to shared.
965 gains fixed TTM typing of the buffer object buffers and unused PBO
functions, and 915 gains buffer size == 0 fixes from 965.
2007-12-15 12:47:23 -08:00
Eric Anholt
f5b3cd4620 [965] Use shared intel_regions.c.
This adds (so far) unused PBO functions, and holding the lock while writing
to regions (which may be shared static screen regions).
2007-12-15 12:45:52 -08:00
Eric Anholt
5e3ef623ee [intel] Fix uninitialized data in screen-region buffer objects. 2007-12-14 14:56:01 -08:00
Eric Anholt
55539f6b2a [intel] Remove excessive validation debugging. 2007-12-14 14:52:15 -08:00
Eric Anholt
b8b49529b3 [intel] Initialize debug flag for dri_bufmgrs 2007-12-14 14:51:55 -08:00
Eric Anholt
c5456a6b24 [intel] Remove useless intel_region_idle.
The idling it was trying to ensure was covered by the
intel_miptree_image_map()->intel_region_map() that immediately followed it.
2007-12-14 14:40:03 -08:00
Eric Anholt
84a076079d [intel] warnings cleanup 2007-12-14 14:40:03 -08:00
Brian
507d43f95b fix polygon cull regression 2007-12-14 14:35:18 -07:00
Brian
a5eb9e7b1b Build rain demo (Gonzo <andreas.wendleder@gmail.com>) 2007-12-14 14:35:18 -07:00
Eric Anholt
6f7d35318d [intel] Remove the relocation buffer lists and just cache one per buffer.
Each buffer object now has a relocation buffer pointer, which contains the
relocations for the buffer if there are any.  At the point where we have to
create a new type of relocation entry, we can change the code over to allowing
multiple relocation lists, but trying to anticipate what that'll look like
now just increases complexity.

This is a 30% performance improvement on 965.
2007-12-14 11:23:43 -08:00
Eric Anholt
38bad7677e [965] Replace the state cache suballocator with direct dri_bufmgr use.
The user-space suballocator that was used avoided relocation computations by
using the general and surface state base registers and allocating those types
of buffers out of pools built on top of single buffer objects.  It also
avoided calls into the buffer manager for these small state allocations, since
only one buffer object was being used.

However, the buffer allocation cost appears to be low, and with relocation
caching, computing relocations for buffers is essentially free.  Additionally,
implementing the suballocator required a don't-fence-subdata flag to disable
waiting on buffer maps so that writing new data didn't block on rendering using
old data, and careful handling when mapping to update old data (which we need
to do for unavoidable relocations with FBOs).  More importantly, when the
suballocator filled, it had no replacement algorithm and just threw out all
of the contents and forced them to be recomputed, which is a significant cost.

This is the first step, which just changes the buffer type, but doesn't yet
improve the hash table to not result in full recompute on overflow.  Because
the buffers are all allocated out of the general buffer allocator, we can
no longer use the general/surface state bases to avoid relocations, and they
are set to 0 instead.
2007-12-14 11:04:26 -08:00
Eric Anholt
0037ad4186 [intel] Remove broken mutex protection from dri_bufmgrs.
Now that the dri_bufmgr is stored in the context rather than the screen, all
access to one is single-threaded anyway.
2007-12-13 23:44:56 -08:00
Eric Anholt
dbfe05ca24 [intel] Enable INTEL_DEBUG=bufmgr output in TTM mode as well as classic. 2007-12-13 23:26:43 -08:00
Eric Anholt
9f7d6b7210 [intel] assert that buffers are not mapped at last unreference.
bufmgr_fake doesn't care about it, but with ttm we would end up with the
buffer remaining referenced until application exit.
2007-12-13 23:24:53 -08:00
Dan Nicholson
f116634933 Merge branch 'master' into autoconf2 2007-12-12 21:24:06 -08:00
Dan Nicholson
c79c93c0ac autoconf: Improve help text for demos and DRI drivers
Changed the text for the default demos to be "auto" instead of "yes"
since that didn't make much sense in this context. Added an example
value for the --with-dri-drivers option as suggested by Brian.
2007-12-12 18:13:04 -08:00
Dan Nicholson
f64d6fe0d3 autoconf: Update bug address and fix some autoconf warnings
Point bug reports to Bugzilla like bugs.html. Also, a warning from
autoconf w.r.t. AC_OUTPUT was cleaned up.
2007-12-12 17:57:45 -08:00
Dan Nicholson
a130718f44 autoconf: Consistently use xlib for the driver name
Brian suggested that there should be more consistency using xlib vs. x11
in the configure script. Changed the options and variables to suit.
2007-12-12 17:49:49 -08:00
Dan Nicholson
3e288627cb autoconf: Optional assembly usage with --disable-asm
Allow the user to disable use of assembly code through the --disable-asm
option. This is only relevant on the platforms where assembly is
normally enabled such as Linux and FreeBSD.
2007-12-12 17:39:21 -08:00
Eric Anholt
37406c2038 [intel] Assert against conflicting relocation emits in bufmgr_fake.c 2007-12-12 15:03:15 -08:00
Eric Anholt
5ad260246b [965] Bug #13600: Fix assertion failure with SRGB textures.
I broke this with cherry-pick resolving on
93c98a4669.
2007-12-12 12:09:07 -08:00
Eric Anholt
7c71ef3a3d [intel] Move bufmgr back to context instead of screen, fixing glthreads.
Putting the bufmgr in the screen is not thread-safe since the emit_reloc
changes.  It also led to a significant performance hit from pthread usage
for the attempted thread-safety (up to 12% of a cpu spent on refcounting
protection in single-threaded 965).  The motivation had been to allow
multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
2007-12-12 11:52:10 -08:00
Dan Nicholson
16a07fb556 autoconf: Report the compiler options in the summary
Report the compiler flags and macros that will be used in the build.
This just provides a quick way to see what configure has silently been
doing.
2007-12-12 09:12:15 -08:00
Dan Nicholson
23656c47c9 autoconf: Optional debug build with --enable-debug
Allow the user to set the compiler debug flags and macros through the
option --enable-debug. This addes -DDEBUG to the macros and -g to the
CFLAGS and CXXFLAGS if gcc and g++ are in use.
2007-12-12 09:02:31 -08:00
Dan Nicholson
41b00707e2 autoconf: More informative errors when pkg-config macros undefined
Added a check that PKG_PROG_PKG_CONFIG is defined before calling it so
the user can see a proper error. Without it, the generated configure
script will just pass on to the next statement and bomb with a strange
shell syntax error.
2007-12-12 08:48:30 -08:00
Keith Packard
00e10a1385 Block in kernel waiting for fence 2007-12-11 20:27:42 -08:00
Keith Packard
aeca22f97c Use previous buffer offsets to compute proposed relocations
This takes advantage of the DRM_BO_HINT_PRESUMED_OFFSET change and allows
the kernel to avoid mapping and re-writing buffers when relocations occur.
2007-12-11 20:27:42 -08:00
Dan Nicholson
aab38cfc43 autoconf: Replace configs/current symlink from configure
Rather than having the user run `make autoconf' and have the Makefile
setup the configs/current -> autoconf symlink, we can just do that in
configure. This allows the user to just run `make' to build.
2007-12-11 08:24:27 -08:00
Dan Nicholson
78175579c2 autoconf: Replace install-sh with symlink to minstall
Since install-sh is only used to satisfy an autoconf requirement, we
don't need the actual script. Instead, it's now just a symlink to
minstall, which provides a similar install wrapper script.
2007-12-11 08:24:27 -08:00
Dan Nicholson
79ad458ec6 autoconf: Clearer help text for the enable/disable options
Make it clearer what the defaults for the AC_ARG_ENABLE options are and
how to change them.
2007-12-11 08:24:27 -08:00
Dan Nicholson
a76e2452d2 autoconf: Since default DRI drivers to build with master
Sync the default DRI_DIRS with the configs in master. Added some of the
comments from there, too.
2007-12-11 08:24:27 -08:00
Dan Nicholson
70d0c83890 autoconf: glut doesn't need Xt
Don't link glut with libXt since it's not needed.
(see commit ce98779571)
2007-12-11 08:24:27 -08:00
Roland Scheidegger
46c405663b add simple test for two-sided stencil functionality 2007-12-11 15:38:34 +01:00
Roland Scheidegger
8dc188485b make sure state token values are fully initialized 2007-12-11 15:38:33 +01:00
Eric Anholt
ffee86f697 [965] Hook up DEBUG_BUFMGR output for bufmgr_fake. 2007-12-10 14:58:53 -08:00
Eric Anholt
e3a6e60040 [965] Convert the driver to dri_bufmgr interface and enable TTM.
This is currently believed to work but be a significant performance loss.
Performance recovery should be soon to follow.

The dri_bo_fake_disable_backing_store() call was added to allow backing store
disable like bufmgr_fake.c did, which is a significant performance win (though
it's missing the no-fence-subdata part).

This commit is a squash merge of the 965-ttm branch, which had some history
I wanted to avoid pulling due to noisiness and brokenness at many points
for git-bisecting.
2007-12-07 16:19:10 -08:00
Eric Anholt
3ecdae82d7 [965] Remove dead code in upload_wm_surfaces. 2007-12-07 15:23:16 -08:00
Eric Anholt
e34a183d87 [965] Move brw_surface_state stack allocation into the function using it. 2007-12-07 15:22:57 -08:00
Dan Nicholson
9cad8e312f autoconf: Output summary information from configure
Report some of the common settings back to the user after configure
has completed.
2007-12-07 14:34:27 -08:00
Dan Nicholson
af3d2f292d autoconf: Configurable DRI drivers
The user can request specific DRI drivers to build rather than the
default of "all that build on this platform". This allows the list of
drivers to be easily slimmed down.

This is controlled through the option --with-dri-drivers. For example:

    ./configure --with-driver=dri --with-dri-drivers="i965,nouveau"

Unfortunately, using this setting means the DRI drivers aren't filtered
by platform anymore and you might try to build something that doesn't
work.
2007-12-07 14:34:27 -08:00
Dan Nicholson
88586332d3 autoconf: Allow static library builds
Allow the user to specify that they want static libraries through the
--{enable,disable}-{static,shared} switches like libtool. The mesa build
only allows for one at a time, so static will be chosen if someone has
passed --enable-static or --disable-shared.

This also allows the mklib options to be set at build time. This allows
-static to be set for mklib, but any platform specific settings are
allowed by setting MKLIB_OPTIONS for configure.

Handling of the program libraries through the APP_LIB_DEPS variable is
pretty ugly, but it seems to work.
2007-12-07 14:34:27 -08:00
Dan Nicholson
8e4d147430 autoconf: Configurable demos directories
The user can request specific demos directories to build in. For
example:

    ./configure --with-demos="demos,xdemos"

The drawback is that we don't check for the necessary libararies in
that case, only that the directory in progs/ exists.
2007-12-07 14:34:27 -08:00
Dan Nicholson
6689f9ebcb autoconf: Configure the osmesa channel size for OSMesa16 and OSMesa32
Allow the user to specify channel bits of 16 or 32 to enable OSMesa16 or
OSMesa32 instead of the default OSMesa. This option is controlled
through the option --with-osmesa-bits=BITS and is only honored when the
driver is osmesa.

The osdemos are not enabled in the 16 or 32 bit case because the
Makefile is currently hardcoded to link to -lOSMesa.
2007-12-07 14:34:27 -08:00
Dan Nicholson
979ff5153d autoconf: Add support for osmesa-only builds
Added autoconf support for using OSMesa as the driver instead linking
it to libGL. This is enabled through --with-driver=osmesa.

To differentiate these cases, another option --enable-x11-osmesa is used
to enable or disable building OSMesa when the driver is x11.
2007-12-07 14:34:27 -08:00
Dan Nicholson
44d9914b29 autoconf: Add support for shared DRI build on linux and freebsd
Added autoconf bits to allow using DRI as the driver through the option
--with-dri-driver=DRIVER. The options are x11 (default) and dri. Three
DRI specific options for controlling the driver directory, direct
rendering and TLS are also added.

The DRI will probably not work for platforms besides linux and freebsd.
2007-12-07 14:34:27 -08:00
Dan Nicholson
72796238f8 autoconf: Include necessary files for the tarballs
Add targets to the top Makefile so that configure and the necessary
scripts are added to the tarball for distribution.

Variables are used for autoconf and aclocal in case anyone needs to use
a specific version or pass any extra flags.
2007-12-07 14:34:27 -08:00
Dan Nicholson
dca1b796b7 autoconf: Initial support for an autoconf configuration
This adds the initial support for using autoconf configuration. Support
is available for shared Xlib driver builds. Later this will be extended
to dri and osmesa-only builds and possibly targetting non-X backends.
Support for static library builds will also be added.

The configure script fills in the autoconf config. This is then used by
running `make autoconf' after ./configure.

Testing has been done on Linux/GNU. The configure script tries to
faithfully reproduce the current configs/linux* and configs/freebsd*.
Other platforms can be handled later by adding similar statements and
feature tests.

Pkg-config is used to search for packages when possible. This makes the
build much more flexible and robust to the user's configuration. This
requires that the pkg-config autoconf macros pkg.m4 are included in
aclocal.m4. This requires autoconf and aclocal from autoconf and
automake, respectively.
2007-12-07 14:34:27 -08:00
Dan Nicholson
d5cee90cf5 autoconf: Add support files required for autoconf use
The standard autoconf initialization macros require that config.guess,
config.sub and install-sh exist. The config.* scripts are from gnulib
HEAD, and the install-sh script is from automake HEAD.
2007-12-07 14:34:27 -08:00
Dan Nicholson
f1efacb92b Make osdemos linking like other programs
Most of the programs list their dependencies on the Mesa libraries in
their Makefiles. This works with the default configuration where
APP_LIB_DEPS only lists external libraries. This changes the
linux-osmesa configs and the osdemos Makefile to follow that convention.

Some cleanup of the Makefile is also added to refer to the GL libraries
through the existing variables rather than hardcoding their names.
2007-12-07 14:10:27 -08:00
Dan Nicholson
6aaf9bdd41 configs: Fix linking with static libGL and --as-needed
Linking of the programs breaks when using a static libGL and the GNU ld
option --as-needed. This is because libXext is needed for the XShm
functions.
2007-12-07 11:49:40 -08:00
Xiang, Haihao
e2ca788ae7 i915: fix the error in the previos commit. 2007-12-07 17:33:18 +08:00
Xiang, Haihao
c1a3ac0e45 i915: Check the program size when uploading a program. fix bug 13494 2007-12-07 17:26:38 +08:00
Michel Dänzer
62f6e55013 Minor followup fixes for the previous commit. 2007-12-06 10:19:22 +01:00
George Nassas
17afc800c9 Always call dlopen in DriverOpen.
This increases the reference count for the driver binary, preventing it from
getting unloaded prematurely in driDestroyDisplay. See
https://bugs.freedesktop.org/show_bug.cgi?id=13541 .
2007-12-06 10:11:05 +01:00
Eric Anholt
125bd4cae5 Revert "[965] Add missing flagging of new stage programs for updating stage state."
I had forgotten part of brw_state_cache.c that made this fix not relevant for
master (last_addr comparison and flagging based on cache id).

This reverts commit a4642f3d18.
2007-12-05 16:57:27 -08:00
Eric Anholt
a4642f3d18 [965] Add missing flagging of new stage programs for updating stage state.
Otherwise, choosing a new program wouldn't necessarily update the state, and
and an old program could be executed, leading to various sorts of pretty
pictures or hangs.
2007-12-05 16:44:49 -08:00
Brian
259eacfa94 Fix endianness bug in _mesa_texstore_argb8888()
On big-endian, storing in _mesa_texformat_argb8888 format produced wrong res
Also, clean-up nearby code to match.

picked from gallium-0.1 branch
2007-12-05 15:06:23 -07:00
Xiang, Haihao
2407e48f28 Don't Swap buffer if a DRIDrawable is entirely obscured
by another window.
2007-12-05 10:31:35 +08:00
Brian
5b91ee27c0 Undo changes made to the toyball shaders in commit d19d0596da
This demo produces the expected results again.
2007-12-04 18:44:40 -07:00
Brian
02afd45d3b fix span->facing computation and gl_FrontFacing initialization 2007-12-04 14:07:08 -07:00
Brian
2ee7035886 Fix gl_FrontFacing compilation problem 2007-12-04 14:07:08 -07:00
Brian
df198d24bc added culling/wireframe options 2007-12-04 14:07:08 -07:00
Michel Dänzer
fc7ddea853 Use -Bsymbolic for linking all shared objects.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10132 .

Also remove comment about SONAME, as SONAME only applies to shared libraries.
2007-12-04 18:31:29 +01:00
Eric Anholt
3a90679400 [965] Change constant buffer from state structs to plain batch emission.
Reduces diff to branch which has a relocation in this state emit.
2007-12-03 14:46:58 -08:00
Brian
454043c4ae fix DD_TRI_LIGHT_TWOSIDE bug (#13368) 2007-12-03 14:14:40 -07:00
Dan Nicholson
2dc85e8078 Fix the library name in glw.pc
Fix a copy and paste error s/GLU/GLw/ in glw.pc.
2007-12-03 11:57:14 -08:00
Brian
ce98779571 glut doesn't need -lXt 2007-12-03 12:00:28 -07:00
Brian
b1416c2137 added missing quote char 2007-12-03 12:00:28 -07:00
Michel Dänzer
2af613e0b8 i915: Fix up state changes for i8xx. 2007-12-03 09:28:49 +01:00
Eric Anholt
556cf9abff [intel] Move batch bo_unmap from TTM code to shared, and add more asserts. 2007-11-30 18:17:12 -08:00
Eric Anholt
d388cad746 [intel] Add failure path printfs to relocation code and some comments. 2007-11-30 18:12:41 -08:00
Eric Anholt
700468b8bc [intel] Simplify TTM relocation code by passing around bufmgr struct. 2007-11-30 18:08:17 -08:00
Eric Anholt
ddd92ee9a1 [intel] Fix the type and naming of the flags/mask args to TTM functions.
The uint64_t flags (as defined by drm.h) were being used as unsigned ints in
many places.
2007-11-30 18:06:32 -08:00
Eric Anholt
6f8dee03aa [intel] intel_bufmgr_ttm style sanity 2007-11-30 17:28:48 -08:00
Brian
b0b882b666 fix-build: remove ctx->_Facing assignment 2007-11-30 15:52:27 -07:00
Brian
fcd7c37fd3 fix broken two-sided stencil 2007-11-30 13:01:57 -07:00
Brian
44c8dac0af better front-plane clip test 2007-11-30 09:08:58 -07:00
joukj
a11b6f025c Updates of some OpenVMS makefiles. 2007-11-30 13:16:05 +01:00
joukj
86f3135fbd Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-11-30 11:12:41 +01:00
Xiang, Haihao
d2540e6d4b i965: if source depth to render target is set,
it should be handled in fb_write.
2007-11-30 12:04:04 +08:00
Xiang, Haihao
6bc1d38567 i965: use uncompressed instruction to ensure only
Pixel Mask Copy is modified as the pixel shader thread
turns off pixels based on kill instructions.
2007-11-30 11:50:08 +08:00
Eric Anholt
1df7a82688 [i915] Make INTEL_DEBUG=bufmgr actually do things for bufmgr_fake. 2007-11-29 13:00:34 -08:00
Brian
61fbc81657 New ctx->Driver.Map/UnmapTexture() functions for accessing textures from t_vb_program.c 2007-11-29 08:13:16 -07:00
Brian
a2ab143b75 cleanups, comments 2007-11-29 08:13:16 -07:00
Brian
a7e1b4456a Move _mesa_load_tracked_matrices() from TNL module to prog_statevars.c 2007-11-29 08:13:16 -07:00
Michel Dänzer
dc88a96631 r200: Fix texture format regression on big endian systems.
See https://bugs.freedesktop.org/show_bug.cgi?id=13324 .

Also use tx_table_be for VALID_FORMAT, in case r200SetTexImages ever gets
called for MESA_FORMAT_RGB888.
2007-11-28 10:20:04 +01:00
Xiang, Haihao
d8fcb504a4 i965: update RefCount when using Vertex/Fragment program.
It makes quake4-demo works well on 965.
2007-11-28 09:46:43 +08:00
WuNian
16099c15f5 remove drawable from hash table when window is deleted (see bug 13091) 2007-11-27 18:22:42 -07:00
Delle
5c64e6885d use DEFAULT_SOFTWARE_DEPTH_BITS 2007-11-27 18:18:25 -07:00
Brian
27028fcf74 minor additions to avoid FAQs 2007-11-27 10:31:55 -07:00
Brian
5ef3a2c06d document GLSL float f/F suffix bug 2007-11-27 10:31:55 -07:00
Brian
4fe3bf2d77 set fp->UsesKill when emitting OPCODE_KIL 2007-11-27 10:31:55 -07:00
Brian
92e4090b4c add a few more logicop modes, simplify code 2007-11-27 10:31:55 -07:00
Brian
74cd0b459f improve 24-bit Z to 32-bit Z conversion 2007-11-27 10:31:55 -07:00
Xiang, Haihao
46e03d584a i965: The jump instruction count is added
to IP pre-increment, and should point to
the first instruction after the do instruction
of the do-while block of code
2007-11-27 09:45:32 +08:00
Keith Whitwell
a8fee3a498 i915: Catch cases where not all state is emitted for a new batchbuffer.
This could lead to incorrect rendering or even lockups.
2007-11-26 17:49:29 +01:00
Michel Dänzer
63e6bfe8db i915: Some additional blit fixes and assertions. 2007-11-26 17:35:35 +01:00
Michel Dänzer
42108629e8 libGL: Make sure a valid value is returned for GLX_BIND_TO_MIPMAP_TEXTURE_EXT.
If the server didn't send a value, assume it's not supported.

A more generic solution might be better for this kind of problem, but an
attempt for this failed (see https://bugs.freedesktop.org/show_bug.cgi?id=9264)
and this allows compiz to work with drivers that support
GL_EXT_framebuffer_object.
2007-11-25 14:20:36 +01:00
Michel Dänzer
7dd5ced962 intel: Fix relative symlinks. 2007-11-25 14:17:02 +01:00
Brian
be1fa5b3d7 better test of point attenuation 2007-11-23 16:19:25 -07:00
Brian
88b067cb04 #define GL_GLEXT_PROTOTYPES to silence warning 2007-11-23 14:35:46 -07:00
Brian
999b55663a Consolidate texture fetch code and use partial derivatives when possible. 2007-11-23 12:01:57 -07:00
Brian
ba16243884 Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on variable array indexes. 2007-11-23 10:25:48 -07:00
Brian
c14d969a69 need to check border width in sample_linear_2d() - fixes failed assertion in texwrap.c test 2007-11-23 09:14:39 -07:00
Brian
0fd679a190 Consolidate point size computation, clamping in get_size().
Also, apply user-defined clamp limits to point size even when not using
attentuation or program-computed size.
2007-11-22 09:34:38 -07:00
Brian
ccb1c9df00 Print point/line size range limits 2007-11-22 09:34:38 -07:00
Roland Scheidegger
3d51c79001 fix z buffer read/write issue with rv100-like chips and old ddx 2007-11-22 02:49:15 +01:00
Eric Anholt
93c98a4669 [965] Replace 965 texture format code with common code.
The only functional difference should be that 965 now gets the optimization
where textures default to 16bpp when the screen is 16bpp.
2007-11-20 11:30:12 -08:00
Eric Anholt
e962997429 [965] Remove dead exec vfmt code which was replaced by generic vbo code. 2007-11-20 11:30:10 -08:00
Brian
827e72de75 clamp lambda to Min/MaxLod 2007-11-20 08:24:46 -07:00
Eric Anholt
3821d15e06 [965] Add INTEL_DEBUG=fall debugging output. 2007-11-19 15:29:31 -08:00
Eric Anholt
27674c4135 [965] Convert DBG macro to use FILE_DEBUG_FLAG like i915. 2007-11-19 15:28:26 -08:00
Brian
87373e3072 fix some texture format assertions, etc 2007-11-19 10:37:54 -07:00
Brian
22a374fc3f fix out-of-bounds array index (ix=-1) 2007-11-19 09:55:47 -07:00
Eric Anholt
f00a64999c [intel] Add 965 support to shared intel_blit.c
This requires that regions grow a marker of whether they are tiled or not,
because fence (surface) registers are ignored by the 965 2D engine.
2007-11-16 17:29:30 -08:00
Eric Anholt
9b461d4d02 [i915] Pass static region names in so debugging says more than "static region". 2007-11-16 16:18:30 -08:00
Eric Anholt
5ef6803b7a [intel] Move additional code to be shared from intel_context.h to intel/. 2007-11-16 16:05:11 -08:00
Eric Anholt
5cdf3972de [intel] Move intel_tex.h into place, forgotten in the previous commit. 2007-11-16 15:51:34 -08:00
Eric Anholt
8775bf475b [965] Add batchbuffer decode for several more packets. 2007-11-16 15:44:11 -08:00
Eric Anholt
a66413874d [intel] Fix typos in intel_chipset.h macros. 2007-11-16 15:36:18 -08:00
Eric Anholt
3bd07ba0d4 [i915] Add INTEL_DEBUG=sync debug flag to wait for fences after making them. 2007-11-16 15:36:18 -08:00
Eric Anholt
f7e0513d70 [i915] Reenable batchbuffer debug under INTEL_DEBUG=bat. 2007-11-16 15:36:18 -08:00
Eric Anholt
152aa6350d [intel] Add some doxygen notes on what the bufmgr_fake block members mean. 2007-11-16 15:36:18 -08:00
Eric Anholt
c29e9e534e [intel] Add a simple relocation cache to the fake buffer manager.
This is required for 965 performance, as it avoids a lot of repeated data
uploads of the state caches due to surface offsets in them.
2007-11-16 15:36:18 -08:00
Eric Anholt
4bc625e378 [intel] Assert against 0-sized buffers in dri_bufmgr_fake.c.
They shouldn't be created, and this often helps catch stupid issues.
2007-11-16 15:36:18 -08:00
Eric Anholt
00eb5635c6 [intel] Add support for multiple levels of relocation in bufmgr_fake.
This is required for 965 support, which has relocations in other places than
just the batchbuffer.
2007-11-16 15:36:18 -08:00
Eric Anholt
df3c530bed [i915] Push locking in intelClearWithTris down inside meta_draw_poly.
The lock coverage and checks for cliprects were unneeded since the batchbuffer
will have INTEL_BATCH_CLIPRECTS anyway.  It appeared to be a leftover from
intelClearWithBlit.

This makes the locking requirements of i915 meta_draw_quad match i965
meta_draw_quad.
2007-11-16 15:36:18 -08:00
Brian
8211b20026 added z/s keys to reset/step rotation 2007-11-16 15:19:05 -07:00
Brian
fb69fe58a0 Only emit texcoords for enabled units. Enable/disable units with 0..7 keys.
Also, asst. clean-ups.
2007-11-16 15:19:05 -07:00
Roland Scheidegger
96ba38a450 fix bogus assumption if ddx has set up surface reg for z buffer
this is wrong since even if ddx has not set up a surface reg to cover the z
buffer we should pretend it has on those rv100 chips since they presumably do
not do z buffer tiling if not using hyperz, so we can use linear addressing
just the same. Doesn't seem to fix #13080, but it's wrong anyway and the bug
almost certainly broke newer non-tcl chips.
2007-11-15 01:13:16 +01:00
Roland Scheidegger
dab7c810e9 fix position invariant vertex programs for sw-tnl
do the same math as for fixed function pipe, including
user clip planes.
(mostly resurrected from the dead t_vb_arbprogram.c code)
2007-11-15 00:52:38 +01:00
Brian
f6ab1347d6 remove dependency on libGLU 2007-11-12 08:02:09 -07:00
Brian
b87ce5be82 add glw.pc.in to tarball list, remove from DEPEND_FILES 2007-11-12 07:51:55 -07:00
Xiang, Haihao
9bf5da906f i965: correct the opcode of XY_SETUP_BLT_CMD. fix bug #12730 2007-11-12 10:20:26 +08:00
Brian
578641941f test that point/line/quad rendering hits the right pixels 2007-11-09 17:02:51 -07:00
Eric Anholt
9724dc1ac7 [i915] Remove old frontbuffer rotation hack.
This was replaced in previous releases of xserver/dri/libGL by reporting the
damage to the frontbuffer so that the server and driver could handle it
appropriately.
2007-11-09 15:05:56 -08:00
Eric Anholt
7d4b89a2b3 [intel] By default, output batchbuffer decode to stderr like other debug info. 2007-11-09 14:27:33 -08:00
Eric Anholt
38c616260a [intel] Initialize a depth buffer if the visual has depth 24 but no stencil. 2007-11-09 14:27:33 -08:00
Eric Anholt
77a5bcaff4 [intel] Move over files that will be shared with 965-fbo work. 2007-11-09 14:27:33 -08:00
Brian
8b36166d29 check for texture and renderbuffer in check_end_texture_render() 2007-11-09 08:56:05 -07:00
Benno Schulenberg
4e91ad8c0e code clean-ups, reformatting 2007-11-09 08:56:05 -07:00
Benno Schulenberg
d540e8e9df remove commented-out code 2007-11-09 08:56:05 -07:00
Roland Scheidegger
7b3ab451a8 recreate from changed gl_API.xml 2007-11-09 14:49:01 +01:00
Roland Scheidegger
86a4810b09 alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
these should be the same functions (as per spec).
2007-11-09 14:46:59 +01:00
Ian Romanick
d34caddb4e Prevent loss of vectorequiv information when an alias follows the function being aliased. 2007-11-08 17:45:48 -08:00
Benno Schulenberg
1dfec88e72 fix Unichrome/Blender crash, bug 13142 2007-11-08 07:34:55 -07:00
Kristian Høgsberg
286ce27193 Fix compilation for !GLX_DIRECT_RENDERING. 2007-11-06 14:34:15 -05:00
Kristian Høgsberg
001de0ac4e Remove a couple of "deprecated" fields from __GLXcontextRec.
The __GLXcontextRec struct is internal to the libGL implementation.  No point
in "deprecating", just get rid of it.
2007-11-06 13:32:33 -05:00
Kristian Høgsberg
866d271aa8 Don't return 0 in a void function. 2007-11-06 13:32:33 -05:00
Michel Dänzer
badc061a65 r200: Re-expose SetTexOffset functionality.
This seems to have been mismerged with the DRI interface changes.
2007-11-06 18:24:46 +01:00
Michel Dänzer
5a322bc1b4 r200: Fix SetTexOffset format for 16 bit pixmaps/textures.
Use symbolic array indices to clarify.
2007-11-06 18:22:42 +01:00
Kristian Høgsberg
559ae0ab1b Pass the visual id to XF86DRICreateContextWithConfig(), not fbconfig id. 2007-11-06 11:23:27 -05:00
Oliver McFadden
cd59600c7b Renamed the R300_VAP_UNKNOWN_221C to R300_VAP_CLIP_CNTL. 2007-11-05 22:17:34 +00:00
Dave Airlie
35d28ce12e r300: initial user clipping for TCL paths
I've no idea if this code might break something or how it should interact
with vertex shaders, it makes the clip demo work for me
2007-11-05 22:17:34 +00:00
Kristian Høgsberg
8e66c3d755 Lookup visual in visual list, not fbconfig list.
Also, handle visual not found error case by throwing X error.
2007-11-05 17:02:29 -05:00
Kristian Høgsberg
e2c2df5c23 Filter both visuals and fbconfigs against driver supported configs. 2007-11-05 17:02:29 -05:00
Brian
c9ce3e8fd2 Check for NULL VB->EdgeFlag array.
There might be a bug elsewhere, but this is a simple work-around for now.
See bug 12614
2007-11-05 14:44:01 -07:00
Brian
a49e0726e3 fix mmx code (bug 12614) 2007-11-05 14:44:01 -07:00
Michel Dänzer
db2ec4502e Fix GLX build of xserver master branch.
The internal CreatePixmap API has been extended.
2007-11-05 10:03:26 +01:00
Brian
417cb2c182 Fix mem leak in SSE code generation path (Michel Dänzer) and don't crash if _mesa_exec_malloc() returns NULL.
(picked from mesa_7_0_branch)
2007-11-03 08:50:55 -06:00
Brian
d9276cbb29 fix typo 2007-11-03 08:47:53 -06:00
Dave Airlie
db95143949 r300: move more vap registers out of non tcl paths 2007-11-03 19:35:39 +11:00
Dave Airlie
bf4feb7393 r300: fix misnumber register 2007-11-03 19:20:22 +11:00
Dave Airlie
59efbb412f r300: fix texwrap border color 2007-11-03 18:59:23 +11:00
Brian
351a83163a remove dead code in _mesa_new_program() 2007-11-01 09:00:26 -06:00
Dan Nicholson
01b18abf93 Add -fno-strict-aliasing workaround for all GCC targets
Use a GCC option to work around aliasing bugs. See commit 013dbcd for
more details.
2007-11-01 06:03:31 -07:00
Dave Airlie
ee793281b2 nouveau: ppc, swap fragment programs on big endian systems.
Thanks to the PS3 RSX project for figuring this out.
2007-11-01 19:19:45 +11:00
Dave Airlie
1b880c7e3c i915: make i915 use the cached mappings for batch/buffer objects.
This should restore gears speed on 9xx hardware
2007-11-01 10:41:39 +11:00
Dan Nicholson
dbcd20f1c2 configs: Set -fexceptions for GLUT on linux-dri like other targets
Quite a while ago, the GCC option -fexceptions was added for building
libglut. See here:

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

This was missing in the linux-dri targets.
2007-10-31 16:18:29 -07:00
Dan Nicholson
d7eb97bbc3 confdiff.sh: A testing script for comparing configs settings
This is a simple script that compares the make variables set by two
different configs stubs. The purpose is to highlight differences so
that any unnecessary duplication or divergence can be removed.

For example, on Linux x86:
    $ ./bin/confdiff.sh linux linux-x86

The output isn't very clean, but it should highlight that the only
difference is that the x86 target uses x86 assembler sources.

The script uses bash, mktemp, make, sed and diff. It is probably not
very portable and might only work on GNU make.
2007-10-31 14:59:13 -07:00
Dan Nicholson
c3b5adaa9a configs: Always use -fPIC for shared libraries, never for static
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:

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

On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
2007-10-31 14:19:20 -07:00
Dan Nicholson
013dbcd611 Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:

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

This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
2007-10-31 09:47:39 -07:00
Brian
2bdd467dfd GLSL support in i965 driver 2007-10-31 09:57:47 -06:00
Brian
7f80dc1ebe updated list 2007-10-31 09:57:47 -06:00
Brian
5cb203433a check for count==0 in _mesa_validate_DrawArrays() 2007-10-31 09:57:47 -06:00
Jouk
d1414da8f9 Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-10-31 08:18:58 +01:00
Michel Dänzer
d2f19a554a Fix some build warnings, mostly with XCB. 2007-10-30 17:58:50 +01:00
Brian
a7f64635a6 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2007-10-30 10:24:34 -06:00
Brian
8b8a970593 test glStencilFuncSeparateATI() 2007-10-30 10:23:58 -06:00
Brian
f70ca96ba9 Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2007-10-30 09:13:58 -06:00
Roland Scheidegger
4c53635aab add missing _mesa_StencilFuncSeparateATI function 2007-10-30 14:09:17 +01:00
Michel Dänzer
3177b4e2cf More vblank cleanups.
* Fix crash at context creation in most drivers supporting vblank.
* Don't pass vblank sequence or flags to functions that get passed the drawable
  private already.
* Attempt to initialize vblank related drawable private fields just once
  per drawable. May need more work in some drivers.
2007-10-30 13:16:50 +01:00
Eric Anholt
dc1264970e [i915] Include header to pick up intel_ttm_bo_create_from_handle() proto. 2007-10-29 13:24:29 -07:00
Eric Anholt
b0edb9c38a Merge branch 'origin' 2007-10-29 13:24:27 -07:00
Jesse Barnes
ad8ee7db3b Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2007-10-29 12:06:36 -07:00
Jesse Barnes
38fdb47d26 Refactor and fix core vblank support
Consolidate support for synchronizing to and retrieving vblank counters.  Also
fix the core vblank code to return monotonic MSC counters, which are required
by some GLX extensions.  Adding support for multiple pipes to a low level
driver is fairly easy, the Intel 965 driver provides simple example code (see
intel_buffers.c:intelWindowMoved()).

The new code bumps the media stream counter extension version to 2 and adds a
new getDrawableMSC callback.  This callback takes a drawablePrivate pointer,
which is used to calculate the MSC value seen by clients based on the actual
vblank counter(s) returned from the kernel.  The new drawable private fields
are as follows:
  - vblSeq - used for tracking vblank counts for buffer swapping
  - vblFlags - flags (e.g. current pipe), updated by low level driver
  - msc_base - MSC counter from the last time the current pipe changed
  - vblank_base - kernel DRM vblank counter from the last time the pipe changed

Using the above variables, the core vblank code (in vblank.c) can calculate a
monotonic MSC value.  The low level DRI drivers are responsible for updating
the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
along with msc_base and vblank_base whenever the pipe associated with a given
drawable changes (again, see intelWindowMoved for an example of this).

Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
support the new scheme.
2007-10-29 12:06:00 -07:00
Dan Nicholson
06ca14543e Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
2007-10-29 11:43:20 -07:00
Chris Rankin
1421bffb18 Remember to call XSync() before resetting X error handler. 2007-10-29 14:37:32 -04:00
Dan Nicholson
3b9e28d507 linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
2007-10-29 11:17:04 -07:00
Brian
40133487db disable ctx->Driver.NewProgram() call in _mesa_new_program()
This was causing infinite recursive calls w/ software drivers.
All vertex/fragment shaders should be allocated by calling
ctx->Driver.NewProgram(), not by calling _mesa_new_program().
2007-10-29 10:01:15 -06:00
Dan Nicholson
162914675a update APP_LIB_DEPS for static library configs (patch 3/3) 2007-10-29 09:05:13 -06:00
Dan Nicholson
9ef1d9f03a simplify APP_LIB_DEPS (patch 2/3) 2007-10-29 09:04:30 -06:00
Dan Nicholson
c05aa5ec4c specify app lib dependencies in Makefiles (patch 1/3) 2007-10-29 09:03:01 -06:00
Alan Hourihane
b59dbd822f Only set R_MODE with NV_point_sprite 2007-10-28 20:07:37 +00:00
Dan Nicholson
9514209593 configs: Fix linux-static to link correctly
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
2007-10-26 15:46:37 -07:00
Zou Nan hai
6ef27b88e6 Merge branch '965-glsl'
Conflicts:

	src/mesa/drivers/dri/i965/brw_sf.h
	src/mesa/drivers/dri/i965/intel_context.c
2007-10-26 15:39:50 +08:00
Brian
ff042bfdee use grep -q 2007-10-25 14:47:14 -06:00
Dan Nicholson
8578534f48 Ignore new programs 2007-10-25 11:34:16 -07:00
Brian
6dcf65ff0d simplify/fix the ASM_FLAGS tests (bug 12931) 2007-10-25 11:10:10 -06:00
Alex Neundorf
cae5b7f1e3 added catamount-osmesa-pgi config 2007-10-24 16:31:22 -06:00
Brian
26479fa3b3 don't build x86, x86-64 dirs if not needed 2007-10-24 16:24:06 -06:00
Brian
55d4f32fc2 fix assorted bugs, works now 2007-10-24 13:55:22 -06:00
Brian
5e9272c748 add to git 2007-10-24 12:43:02 -06:00
Brian
e48f0b09ab Implement gl_PointCoord attribute for GLSL fragment shaders.
Contains the normalized fragment position within a point sprite.
2007-10-24 11:37:05 -06:00
Brian
c9d495c6f0 properly init dst reg's CondMask/Swizzle fields 2007-10-23 10:55:24 -06:00
Brian
2a8e9bb00f bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions 2007-10-23 10:24:53 -06:00
Brian
e90dd4bf8f add directfb glut sources to tarball 2007-10-23 08:22:21 -06:00
Brian
2667e5642f don't apply ColorMask to main gc 2007-10-22 17:50:59 -06:00
Kristian Høgsberg
a074857cdc glxinfo: Try creating a GLX context using an fbconfig if no visuals are available. 2007-10-18 15:19:38 -04:00
Michel Dänzer
950fff0f9a i915: Add some sanity checks to blit command debugging code. 2007-10-18 18:30:15 +02:00
Ian Romanick
a663e846b6 Framework for supporting z24_s8 and z32 depth textures on r300. 2007-10-17 16:25:39 -07:00
Ian Romanick
42a4386a4c Initial support for ARB_depth_texture
Currently only GL_DEPTH_COMPONENT16 are supported.  I don't know what the
hardware bits are to select the other formats, but it shouldn't be too hard
to figure out.
2007-10-17 16:25:39 -07:00
Ian Romanick
b961eccc92 Support cards that have ARB_fp but not ARB_shadow. 2007-10-17 16:25:39 -07:00
Ian Romanick
374158b044 mga: Enable (trivial) support for GL_APPLE_vertex_array_object, bump DRIVER_DATE 2007-10-17 16:25:39 -07:00
Ian Romanick
366b2c6902 mga: Enable (trivial) support for GL_EXT_gpu_program_parameters. 2007-10-17 16:25:38 -07:00
Kristian Høgsberg
aad5c0fdc7 pbutil: Do not require GLX_SGIX_pbuffer for fbconfig only-functions. 2007-10-17 17:04:59 -04:00
Brian
ad053d90f0 Replace repeat_remainder() with a simpler macro that just casts args to unsigned. 2007-10-17 14:30:44 -06:00
Kristian Høgsberg
6c753ad51d Pull workaround for unset GLX_DRAWABLE_TYPE back in.
The old version just set GLX_DRAWABLE_TYPE to GLX_WINDOW_BIT for
configs received through glXGetVisualConfigs and to
GLX_WINDOW_BIT | GLX_PIXMAP_BIT for configs received as FBConfigs.
The X server needs to send this info, but keep the workaround for now.

Fixes #12835.
2007-10-17 15:06:11 -04:00
Kristian Høgsberg
a5b4bb393f glxinfo: Also print number of fbconfigs. 2007-10-17 15:06:11 -04:00
Michel Dänzer
86b81ef5aa Don't call the driver clear hook when the effective scissor rectangle is empty. 2007-10-17 18:37:19 +02:00
Michel Dänzer
b453112133 i915: Don't emit 'empty' blit rectangles.
The hardware seems to interpret them differently and produce unexpected
results...
2007-10-17 18:37:12 +02:00
Kristian Høgsberg
87966baa8d Fixup a couple of thinkos in glxinfo changes. 2007-10-17 10:15:10 -04:00
Kristian Høgsberg
6c533ea2d1 Handle fbconfigs and glx visuals separately.
The old implementation fetches fbconfigs or glx visuals once and assumes the list
describes both fbconfigs and glx visuals.  This patch splits it up and fetches
visuals and fbconfigs in two steps and keep the two lists separate.  A server
could have no glx visuals or no glx fbconfigs and the old code wouldn't know the
difference.
2007-10-16 16:07:52 -04:00
Kristian Høgsberg
791ad0e77f Implement support for printing glx fbconfigs in glxinfo. 2007-10-16 16:07:52 -04:00
Kristian Høgsberg
f7d1d554b1 glxinfo: Only print visuals that actually support GLX. 2007-10-16 16:07:52 -04:00
Eric Anholt
919f617d08 Replace symlink generation from i915 with files in intel/ and symlinks there. 2007-10-16 12:38:55 -07:00
Michel Dänzer
3feefeeb35 i915: Make sure extensions that require TTM actually work. 2007-10-16 15:48:46 +02:00
Dave Airlie
70eb456a76 i915: fixup TTM interfaces to follow drm changes 2007-10-16 22:11:43 +11:00
Michel Dänzer
9c4d104e98 i915: Re-enable __DRItexOffsetExtension.
This seems to have got lost somehow during the recent DRI interface changes.
2007-10-16 13:01:44 +02:00
Brian
cab0dce676 fix fog, rescale_normals bugs (from gallium branch) 2007-10-15 18:00:55 -06:00
Kristian Høgsberg
7a88ecbd1a Roll back premature version bump. 2007-10-15 12:16:45 -04:00
Kristian Høgsberg
a87e9a3479 Dont add fbconfigs to array that we didn't allocate for. 2007-10-15 10:59:06 -04:00
Andreas Micheler
157eeb5c3b faster write_rgba_span_front() 2007-10-15 08:26:45 -06:00
George Sapountzis
f33e1a4403 typo 2007-10-14 20:33:56 +03:00
George Sapountzis
fe20ac2a6b Add GL_CORE_WINDOWS define to glcore.h
This is for consistency with glproto. The GL_CORE defines should probably be
dropped.

----

Author: Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>
Date:   Mon Jun 21 13:35:05 2004 +0000

    Bug 782: Merge native OpenGL for Windows from CYGWIN branch
2007-10-14 20:11:00 +03:00
George Sapountzis
d7c137b0df Drop include "dri_interface.h" from xf86dri.h
Thanks to dri2, xf86dri no longer uses __DRI types.
2007-10-14 20:08:31 +03:00
Kristian Høgsberg
c095f7e46a Do XSync() before resetting error handler. 2007-10-13 18:46:01 -04:00
Kristian Høgsberg
d0b68b215d Uncomment GLX_SGIX_pbuffer definition. 2007-10-13 18:45:05 -04:00
Kristian Høgsberg
8b20411915 Get the width and height from the attrib list in glXCreatePbuffer. 2007-10-13 18:44:52 -04:00
Kristian Høgsberg
f9c6dfc4d1 Merge branch 'dri2'
Conflicts:

	src/mesa/drivers/dri/i915/intel_screen.c
2007-10-12 19:35:04 -04:00
Dave Airlie
bf805d3bf5 Merge branch 'master' into i915-superioctl 2007-10-12 11:02:46 +10:00
Dave Airlie
9e06cf00cf i915: only enable TTM path if drm minor is > 11 for superioctl 2007-10-12 11:01:27 +10:00
Dave Airlie
ea2278bc79 dri: remove ttm common code since superioctl is device specific 2007-10-12 10:59:38 +10:00
Dave Airlie
7fc5c0307a i915: fixup reloc header defines 2007-10-12 10:56:25 +10:00
Brian
72c888869f Example of cooperative rendering into one window by two processes 2007-10-11 18:25:12 -06:00
Brian
f1104b079f New glxsnoop demo to display another window's z/stencil/back buffer. 2007-10-11 16:39:02 -06:00
Kristian Høgsberg
a2494462cb Drop no longer implemented MESA allocate extension from i915. 2007-10-11 12:49:26 -04:00
Brian
f05c76ec1a remove unneeded cast 2007-10-11 10:33:31 -06:00
Kristian Høgsberg
ccff0cb263 Add a version field to __DRIextension. 2007-10-11 11:30:39 -04:00
Kristian Høgsberg
f29f0ae838 Move new texOffset extension to the new extension mechanism. 2007-10-11 11:28:38 -04:00
Kristian Høgsberg
ecdb45cb29 Convert a left-over private void * to __DRIcontext *. 2007-10-11 11:27:51 -04:00
Kristian Høgsberg
3eaec7dc5d Move enabling of DRI extensions into glxextensions.c 2007-10-11 11:26:47 -04:00
Kristian Høgsberg
594006d8b2 Remove now unused getProcAddress from DRIinterfaceMethods. 2007-10-11 11:25:37 -04:00
Kristian Høgsberg
f968f67e62 Add a DRI_ReadDrawable marker extension to signal read drawable capability. 2007-10-11 11:22:55 -04:00
Kristian Høgsberg
106a6f29bb Move media stream counter entry points to new extension. 2007-10-11 11:21:29 -04:00
Kristian Høgsberg
a7a0a2beb5 Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism. 2007-10-11 11:11:12 -04:00
Kristian Høgsberg
78a6aa57a0 Move GLX_MESA_allocate_memory related functions to new extension mechanism. 2007-10-11 11:09:57 -04:00
Kristian Høgsberg
efaf90b03e Move swap_interval to new extension mechanism. 2007-10-10 19:14:10 -04:00
Kristian Høgsberg
ac3e838fa7 Move the copySubBuffer extension over to the new mechanism. 2007-10-10 18:57:57 -04:00
Kristian Høgsberg
f616a263a2 Implement new screen extension API.
This new API lets the loader examine DRI level extensions provided by the
driver in a forward compatible manner.

Much of the churn in the DRI interface is adding support for new
extensions or removing old, unused extensions.  This new extension
mechanism lets the loader query the extensions provided by the driver
and implement the extensions it knows about.  Deprecating extensions
is done by not exporting that extension in the list, which doesn't
require keeping old function pointers around to preserve ABI.
2007-10-10 18:47:22 -04:00
Kristian Høgsberg
295dc2d225 Stop passing in unused fbconfigs to createNewScreen. 2007-10-10 18:46:51 -04:00
Kristian Høgsberg
64106d0d9a Pull createNewScreen entry point into dri_util.c.
This pulls the top level createNewScreen entry point out of the drivers
and rewrites __driUtilCreateNewScreen in dri_util.c to be the new entry point.

The change moves more logic into the common/ layer and changes the
createNewScreen entry point to only be defined in one place.
2007-10-10 18:36:14 -04:00
Kristian Høgsberg
efd03a278a Replace open-coded major, minor, and patch version fields with __DRIversionRec. 2007-10-10 18:20:08 -04:00
Kristian Høgsberg
5987a03f99 Convert all DRI entrypoints to take pointers to __DRI* types.
The entrypoints take a mix of __DRIscreen * and void * (screen private)
arguments (similarly for contexts and drawables).  This patch does away
with passing the private void pointer and always only passes the fully
typed __DRIscreen pointer and always as the first argument.

This makes the interface more consistent and increases type safety, and
catches a bug where we would pass a screen private to DRIdrawable::getSBC.
2007-10-10 18:00:18 -04:00
Kristian Høgsberg
aac367f48a Remove screenConfigs from __DRIscreen.
The screenConfigs field of __DRIscreen points back to the containing
__GLXscreenConfigs struct.  This is a serious abstraction violation; it
assumes that the loader is libGL and that there *is* a __GLXscreenConfigs
type in the loader.

Using the containerOf macro, we can get from the __DRIscreen pointer to
the containing __GLXscreenConfigs struct, at a place in the stack
where the above is a valid assumption.  Besides, the __DRI* structs shouldn't
hold state other than the private pointer.
2007-10-10 18:00:13 -04:00
Kristian Høgsberg
fa72013ada Drop mostly unused __DRIid typedef. 2007-10-10 17:09:48 -04:00
Kristian Høgsberg
9590ba97ad Avoid deadlock in GarbageCollectDRIDrawables.
__glXinitialize() can't be called with the GLX lock held.  Just
pass in the __GLXscreenConfigs pointer so we don't have to look it
up in __GLXdisplayPrivate.
2007-10-10 17:09:36 -04:00
Kristian Høgsberg
8ed5c7ca05 Drop createContext and destroyContext from DRIinterfaceMethods.
As for createDrawable and destroyDrawable, these functions immediately
upon entry to driCreateNewContext and immediately before exit from
driDestroyContext.  Instead of passing function pointers back and forth
just obtain the drm_context_t prior to calling DRIscreen::createNewContext
and pass it as a parameter.

This change also lets us keep the DRI context XID in the libGL loader only.
2007-10-10 17:09:16 -04:00
Kristian Høgsberg
4ff95e78e1 Drop createDrawable and destroyDrawable fron DRIinterfaceMethods.
All the DRI driver did was call the createDrawable callback immediately
upon entry to DRIscreen::createNewDrawable to get the drm_drawable_t.
We can just call that before calling into the DRI driver and pass the
returned drm_drawable_t as an argument to the DRI entry point.

Likewise for destroyDrawable.

Also, DRIdrawablePrivate::draw isn't used anywhere, and since the
driver no longer needs the XID of the drawable we can now drop that.
2007-10-10 17:07:26 -04:00
Kristian Høgsberg
b068af2f3b Key drm_i915_flip_t typedef off of the ioctl #define instead. 2007-10-10 17:07:01 -04:00
Kristian Høgsberg
aceccda56b Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.
Many DRI entry points took a __DRInativeDisplay pointer and a screen
index as arguments.  The only use for the native display pointer was to
pass it back to the loader when looking up the __DRIscreen for the given
screen index.

Instead, let's just pass in the __DRIscreen pointer directly, which
let's drop the __DRInativeDisplay type and the getScreen function.

The assumption is now that the loader will be able to retrieve context
from the __DRIscreen pointer when necessary.
2007-10-10 15:32:15 -04:00
Brian
03ff9c96bf replace 'brick' with correct program name in printfs 2007-10-10 10:56:48 -06:00
Mrc Gran
de3073d377 fix force_s3tc_enable option 2007-10-10 09:15:42 -06:00
Dan Nicholson
b182613f2f Ignore more generated files in progs/
Many of the directories in progs/ were missing .gitignore files or
were tracking generated files. This patch is basically the process of
running `make' in each directory and then finding the untracked files
with `git-ls-files -o --exclude-per-directory=.gitignore'. The existing
files were also sorted.
2007-10-10 08:44:58 -06:00
Brian
9509afe97c Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-10-09 12:36:56 -06:00
Zou Nan hai
de803f538c Non Square Matrix 2007-10-09 15:05:10 +08:00
Zou Nan hai
ae5aa1f906 fix for prev commit 2007-10-09 14:35:28 +08:00
Zou Nan hai
e2dff35f95 INT support 2007-10-09 14:26:01 +08:00
Zou Nan hai
82d4aa4055 shadow sampler fix.
1. spec requite result (0, 0, 0, 1) instead of (0, 0, 0, 0)
  2. support shadow sampler in simd8
2007-10-09 14:14:59 +08:00
Dave Airlie
8909f1131a i915: workout max relocs from batch buffer size 2007-10-09 14:36:04 +10:00
Dave Airlie
7e83c15fa0 i915: fixup up bufmgr to pass num buffers to kernel
remove unneeded entry points
2007-10-09 12:18:50 +10:00
Sergio Monteiro Basto
4599683b48 i915: Fix undefined ALIGN symbol from 77e0523fb7. 2007-10-08 11:09:38 -07:00
Zou Nan hai
ac985708f4 Only vertex program fix, bypass tnl vertex program 2007-10-08 15:34:03 +08:00
Jerome Glisse
32699696e3 r300: fragprog tex instruction now take writemask into acount. 2007-10-07 22:49:56 +02:00
Patrice Mandin
d85e8b088b nouveau: move nv10 clear command, for usage by other gpu 2007-10-06 02:30:24 +02:00
Dave Airlie
0ba57d02cd i915: drop complex list handling for now
If this proves a win later we can add it back but at the moment
I don't think it's required yet
2007-10-05 14:41:32 +10:00
Dave Airlie
4611b9398e i915: clean up lists on teardown
also fix a use of uninitialised pointer
2007-10-05 14:33:18 +10:00
Kristian Høgsberg
b42152061c Add macros to generate CreateNewScreen entrypoint. 2007-10-05 00:12:30 -04:00
Kristian Høgsberg
4a22ae8d44 Remove XIDs from DRI interface (see #5714). 2007-10-05 00:09:32 -04:00
Kristian Høgsberg
4ceefccbfa Pull in the drm hash. 2007-10-05 00:09:23 -04:00
Dave Airlie
4e1c76de0b i915: add copyrights to new files 2007-10-05 12:15:50 +10:00
Dave Airlie
8e21bb516f i915: increase batchbuffer back to 16k 2007-10-05 12:12:33 +10:00
Eric Anholt
77e0523fb7 [965] Replace various alignment code with a shared ALIGN() macro.
In the process, fix some alignment issues:
- Scratch space allocation was aligned into units of 1KB, while the allocation
  wanted units of bytes, so we never allocated enough space for scratch.
- GRF register count was programmed as ALIGN(val - 1, 16) / 16 instead of
  ALIGN(val, 16) / 16 - 1, which overcounted for val != 16n+1.
2007-10-04 12:28:49 -07:00
Eric Anholt
0fc9efd8f0 Replace bmBufferOffset usage in batchbuffer setup with OUT_RELOC.
This is in preparation for 965 TTM.
2007-10-04 12:28:49 -07:00
Eric Anholt
6bac9478c3 Replace duplicated intel_reg.h with a shared header. 2007-10-04 12:28:49 -07:00
Eric Anholt
1f7378ee46 Replace some structure-based batch preparation with plain OUT_BATCH.
OUT_BATCH is far more amenable to the upcoming relocations being done for TTM
support.
2007-10-04 12:28:48 -07:00
Eric Anholt
ffa94e5b1e FreeBSD: more /usr/X11R6->/usr/local 2007-10-04 12:28:48 -07:00
Maarten Maathuis
10cc229dc2 nouveau: Replace removed device classes with their proper labels. 2007-10-04 19:08:37 +02:00
Dave Airlie
c4a9a70888 i915: add superioctl support to the ttm codepaths.
gears now runs for about 10-15 seconds with some artifacts before falling
over.
2007-10-04 15:31:47 +10:00
Roland Scheidegger
db0f050582 minor fog calc cleanup 2007-10-03 22:20:44 +02:00
Jouk
b263435a98 Update of OpenVMS makefiles for the use of "new" include file convention 2007-10-03 15:21:40 +02:00
Michel Dänzer
58cdd1dc52 i915: Only align texture pitch to 64 bytes when textures can be render targets. 2007-10-03 11:25:59 +02:00
Michel Dänzer
1bc84102ad i915: Work around texture pitch related performance drops on i915 at least. 2007-10-03 11:06:48 +02:00
Dave Airlie
fa031c8914 i915: add superioctl initial support inside bufmgr ttm 2007-10-03 16:54:59 +10:00
Dave Airlie
4cd3ef58a9 i915/drmbuf: attempt to push relocations into buffer manager
This moves the relocations into the buffer manager in prepration for
a superioctl move.
2007-10-03 15:50:46 +10:00
Brian
2dbd905ab0 fix comment: s/branch/kill/ 2007-10-02 16:50:40 -06:00
Jouk
584b84256b Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-10-02 15:17:23 +02:00
Brian
de1d725f44 updated glext.h license info (Khronos), plus other clean-ups 2007-10-01 17:57:25 -06:00
Zou Nan hai
3d6c410990 fragment shader function call fix, gl_FragCoord fix 2007-09-30 13:47:05 +08:00
Brian
f8ee72d98f fix VBO-split infinite loop (bug 12164) 2007-09-29 12:01:34 -06:00
Chris Rankin
4f96000e29 r200: Implement SetTexOffset hook.
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-09-29 18:14:06 +02:00
Zou Nan hai
b0b48798c7 support continue, fix conditional 2007-09-29 15:00:52 +08:00
Dan Nicholson
2a3e33865d add support for LDFLAGS env var 2007-09-28 18:42:21 -06:00
Brian
e776e7a95a update the DRM/DRI instructions 2007-09-28 18:39:41 -06:00
Brian
6775c1e8cc Remove test for EXT_blend_logic_op in glGetString when determining GL version.
EXT_blend_logic_op is slightly different from GL 1.1's RGBA logicop mode
and does not have to be supported.  Per conversation with Roland.
2007-09-28 16:06:43 -06:00
Jesse Barnes
d99f6c4a2a Go back to using old drm_i915_flip_t field name
This field shouldn't have been renamed in the first place.  Go back to using
the old name so that the tree is backward and forward compatible again.
2007-09-28 10:11:52 -07:00
Zou Nan hai
e75ae0dc79 fix 2007-09-28 17:04:48 +08:00
Zou Nan hai
4087c90eff support nested function call in pixel shader 2007-09-28 16:37:01 +08:00
Eric Anholt
35331a511f [965] Add batchbuffer dumping under INTEL_DEBUG=bat, like 915. 2007-09-27 15:11:47 -07:00
Eric Anholt
b2c8b1385a FreeBSD: Chase /usr/X11R6 death (replaced by everything in one prefix). 2007-09-27 15:11:45 -07:00
Eric Anholt
e886ae4c58 Revert "WIP 965 conversion to dri_bufmgr."
This reverts commit b2f1aa2389.

Somehow I ended up with my branch's save-this-while-I-work-on-master commit
actually on master.
2007-09-27 15:11:39 -07:00
Eric Anholt
b2f1aa2389 WIP 965 conversion to dri_bufmgr. 2007-09-27 11:15:51 -07:00
Eric Anholt
38c30a8184 [965] Remove AUB file support.
This code existed to dump logs of hardware access to be replayed in simulation.
Since we have real hardware now, it's not really needed.
2007-09-27 10:16:08 -07:00
Brian
f2d9a07efe for Miniglx, use git sources 2007-09-27 10:39:01 -06:00
Brian
ed6d5ff6f8 Restore old _TriangleCaps code to fix Blender problem (bug 12164) 2007-09-27 10:39:01 -06:00
Brian
4f9d29cd4e tweak point rast to fix conform failure 2007-09-27 10:39:01 -06:00
Zou Nan hai
b1e549d176 handle INT op, still require high level handle of integer to be correct 2007-09-27 16:17:24 +08:00
Xiang, Haihao
3ee6a77e97 i965: handle all unfilled mode in clip stage. fix bug #12453 2007-09-27 16:14:57 +08:00
Xiang, Haihao
6254be9b71 mesa: make sure the gotten value isn't greater than the
max depth buffer value on 64bit system. fix bug #12095
2007-09-27 15:52:01 +08:00
Zou Nan hai
35a0634e35 fix issue when only fragment shader or vertex shader is used 2007-09-27 15:47:00 +08:00
Zou Nan hai
aa88d11e7d fix ppracer and bzflag issue with clip optimization 2007-09-27 13:49:35 +08:00
Dave Airlie
67f6449743 i915/i965 merge serer directories along lines for radeon/r200 2007-09-27 11:15:42 +10:00
Xiang, Haihao
175db68db5 i965: The cube map texture coordinates must be devided by the
component with the largest absolute value before they are
delivered. fix bug #12421
2007-09-26 16:42:50 +08:00
Zou Nan hai
395b3bf6f9 fix a bug in 965 ARB_occlusion_query,
fd.o bug #12132
2007-09-26 10:00:41 +08:00
Dave Airlie
f388d62b39 drm: update bufmgr code to reflect changes in drm interface 2007-09-25 16:22:00 +10:00
Roland Bär
919709af6b [i965] Bug #11812: Fix fwrite return value checks in AUB file code. 2007-09-24 13:47:26 -07:00
Eric Anholt
c8cb87d356 Remove leftover code for i915_texprog.c noticed in crossbar review. 2007-09-24 13:36:56 -07:00
Eric Anholt
56af8fd00f Fix progs/tests/ build with BSD make. 2007-09-24 10:26:56 -07:00
Eric Anholt
b74140db66 Update .gitignore for tests and xdemos. 2007-09-24 10:26:40 -07:00
Eric Anholt
9bb0d628b8 Just use stddef.h to get ptrdiff_t instead of obsolete malloc.h. 2007-09-24 10:22:31 -07:00
Eric Anholt
8cf9085bc7 Move i915tex driver into place as just i915. 2007-09-24 10:03:25 -07:00
Eric Anholt
8fba8d2018 Remove the old i915 driver now that i915tex works without TTM. 2007-09-24 09:56:40 -07:00
Zou Nan hai
439fa79578 fix fd.o bug #12217, recalcuate urb when clip plane size change 2007-09-24 16:48:55 +08:00
Brian
ef5935bc94 fix DrawRangeElements error msg 2007-09-23 13:58:18 -06:00
Eric Anholt
39c709c0f6 Merge branch 'i915-unification'
This branch replaces the DRM pool interface used by i915tex with a "dri_bufmgr"
interface in dri/common which may be set up to use either TTM or traditional
static memory management according to what is available.  The i915tex TTM
code now requires an updated DDX which provides proper buffer objects for the
static front/back/depth, instead of using fake buffers.  The driver is now
built as i915_dri.so, and should replace the old i915 driver shortly.
2007-09-21 17:13:20 -07:00
Eric Anholt
d0350dadaa Fix buffer/fence reference counting due to Destroy vs Unreference difference.
While here, remove the unnecessary fence type saving for the wait ioctl, as
a 0 argument for type means "use your other saved copy".
2007-09-21 16:18:21 -07:00
Brian
6016de689f fix -D_BSD_SOURC 2007-09-20 18:42:47 -06:00
Brian
a5467fbdd9 fixes for bluegene-xlc-osmesa config 2007-09-20 15:11:14 -06:00
Brian
58484dc00a Added bluegene-xlc-osmesa config (Alexander Neundorf) 2007-09-20 15:09:57 -06:00
Eric Anholt
c1ecc38320 Uniquely validate the batchbuffer-referenced buffers.
Otherwise, for multiple references by the batchbuffer, the kernel would see
the buffer already on the unfenced list and wait for it to leave the list
before continuing, leading to hanging and eventual -EBUSY.
2007-09-20 11:41:25 -07:00
Eric Anholt
7591259674 Add disabled-by-default tracing of TTM bufmgr operations. 2007-09-20 11:38:32 -07:00
Eric Anholt
b7fd06a871 Fix flipped sign to strerror. 2007-09-20 09:20:48 -07:00
Eric Anholt
4f1c9f7e51 Merge branch 'master' into i915-unification
Conflicts:

	src/mesa/drivers/dri/common/dri_drmpool.c
	src/mesa/drivers/dri/i915tex/i915_vtbl.c
	src/mesa/drivers/dri/i915tex/intel_batchbuffer.c
	src/mesa/drivers/dri/i915tex/intel_context.c
2007-09-20 09:04:20 -07:00
Xiang, Haihao
2c88bfeaa4 i965: fix an error in brw_vs_tnl.c
if the state of TEXMAT is changed, the VS isn't updated.
2007-09-20 17:42:13 +08:00
Xiang, Haihao
8fc1a6808d fix memory access error in vbo_bind_vertex_list 2007-09-20 17:37:04 +08:00
Dave Airlie
6f2ca13f90 nouveau: add GeForce 7300 SE to card list 2007-09-20 13:36:31 +10:00
Matthieu Castet
0759e0999b nouveau : nv1x use OUT_RING_CACHE_FORCE for NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX as strange results
appear when the matrix is partialy updated.
2007-09-19 23:22:39 +02:00
Matthieu Castet
3b582dff8c nouveau : add OUT_RING_CACHE_FORCE* to add stuff in the cache even if the value didn't change 2007-09-19 23:20:13 +02:00
Matthieu Castet
1310f02dee nouveau : add GL_FOG_COLOR + fix a compil error 2007-09-19 19:58:48 +02:00
Eric Anholt
45899a494c Update .gitignore for demos. 2007-09-19 10:51:07 -07:00
Eric Anholt
eecec25478 Add missing -g in FreeBSD OPT_CFLAGS 2007-09-19 10:51:07 -07:00
Eric Anholt
b91791a85c Replace i915tex batchbuffer printout with a pretty-printed version. 2007-09-19 10:51:07 -07:00
Eric Anholt
f843dcb844 Enable building the debug (env INTEL_DEBUG=list) code by default. 2007-09-19 10:50:19 -07:00
Eric Anholt
9070e6b997 i915: Quiet valgrind by initializing the seq value the kernel writes into.
Also, add a couple of comments to the wait/emit IRQ functions.
2007-09-19 10:50:19 -07:00
Patrice Mandin
3800599bd4 nouveau: nv10: color logic op only for nv11+ 2007-09-19 19:08:56 +02:00
Eric Anholt
e3745dac59 Add some error reporting and a couple of assertions to TTM bufmgr. 2007-09-18 15:46:16 -07:00
Zou Nan hai
ec9e7bc753 ARB_shader_object ARB_vertex_shader ARB_fragment_shader in 965-glsl branch 2007-09-18 12:59:50 +08:00
Zou Nan hai
25bda451bb fix double free in 965-glsl branch 2007-09-18 11:32:25 +08:00
Xiang, Haihao
e21d2c6ef3 mesa: Always use the original mask to update stencil buffer
in stencil_and_ztest_pixels. fix #12263
2007-09-18 09:32:44 +08:00
Matthieu Castet
c29886718a nouveau : avoid vertex_size / 4 for each vertex ops 2007-09-16 23:33:10 +02:00
Matthieu Castet
7cc4d31ed9 nouveau : use GLfloat instead of uint32_t. After all, our vertex attributes are float. 2007-09-16 23:19:22 +02:00
Matthieu Castet
7356dac1b6 nouveau : implement nv10_render_points 2007-09-16 23:01:56 +02:00
Matthieu Castet
2616b20689 nouveau : fix nv10_render functions
use _tnl_RenderClipped helper functions that will call the right driver callback
clean nv10_render_generic_primitive_elts to match nv10_render style
2007-09-16 19:37:27 +02:00
Matthieu Castet
e605f2828f nouveau : opps I introduce a bug when cleaning vertex pos attribute swap patch 2007-09-16 18:57:03 +02:00
Matthieu Castet
3d17cdf55a revert a956184f70 2007-09-16 16:15:13 +02:00
Matthieu Castet
d42d5fdba0 nouveau : nv1x pos vertex attribute need to be the first in mesa.
Swap it latter in order it match hw format.
2007-09-16 16:13:55 +02:00
Matthieu Castet
8d9d990cb2 nouveau : use new nouveau_reg.h with correct Bracket in macro 2007-09-15 00:25:09 +02:00
Matthieu Castet
5e78356259 nouveau : check for nmesa->state_cache.atoms overflow 2007-09-14 22:13:52 +02:00
Matthieu Castet
63147344e4 nouveau : fix NV10_TCL_PRIMITIVE_3D_CLIP_PLANE 2007-09-14 22:07:34 +02:00
Brian
bb4a9b2dce added copypix.c test (test glCopyPixels w/ pixel zoom) 2007-09-14 09:59:08 -06:00
Brian
032707eeca fix copypixels overlap test bug (#12417) 2007-09-14 09:59:08 -06:00
Xiang, Haihao
e04c58e068 mesa: bind VBO_ATTRIB_XXX to correct input array when
executing a display list. fix #10604
2007-09-14 16:26:56 +08:00
Xiang, Haihao
ea07a0df9a i965: align the address of the first element within
the index buffer. (fix#11910)
2007-09-14 11:10:23 +08:00
Brian
75a0f7f4a7 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-09-13 14:45:22 -06:00
Brian
d3c77cebff updated vrml link 2007-09-13 14:44:27 -06:00
Brian
885a95f4fa Fix timer problem when using Fortran bindings (submitted by Bill Mitchell)
Also, add some comments about what's going on.
2007-09-13 14:42:23 -06:00
Matthieu Castet
3a2559a1e9 nouveau : diable broken light enable on nv10 2007-09-13 22:13:39 +02:00
Brian
ab31a3a764 added program_error2() function for better error reporting 2007-09-13 11:41:49 -06:00
Brian
d799b7a7ec Fix state.texgen parsing error (bug 12313).
Replace *(*inst++) with *(*inst)++ in a few places.
2007-09-13 11:29:00 -06:00
Brian
f3419d5ead added .pc.in files to tarballs 2007-09-13 09:27:10 -06:00
Brian
20b331c2f6 added null ptr check 2007-09-13 09:26:27 -06:00
Jonathan Bestien-Filiatrault
5fdeb52e5d check return value of invert_matrix() 2007-09-12 16:21:13 -06:00
Brian
ae0dd620fe Add glut_fcb.c to the build and update to fix warnings (see bug 12405) 2007-09-12 13:40:15 -06:00
Brian
642267b2d8 Rename. "fcb" = fortran call back 2007-09-12 13:37:10 -06:00
Jesse Barnes
ba5290e836 Remove unused plane->pipe mapping fields from SAREA private. 2007-09-12 09:34:38 -07:00
Brian
5bba58ca22 updated with pkg-config info 2007-09-12 10:11:49 -06:00
Dan Nicholson
94617bc6d5 pkg-config support 2007-09-12 10:03:05 -06:00
Dan Nicholson
f5557c3a52 DESTDIR support. 2007-09-12 09:57:53 -06:00
Xiang, Haihao
a0a5e8cfc0 i965: translate shadow compare function into correct
internal function to match the EXT_shadow_funs
spec. fix bug#11925
2007-09-12 16:51:45 +08:00
Xiang, Haihao
ae078e1a0a i965: revert commit 1a15b2169b,
and keep the instruction state unchanged after calling
brw_emit_tri_setup/brw_emit_line_setup when building setup
thread for SF_UNFILLED_TRIS.
2007-09-12 15:13:06 +08:00
root
9944174abc prefix some include filenames with shader/ 2007-09-11 15:24:43 -06:00
Brian
acfeb3b6ea Fix-up #includes to remove some -I options.
eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
2007-09-11 11:04:15 -06:00
Brian
a614877592 In _mesa_make_current(), don't unbind FBOs from the old context.
This fixes the X server crash reported by KeithP on Aug 29.
The old context's FBOs will be unreferenced during context destruction so
there's no memleak with this change.
2007-09-11 10:59:59 -06:00
Brian
995e01a6bc Update depth test state when binding new framebuffer object 2007-09-11 09:23:13 -06:00
Brian
0c43ab6fbc fix comment 2007-09-11 09:23:13 -06:00
Jesse Barnes
7f6decf3e4 Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2007-09-11 03:55:40 -07:00
Jesse Barnes
78b7e49c84 intel: disentangle planes & pipes
This is the Mesa portion of the pipe & plane disambiguation.  Mesa needs to use
the new assumptions about plane vs. pipe mappings and should use the new SAREA
field names to avoid confusion.
2007-09-11 03:54:34 -07:00
Xiang, Haihao
0aedb9a204 i965: take the secondary color into account when drawing
bitmap. fix#10688
2007-09-11 16:57:07 +08:00
Xiang, Haihao
241b7bc0a3 i965: limit on LOD Bias, fix#11987 2007-09-11 16:49:02 +08:00
Brian
24cd84162e clean-up (see bug 12317) 2007-09-10 08:37:09 -06:00
Patrice Mandin
249ca55555 nouveau: nv10: check NULL pointers 2007-09-06 22:36:12 +02:00
Patrice Mandin
15a6bf9118 nouveau: init depth range 2007-09-06 22:33:22 +02:00
Patrice Mandin
7307ff80c9 nouveau: nv10: replace macros by loop to set vertex attributes 2007-09-06 20:00:25 +02:00
Patrice Mandin
8f9b9ac387 nouveau: need parenthesis around macro params, generator should be fixed 2007-09-06 19:58:59 +02:00
Patrice Mandin
a956184f70 Disable an assert for hw that do not emit POS as first vertex attrib, like nv1x 2007-09-06 19:12:58 +02:00
Patrice Mandin
db9f97e2ae nouveau: nv10: emit vertex data in proper order for nv1x hw 2007-09-05 23:37:18 +02:00
Brian
9ceff4ac4c updated bug report guidelines 2007-09-05 10:04:37 -06:00
Christoph Kubisch
8822069e71 updated VC7 project files 2007-09-05 10:04:37 -06:00
Xiang, Haihao
1a15b2169b i965: only take non-varying attribute into account when
compiling sf_prog. fix bug#11378 (which is introduced by
commit d619cceea4)
2007-09-05 13:31:01 +08:00
Stephane Marchesin
8752a20dec nouveau: who needs nv03 ? 2007-09-04 23:21:21 +02:00
Patrice Mandin
ece08b7fd9 nouveau: nv10: need to transpose mesa model+proj matrix for hw 2007-09-04 19:17:06 +02:00
Brian
c2e1ee08b0 Use temporary matrix in __gluInvertMatrixd() to fix aliasing problem (see bugs 12269, 6748) 2007-09-03 16:22:14 -06:00
Patrice Mandin
2f8ff58c0e nouveau: nv10: forgot function to set modelview matrix 2007-09-03 23:42:33 +02:00
Patrice Mandin
c45bb05b3c nouveau: separate modelview and projection matrix updates 2007-09-03 23:10:55 +02:00
Xiang, Haihao
cb7da3f096 i965: Correct build_lighting in i965 driver according to
commit 6dd98e9853.
2007-09-01 15:43:15 +08:00
Brian
6dd98e9853 Fix problem introduced in previous commit in which a state variable (uniform) is written to. (see bug 12239)
Also, added some assertions to the emit_arg() and emit_dst() functions to
catch this kind of error in the future.
2007-08-31 16:42:05 -06:00
Patrice Mandin
47768ce0e5 nouveau: nv10: remove setting projection matrix when scaling viewport 2007-08-31 19:46:39 +02:00
Patrice Mandin
b0a1e81887 nouveau: add hw-dependent function to update modelview*projection matrix 2007-08-31 19:46:39 +02:00
Xiang, Haihao
214347fdb4 i965: Calculate the positional light in homogeneous coordinates.
fix bug#11009
2007-08-31 16:50:48 +08:00
Zou Nan hai
b47c9f8c91 optimize 965 clip
1. increase clip thread number to 2
  2. do cliptest for -rhw
2007-08-31 13:42:20 +08:00
Xiang, Haihao
22bc3cdd49 i965: Take the upper limitation on LOD into account. 2007-08-31 12:51:36 +08:00
David Moore
1dd94a63ac Bug #10571: Fix 965 line clipping when neither vertex needs clipping. 2007-08-30 14:45:56 -07:00
Roland Scheidegger
74e1d0996d fix another occurence of movaps which might not be aligned 2007-08-30 18:04:49 +02:00
Brian
3b7df51eb5 s/movaps/movups/ (see bug 12216) 2007-08-30 08:41:38 -06:00
Xiang, Haihao
bad6e175cf i965: store read drawable info in intel_context. Some OpenGL
operations are based on read drawable. fix bug#10136.
2007-08-29 15:11:10 -04:00
Xiang, Haihao
f6a89e1884 i965: check NULL pointer. fix bug#12193 2007-08-29 13:03:34 -04:00
Xiang, Haihao
410d8f7cdb i965: samplers group in fours in WM_STATE. fix bug#9415 2007-08-29 10:13:10 -04:00
Keith Packard
500193dca8 Add register defines for hw binning 2007-08-28 12:27:51 -07:00
Xiang, Haihao
c235cc71a2 i965: flush batch buffer when getting the maximum. This makes
some 3D programs such as pymol work well.
2007-08-28 11:35:52 -04:00
Brian
3a484cd794 added --noclear option to demonstrate rendering without glClear 2007-08-27 12:00:19 -06:00
Colin McDonald
d62be3d4ca fixed problem with big glDrawArrays (see bug 12141) 2007-08-27 10:47:32 -06:00
Brian
f0a036bad9 new __gluInvertMatrix() function (Mesa bug 6748) 2007-08-27 10:36:11 -06:00
Patrice Mandin
c28ea5573d nouveau: nv10: set total stride of vertex array for POS attribute 2007-08-27 11:45:30 +02:00
Patrice Mandin
24967c8646 nouveau: nv10: also set modelview0 matrix to identity 2007-08-25 17:46:53 +02:00
Patrice Mandin
40ecc4a359 nouveau: nv10: add a scissor func, do not cache viewport settings 2007-08-25 12:36:03 +02:00
Patrice Mandin
1a911aad0a nouveau: nv10: properly set viewport and projection 2007-08-25 11:39:04 +02:00
Brian
f8e4cf716a remove CallDepth++/-- accidentally removed in prev commit 2007-08-24 08:45:37 +01:00
Adam Jackson
1f8616e622 Unbreak Linux builds with -fvisibility=hidden. 2007-08-23 18:38:02 -04:00
Brian
4b654d41da For _mesa_share_state(), update the context's references to the new share group's objects (Shane Blackett) 2007-08-23 08:53:43 +01:00
Brian
dbef6158c6 remove unneeded CallStack array 2007-08-23 08:19:31 +01:00
Patrice Mandin
a3750c989b nouveau: nv10: set projection matrix from viewport size 2007-08-22 11:01:59 +02:00
Patrice Mandin
24746d0e32 nouveau: nv10: initialize more of nv10 tcl engine 2007-08-22 10:28:13 +02:00
Patrice Mandin
3d508a5d7b nouveau: nv10: Move some initialization stuff 2007-08-21 16:55:42 +02:00
Patrice Mandin
a6d35694c4 nouveau: Use proper notifier object 2007-08-21 16:53:13 +02:00
Patrice Mandin
c6e729377c nouveau: nv10: Remove commented, unsupported by hw command 2007-08-21 16:52:10 +02:00
Patrice Mandin
07b7e97fb4 Use correct object for GART 2007-08-20 19:36:52 +02:00
Brian
d8c6719f95 refactor bounds checking code 2007-08-20 13:12:20 +01:00
Brian
a3c3bc9ece don't map buffer in _mesa_validate_DrawElements() unless needed 2007-08-20 12:56:34 +01:00
Patrice Mandin
ef71a0fd45 nouveau: nv10: only one color buffer atm 2007-08-19 20:12:26 +02:00
Brian
53cf87be1b some fixes for compressed cube maps (bug 11986) 2007-08-18 16:25:16 +01:00
Brian
95e84a09ce remove dead code left over after fixing GL_READ/DRAW_BUFFER state issues 2007-08-18 16:11:31 +01:00
Xiang, Haihao
dcfdb63b9f Brian's fix for bug9829 2007-08-17 13:36:13 -04:00
Xiang, Haihao
00b86ecf6f i965: align width/height for volume texture 2007-08-17 12:42:52 -04:00
Eric Anholt
3e168a0ec8 Convert TTM code to require the server provide buffers for front/back/depth.
This removes the use of fake buffers from the driver, such that it could
probably be removed from the interface.  It also should assist in proper
synchronization of access.
2007-08-16 14:38:33 -07:00
Eric Anholt
b6ad5e7de8 Move i915_disasm to later so we can use the hardware offset. 2007-08-16 14:37:26 -07:00
Eric Anholt
64297acf9e Fix bad printf on TTM fence_wait failure. 2007-08-16 14:35:06 -07:00
Eric Anholt
2b77a8696b Don't forget to update buffer offset after validation. 2007-08-16 14:34:24 -07:00
Eric Anholt
327e655119 Add decode for XY_COLOR_BLT and XY_SRC_COPY_BLT. 2007-08-16 14:28:12 -07:00
Patrice Mandin
b902a223c4 nouveau: nv10: clear a buffer 2007-08-16 21:50:34 +02:00
Patrice Mandin
a60695ebaf nouveau: nv10: add function to clear a buffer 2007-08-16 21:31:30 +02:00
Patrice Mandin
fe78980580 nouveau: store render buffer pointers in context, to access them when clearing buffer 2007-08-16 21:28:40 +02:00
Patrice Mandin
f5ed049655 nouveau: nv10: create objects needed to clear buffer 2007-08-16 20:53:29 +02:00
Brian
32d86eb28a Rework the GL_READ_BUFFER, GL_DRAW_BUFFER state repairs that Roland previously did.
Basically, in update_framebuffer() (which should be called after an FBO is bound
with MakeCurrent or BindFramebuffer) we check if the FBO is a window-system FBO.
If it is, update the FBO's GL_READ/DRAW_BUFFER state according to the context state.
Old code still in place but disabled with #if 0 / #endif.
2007-08-16 18:52:48 +01:00
Brian
c033ccc36d update comments, etc related to Read/DrawBuffer state 2007-08-16 16:49:35 +01:00
Brian
c5a5d12743 remove reference to ctx->Color.DrawBuffer 2007-08-16 16:43:31 +01:00
Brian
09867b53a9 replace Proxy1D/2D/etc fields with ProxyTex[] array 2007-08-16 11:06:39 +01:00
Brian
fe46900703 Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.
Simplification in colortab.c too.
2007-08-16 11:06:13 +01:00
Brian
0135ff512d replace separate 1D/2D/etc fields with an array indexed by texture target 2007-08-16 10:28:23 +01:00
Brian
b3e3e72e25 remove old Saved1D/2D/etc fields 2007-08-16 10:27:24 +01:00
Brian
145d762044 Bring over the texobj refcounting changes from mesa_7_0_branch 2007-08-16 10:05:00 +01:00
Michel Dänzer
2193c4de83 i915tex: Unreference texture buffers on context destruction.
Not doing this could cause the buffers to leak under some circumstances.
2007-08-16 08:46:55 +02:00
Roland Scheidegger
a6d4dddb38 suppress warning about ncon visuals (bug #6689) 2007-08-16 02:41:03 +02:00
Xiang, Haihao
ab99960858 i965: use BRW_TEXCOORDMODE_CLAMP instead of BRW_TEXCOORDMODE_CLAMP_BORDER
to implement GL_CLAMP
2007-08-15 13:28:00 +08:00
Ben Skeggs
c2ac825e67 nouveau: Use half the notifier block for query objects. 2007-08-15 14:31:26 +10:00
Ben Skeggs
ecfa3e4d0a nouveau: Keep drm channel alloc struct around. 2007-08-15 14:31:26 +10:00
Ben Skeggs
3cc4e9815d nouveau: reindent nouveau_span.c 2007-08-15 14:31:26 +10:00
Ben Skeggs
fcbd06d201 nouveau: Remove ALLOW_MULTI_SUBCHANNEL hack
Irrelevant, since we depend on working context switching now.
2007-08-15 14:31:25 +10:00
Ben Skeggs
fef3dcbee6 nouveau: Always render offscreen, emulate front buffer rendering. 2007-08-15 14:31:25 +10:00
Ben Skeggs
b7c93de6d7 nouveau: Split nouveau_buffers into nouveau_mem and nouveau_fbo 2007-08-15 14:31:25 +10:00
Ben Skeggs
40e8ce700b nouveau: reindent nouveau_buffers.h 2007-08-15 14:31:25 +10:00
Ben Skeggs
386a70eeb5 nouveau: reindent nouveau_buffers.c 2007-08-15 14:31:25 +10:00
Ben Skeggs
553f5759a6 nouveau: Lets only do private buffers. 2007-08-15 14:31:25 +10:00
Brian
dc73217294 Fix a few more problems with freeing FBOs/textures during context destruction.
Free FBOs before textures since the later may be referenced by the former.
Need to bind the context we're destroying if there isn't a current context
so that ctx->DeleteTexture() etc can be used.
2007-08-14 11:58:37 +01:00
Xiang, Haihao
5dab3bf4bc xdemo case: Wei Wang's patch for bug#9759 2007-08-14 11:39:23 +08:00
Brian
393a625538 free any render/framebuffers left in hash tables when freeing shared state 2007-08-13 17:39:29 +01:00
Michel Dänzer
b7a9222dc7 i915tex: Make sure pitch is aligned properly for render-to-texture.
Just always align texture pitch to multiples of 64 bytes for now, pending a
more sophisticated scheme to do it only when really necessary.
2007-08-13 17:58:45 +02:00
Brian
9e01b915f1 Implement mutex/locking around texture object reference counting.
Use new _mesa_reference_texobj() function for referencing/unreferencing
textures.  Add new assertions/tests to try to detect invalid usage of
deleted textures.
2007-08-13 11:29:46 +01:00
Brian
6f47250888 added some missing Default1D/2DArray texture code 2007-08-13 11:10:32 +01:00
Xiang, Haihao
88451b04e9 i965: fix projtex_mask
projtex_mask is only an 8bit field, and wm.input_size_masks includes
other attributes' information, therefore right shift is needed.
2007-08-13 17:16:27 +08:00
Xiang, Haihao
c9e4aa2b30 i915: satisfy certain alignment restrictions for small
compressed texture
2007-08-13 11:43:37 +08:00
Dan Torop
21b37b9687 fix spantmp2 READ_RGBA inline asm (#11931) 2007-08-12 13:41:13 +02:00
Keith Whitwell
6ea55d3525 Make it easier to compare against the pipe driver debug code. 2007-08-11 13:48:19 +01:00
Keith Whitwell
c60113cd41 Improve debugging further.
Pull apart some key packets into individual fields and print sanely.
2007-08-11 13:40:22 +01:00
Keith Whitwell
4a789e408d Better debugging 2007-08-11 09:55:10 +01:00
Xiang, Haihao
db928291dc i965: roland's DXTn format texture patch(bug10347) 2007-08-10 16:37:30 +08:00
Xiang, Haihao
8ea66fa2ec i965/i915tex: applying right alignment to compressed texture,
which make small textures(4x4,2x2,1x1) work well.
2007-08-10 16:23:14 +08:00
Xiang, Haihao
2cafd749b8 i965: set mt->cpp differently with compressed texture 2007-08-10 15:14:12 +08:00
Brian
48c37a29fa fix byte swap bug for GLint stencil indexes (bug 11909) 2007-08-09 08:49:05 +01:00
Carlos Martín Nieto
6a78221a10 nouveau: Missing notifier -> notifierobj migration
I missed this in the original migration.
2007-08-08 14:49:37 +02:00
Brian
3973d1ad33 move free() after dereference (bug 11878) 2007-08-07 22:06:08 +01:00
Brian
e45b40381c parse standard -geometry option 2007-08-07 22:02:27 +01:00
Brian
90cc31f31b fix potential NULL dereference (bug 11879) 2007-08-07 21:57:29 +01:00
Brian
1223b75e63 remove SHELL line, replace -e test with new logic (Daniel Stone) 2007-08-07 21:51:46 +01:00
Brian
237b985356 fix potential NULL dereference (bug 11880) 2007-08-07 21:48:31 +01:00
Brian
872d179141 fix swizzle error test (bug 11881) 2007-08-07 21:42:34 +01:00
Ingo Molnar
4a8ad16ec0 glxgears: Add an x/y window size parameter. 2007-08-07 09:57:02 +02:00
Brian
0ed3ff5011 fix even-sized point positioning (bug 11874) 2007-08-07 08:17:02 +01:00
Xiang, Haihao
d05b721543 fix vbo_split_copy related bug 9962 2007-08-07 08:21:28 +08:00
Carlos Martín Nieto
75a88e9082 nouveau: update to DRM API patchlevel 10
Finally let DRI build for nouveau.
2007-08-07 01:00:29 +02:00
Brian
23f71f2ea5 add OSMESA_LIB_NAME 2007-08-03 10:08:39 -06:00
Brian
002942913d added -lm 2007-08-03 07:24:11 -06:00
Brian
792b882cf6 fix missing backslash 2007-08-02 20:26:49 -06:00
Eric Anholt
101563a838 Don't try to use kernel BO flags in dri_bufmgr_fake internals. 2007-08-02 15:55:42 -07:00
Brian
2d72da5692 added bluegene-osmesa 2007-08-02 14:22:13 -06:00
Brian
2457f4cf67 OSmesa on BlueGene (Alexander Neundorf) 2007-08-02 14:22:02 -06:00
Brian
2c3cb693cc fix stencil value masking bug 11805, and fix sizeof() bug 2007-08-02 09:08:29 -06:00
Brian
e2556b7487 remove unnecessary null check (bug 11814) 2007-08-02 08:44:34 -06:00
Brian
85421351e6 fix invalid pointer usage in bezierPatchDeleteList(), bug 11807 2007-08-02 08:40:29 -06:00
Brian
89cad79b41 fix double free()s (bug 11808) 2007-08-02 08:38:01 -06:00
Brian
6e6a02261a s/MAX_TEXTURE_LEVELS/SIS_MAX_TEXTURE_LEVELS/ and add assertion (bug 11806) 2007-08-02 08:35:13 -06:00
Brian
6dae3f8c88 move code to prevent NULL ptr dereference (bug 11810) 2007-08-02 08:31:44 -06:00
Brian
c3e6bfc9e2 Remove some code that was never hit (bug 11811).
Also added an assertion to check that NR_MAT_ATTRIBS == MAT_ATTRIB_MAX.
In the unlikely event this ever changes, maybe restore the code.
2007-08-02 08:29:55 -06:00
Keith Whitwell
46ac453196 Fix typo in logic for unalias2() 2007-08-02 11:39:19 +01:00
Zou Nan hai
505453a04e fix fd.o bug #11804
glPolygonMode with point sprite on i965
2007-08-02 15:27:13 +08:00
Zou Nan hai
246d1d2522 Fix previous commit 2007-08-02 14:35:59 +08:00
Zou Nan hai
6bf81a5edf EXT_texture_sRGB support on i965 2007-08-02 14:26:12 +08:00
Brian
394e7575a3 fix error code test limit (bug 11795) 2007-08-01 11:27:29 -06:00
Brian
261eac3c79 triangle rasterization with frag shader 2007-08-01 11:13:25 -06:00
Brian
15b7c9d5ba added trirast program 2007-08-01 11:12:51 -06:00
Brian
f761c99d25 fix mem leak (bug 11793) 2007-08-01 08:43:58 -06:00
Brian
e9fbf69aea fix mem leak (bug 11791) 2007-08-01 08:43:58 -06:00
Zou Nan hai
a6dad044e2 fix fd.o bug #11788, max point size 2007-08-01 11:08:05 +08:00
Brian
6fae66715b fix some FreeBSD issues 2007-07-31 14:57:37 -06:00
Eric Anholt
9c61925da0 bufmgr_fake: eliminate the referenced list, which is now just on_hardware. 2007-07-31 09:24:06 -07:00
Eric Anholt
5e2acfee78 Don't initialize extensions we can't support when !ttm. 2007-07-31 09:24:04 -07:00
Eric Anholt
05fe75e619 Add missing -g in FreeBSD OPT_CFLAGS 2007-07-31 09:24:01 -07:00
Brian
8410b3f8f9 fix failure caused by undeclared variable (bug 11783) 2007-07-31 09:43:57 -06:00
Brian
2c0b3d8c4b added sunos5-v9-cc-g++ config 2007-07-31 09:32:28 -06:00
Brian
59b1233e70 glGetAttribLocation always returned 1 (bug 11774) 2007-07-31 09:32:28 -06:00
Xiang, Haihao
e66757c8ba i965: fix bad casts in do_blit_bitmap to support WindowPos correctly 2007-07-31 22:40:42 +08:00
Xiang, Haihao
69337ed098 i965: Use I16_UNORM instead of L16_UNORM (bug 11742) 2007-07-31 09:10:31 +08:00
Xiang, Haihao
982dcb74fd Fix an error in _save_OBE_DrawElements
In the case that a buffer object is bound to
ELEMENT_ARRARY_BUFFER, it is invalid to directly
dereference indices passed to glDrawElements.
2007-07-31 00:11:22 +08:00
Xiang, Haihao
2394d20daf Fix an error in _mesa_validate_DrawElements
The field 'Data' in an obj is NULL in some dri drivers(such
as i965). Use mapped pointer instead.
2007-07-30 23:50:52 +08:00
Brian
58f9f96c68 New sunos5-v9-cc-gcc config (Roland Egger) 2007-07-30 09:01:02 -06:00
Brian
5c6f1f542b misc comments, clean-ups 2007-07-30 08:52:57 -06:00
Brian
baac66cb05 remove old comment, minor formatting fixes 2007-07-30 08:13:40 -06:00
Xiang, Haihao
501b5305b9 handle LSB_FIRST in _mesa_pack_bitmap by the way used in
_mesa_unpack_bitmap
2007-07-30 16:30:32 +08:00
Xiang, Haihao
775ebb696d Fix an error related to glPolygonStipple.
As glPixelStore(GL_UNPACK) affect the bits into a stipple pattern,
hence 128 bytes used to store the pattern in a display list aren't
enough sometimes.
2007-07-30 16:17:40 +08:00
Zou Nan hai
60179434d1 ARB sprite point support on i965 2007-07-30 10:18:11 +08:00
Brian
e5213be78e added a few more functions 2007-07-29 18:28:46 -06:00
Jan Dvorak
eefb04a2b8 fix glPointParameteriv bug 11754 2007-07-29 18:26:22 -06:00
Brian
aa71b8869b Added shader points and shader bitmap demos 2007-07-29 18:04:23 -06:00
Roland Scheidegger
ab02552cdd fix cos/sin range reduction for i915 driver too 2007-07-29 19:44:55 +02:00
Roland Scheidegger
dde814776c fix range reduction for sin/cos in i915tex (#11609) 2007-07-29 19:43:37 +02:00
Roland Scheidegger
10f5a6ac85 fix fallback crashes when driver can't handle frag prog for i915 driver too (untested) 2007-07-29 18:31:36 +02:00
Roland Scheidegger
a188ba4bf9 Fix crashes when the frag prog can't be handled in hardware (#11131)
Must not change to/from swrast after Render.Start or bad things will happen.
(Driver will still somewhat incorrectly report an implementation error,
and apps can't really figure out if a prog is natively supported as validation
is later - could try doing it earlier to give some hint at least, even though
native status may still change later due to fog etc.)
2007-07-29 18:09:35 +02:00
Zhang
35f35294cd more Mingw32 fixes 2007-07-27 11:19:35 -06:00
Brian
0fb0d9715c fix-up inlined/non-inlined function inconsistencies 2007-07-26 16:42:05 -06:00
Brian
e3cef58875 Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion. 2007-07-26 15:32:02 -06:00
Brian
9ed040c3c9 generate error upon writing to varying var in fragment program (bug 11733) 2007-07-26 11:39:11 -06:00
Brian
daaee90a26 clamp float colors 2007-07-26 08:22:47 -06:00
Brian
51b728cf9a fix color interpolation for CHAN_BITS==32 2007-07-26 08:22:28 -06:00
Brian
efda5cb626 don't use rgba_line() if CHAN_BITS==32 2007-07-26 08:22:09 -06:00
Eric Anholt
9a4cc2e905 Add notes about bufmgr initialization failures. 2007-07-25 10:12:23 -07:00
Jouk
eb9a5b6d51 Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-07-25 10:16:11 +02:00
Brian
03ec41ddc5 remove unused MAX_3D_TEXTURE_SIZE, reformattting 2007-07-24 17:45:14 -06:00
Brian
5b6858c023 call ctx->Driver.NewProgram() instead of _mesa_new_program() 2007-07-24 09:56:44 -06:00
Brian
ffc633c469 fix logic error, typos 2007-07-24 09:19:22 -06:00
Zou Nan hai
c702a7100e DDX DDY support, not very accurate 2007-07-24 11:09:34 +08:00
Brian
da2f1e88bc fix GLX_STEREO handling (bug 11705) 2007-07-23 16:51:57 -06:00
Zhang
76fb808910 Fix a number of MINGW32 issues 2007-07-21 11:28:06 -06:00
Brian
af2aa8e9cf Remove ctx->Point._Size and ctx->Line._Width.
The clamping for these values depends on whether we're drawing AA or non-AA
points, lines.  Defer clamping until drawing time.  Drivers could compute and
keep clamped AA and clamped non-AA values if desired.
2007-07-21 10:06:41 -06:00
Brian
5842bc3bf9 remove VC6/VC7 project files until updated 2007-07-21 10:06:40 -06:00
Roland Scheidegger
82fceba231 fix bogus recently introduced function param comments 2007-07-20 11:47:06 +02:00
Roland Scheidegger
a1bc0d0f51 fix mesa's handling of fbo's / window fb (again)
Make sure the relevant fields in window fbs get updated at appropriate time
(those are NOT the same as fbos!!!), and fix up related code accordingly.
This is a bit ugly, but there's a reason the issues section in EXT_fbo is
a couple hundred pages long...
Hopefully correct now.
2007-07-19 17:59:59 +02:00
Roland Scheidegger
6075df53b5 more fixes for mesa's fbo handling (fixes tests/fbotest1/2) 2007-07-19 17:59:31 +02:00
Roland Scheidegger
f9ac01eac5 fix up mesa's probably bogus framebuffer updates with different read/write fbs
Conflicts:

	src/mesa/main/framebuffer.c
2007-07-19 17:58:21 +02:00
Roland Scheidegger
dbfb375805 fix mesa fb binding
Make sure that we bind the right buffer (draw or read) when rebinding
the window framebuffer (the api doesn't allow binding different draw and
read buffers at the same time, but the default window framebuffer is basically
2 fb objects, one for read, one for write, which can be different). Pass both
of these two down the driver api (no driver uses this right now).
2007-07-19 17:47:14 +02:00
Roland Scheidegger
b9f2cf9a4e increase MAX_RELOCS so never run out before batch buffer is full (fixes xdemos/shape) 2007-07-19 17:46:35 +02:00
Oliver McFadden
0b48ce450e r300: Oops, made a mistake on commit fb4e071bed. 2007-07-18 02:59:08 +00:00
Oliver McFadden
86ece0a920 r300: Cleaned up vertprog construction.
Construct the vertprog instruction in the 4 DWORD parts...

DWORD 0: Opcode and Output.
DWORD 1: First Argument.
DWORD 2: Second Argument.
DWORD 3: Third Argument.

Allow the opcode translation functions to generate more than one instruction;
useful for when an instruction must be emulated. FLR, XPD, etc.
2007-07-18 02:49:26 +00:00
Tommy Schultz Lassen
fb4e071bed r300: Corrected texcoord start when BFC1 is enabled. 2007-07-18 00:37:43 +00:00
Zou Nan hai
c6d042acc9 Fix SOP in fragment shader, brick is ok now. 2007-07-17 16:52:03 +08:00
Zou Nan hai
3c00cdc5f3 Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa into 965-glsl 2007-07-17 15:42:39 +08:00
Zou Nan hai
24e7acd5e4 bumpmap sample is correct now 2007-07-17 11:25:37 +08:00
Zou Nan hai
719cf0b795 Use ProgramStringNotify 2007-07-17 11:19:52 +08:00
Oliver McFadden
7b410f366f r300: Corrected some progs/fp/* regressions from the BFC patch.
I'm not completely sure this is correct; it restores the old behaviour.
2007-07-16 21:43:39 +00:00
Oliver McFadden
8a016d2130 r300: Use _mesa_num_inst_src_regs for number of arguments. 2007-07-16 20:24:41 +00:00
Oliver McFadden
f66775184b r300: Corrected vertprog FLR and XPD instruction regression. 2007-07-16 20:07:30 +00:00
Oliver McFadden
3eba764df8 r300: Added code for vertprog opcode ARL. 2007-07-16 19:20:32 +00:00
Oliver McFadden
611674ed69 r300: Don't need vertprog scalar flag anymore; it's handled explicitly... 2007-07-16 19:13:46 +00:00
Oliver McFadden
b89a5c6e06 r300: Removed broken RCC vertprog opcode. 2007-07-16 19:10:13 +00:00
Oliver McFadden
15f1609922 r300: More vertprog rework; give each opcode it's own function. 2007-07-16 19:09:29 +00:00
Oliver McFadden
39766010cd Revert "r300: Gracefully exit after GART memory is exhausted."
This reverts commit 9457bf62bb.

Causes the X server to die with Compiz and Beryl.
2007-07-16 16:37:38 +00:00
Oliver McFadden
cc85860ccb r300: Reorder the vertprog code to the ARB specification. 2007-07-16 16:37:38 +00:00
Roland Scheidegger
cbfe29cdee fix bogus fb/drawable information
the framebuffer objects attached to drawables can have invalidate state
associated with them, since for the window framebuffer this is per-context
state and not per-fbo state. Since drivers rely on that information
(otherwise would need to check if currently the window-framebuffer is
bound in a lot of places) fix it up in _mesa_make_current (ugly).
(Brought over from i915tex_privbuffers, where it fixes xdemos/wincopy
when switching to front buffer rendering.)
2007-07-16 18:23:47 +02:00
Roland Scheidegger
fb3b9060d4 fix segfault with i915 drivers in swrast drawpixels path when resizing windows 2007-07-16 18:23:46 +02:00
Oliver McFadden
d895c5a08f r300: Use the R300_PVS_UPLOAD_* defines. 2007-07-16 15:42:16 +00:00
Oliver McFadden
4013382ea2 r300: Added the clip plane upload defines. 2007-07-16 15:39:12 +00:00
Oliver McFadden
81c333adbc r300: Enable the vertprog point size again. 2007-07-16 12:21:38 +00:00
Oliver McFadden
03105d7b3e r300: Corrected position bug with position invariant option. Bug #11594. 2007-07-16 11:34:40 +00:00
Oliver McFadden
aa9d77ca3c r300: Removed Vim modeline I left in the file by mistake. :-) 2007-07-16 07:17:22 +00:00
Oliver McFadden
72581241a8 r300: Make sure the modified value of u_temp_i is respected. 2007-07-16 07:12:29 +00:00
Oliver McFadden
87855fb32c r300: Added a function for vertex program default opcode translation. 2007-07-16 06:38:12 +00:00
Oliver McFadden
ddb74cb443 r300: Clean up the vertex program maximum length check. 2007-07-16 06:33:53 +00:00
Oliver McFadden
d0b3f3ce81 r300: Corrected indenting in r300_vertprog.c. 2007-07-16 06:27:29 +00:00
Oliver McFadden
79773ba13a r300: Major vertex program code clean up and rework. 2007-07-16 06:16:35 +00:00
Oliver McFadden
b0f0b4044c r300: Replaced the ugly VERTEX_SHADER_INSTRUCTION typedef. 2007-07-16 05:04:10 +00:00
Oliver McFadden
9457bf62bb r300: Gracefully exit after GART memory is exhausted. 2007-07-15 01:17:54 +00:00
Oliver McFadden
393558a933 r300: Disable vertex program point size; it's almost certainly wrong.
See the conversation between myself and Tommy Schultz Lassen on mesa3d-dev.
2007-07-14 18:31:29 +00:00
Oliver McFadden
491f646c79 r300: Clean up the vertex program output assignment. 2007-07-14 18:12:04 +00:00
Patrice Mandin
24f85f047b nouveau: nv10 and nv11,15 are different 2007-07-14 18:54:22 +02:00
Jan Dvorak
5a0f02a394 fix shader/info string length queries (bug 11588) 2007-07-13 16:36:00 -06:00
Ben Skeggs
8fcfaa3238 Play "nuke the typedef" 2007-07-13 23:39:45 +10:00
Oliver McFadden
5ec66cf62d Revert "r300: Corrected off-by-one error in r300_vertprog.c."
This reverts commit 07ac2386f5.
2007-07-13 09:39:23 +00:00
Oliver McFadden
07ac2386f5 r300: Corrected off-by-one error in r300_vertprog.c. 2007-07-13 04:58:32 +00:00
Oliver McFadden
42dcdb9372 r300: Moved some hardware initialization into appropriate functions. 2007-07-13 04:51:36 +00:00
Oliver McFadden
08a005e076 r300: Use a switch statement in r300UpdateCulling. 2007-07-13 04:51:36 +00:00
Oliver McFadden
4b08b9c3e9 r300: Setup the back facing color bits correctly.
Apparently for back facing color to work you must set all 3 color bits; I guess
the hardware cannot handle them separately.
2007-07-13 04:51:36 +00:00
Brian
7c4c82fc6d fix width/depth mix-up (bug 11577) 2007-07-12 21:33:05 -06:00
Brian
f5eb25e9c7 fix swizzle-related bug 11534 2007-07-12 14:50:53 -06:00
Patrice Mandin
e5dd389429 nv20 also don't support viewport_origin, like nv10 2007-07-12 18:36:41 +02:00
Ben Skeggs
cd8613e59d nouveau: match drm 0.0.9 interface 2007-07-12 11:08:17 +10:00
Brian
3ffa09b09d clean-up of stencil code 2007-07-11 16:33:15 -06:00
Brian
b755a2d9de Minor clean-up of polygon offset logic. Properly compute _MRD field. 2007-07-11 16:20:32 -06:00
Brian
34f6243bef Improve this demo in a few ways.
1. Use more reasonable hither/yon clip planes to make better use of shallow
(16-bit) z buffers.
2. Use different colors on cube faces to help detect Z fighting if it occurs.
3. Report GL_DEPTH_BITS on start-up.
2007-07-11 16:20:32 -06:00
Tommy Schultz Lassen
ee7fece054 r300: Added support for Back Facing Color. 2007-07-11 17:37:45 +00:00
Tommy Schultz Lassen
4bd04c9851 r300: Corrected r300UpdateCulling; would only set font face if culling was set. 2007-07-11 17:37:44 +00:00
Patrice Mandin
922dadf422 nouveau: nv20 does not support hw scissors 2007-07-11 19:25:32 +02:00
Arthur Huillet
a8ec5dac3c bumped nouveau DRM interface version number 2007-07-11 02:48:40 +02:00
Michel Dänzer
7c42222111 i915tex: Better procedure for dropping batchbuffer on virtual resolution change.
The previous procedure would often result in a GPU lockup.
2007-07-10 11:14:46 +02:00
Michel Dänzer
f1e1b2ed16 i915tex: Only wait for vblank when really necessary.
This avoids superfluous waits for vblank timing out under some circumstances.
2007-07-10 11:14:25 +02:00
Michel Dänzer
a903749b24 Clear pointers to freed cliprects.
Not doing this could lead to double frees under rare circumstances.
2007-07-10 11:05:41 +02:00
Brian
aa328291c5 Fix size test bug in _mesa_test_proxy_teximage().
width/height/depth == 0 is a legal texture size (no error generated).
Later, the texture will be considered incomplete, however, and texturing
will effectively be disabled.
See bug 11309.
2007-07-08 09:59:05 -06:00
Brian
37ece4df7c Check if 'indices' parameter is NULL (bug 11314) 2007-07-08 09:20:42 -06:00
Brian
25cfb68f0b Change float depthScale param to _mesa_unpack_depth_span() to GLuint depthMax. 2007-07-08 09:02:36 -06:00
Brian
64359af071 check depthScale value for optimized ushort->uint case (fixes bug 11474) 2007-07-08 08:53:19 -06:00
Brian
a164d3aee0 In _swsetup_Translate(), update dest->attrib[FRAG_ATTRIB_COL0].
Also, check if we're in RGB vs. CI mode.  This fixes a problem with
incorrect rendering color seen with the redbook/polys demo.
2007-07-06 16:55:40 -06:00
Brian
0bf2479aef Add case for GL_QUADS in i915_reduced_primitive_state().
The t_dd_tritemp.h code can emit GL_QUADS primitives.  We need to catch
that case to determine if polygon stipple should be enabled.
Fixes bug reported by Carlos Diógenes on 4 July 2007.
2007-07-06 16:55:40 -06:00
Patrice Mandin
f0aa6654e2 Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/mesa 2007-07-07 00:08:35 +02:00
Patrice Mandin
69501d76fc NV_17 is different from NV_10 2007-07-06 23:59:29 +02:00
Patrice Mandin
2adcd5bdd2 NV1X don't support VIEWPORT_ORIGIN in hardware 2007-07-06 23:55:51 +02:00
Eric Anholt
d086f7ab2e bufmgr_ttm: hook up destroy function, track buffer names. 2007-07-06 12:01:33 -07:00
Xavier Bachelot
f98bdfca57 call glutInit(), bug 11486 2007-07-06 12:56:21 -06:00
Eric Anholt
f7643b96e9 bufmgr_fake: Keep the bufmgr lock held while freeing a block. 2007-07-05 15:45:49 -07:00
Eric Anholt
23e0ca2ebb Fix copy'n'pasteo that broke display lists. 2007-07-05 13:56:38 -07:00
Eric Anholt
3cf20ddbfc Merge branch 'i915-unification' of git+ssh://people.freedesktop.org/~anholt/mesa into i915-unification 2007-07-05 11:36:44 -07:00
Brian
ffa2659204 stencil pixel map didn't work in _mesa_unpack_stencil_span(), bug 11475 2007-07-05 09:37:46 -06:00
Zou Nan hai
575f3e918f support "discard"; 2007-07-05 11:10:24 +08:00
Brian
c223c6b663 Be more consistant with paths in #includes. Eventually, eliminate a bunch of -I flags. 2007-07-04 13:15:20 -06:00
Brian
e8e5d9effe support more modes, added -f cmd line option 2007-07-04 09:23:12 -06:00
Brian
9aa8223605 assorted clean-ups 2007-07-04 09:22:15 -06:00
Eric Anholt
bd9db5eed2 fix LogicOp/bitmap problem, bug 11133 2007-07-04 07:37:14 -06:00
Brian
22b0b2f47e add fbdev/ to DEMO_FILES 2007-07-04 07:35:11 -06:00
Dave Airlie
5657fc5b4c r300: only init swtcl on tcl-less cards 2007-07-04 15:30:40 +10:00
Zou Nan hai
fb9ee9b323 Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa into 965-glsl 2007-07-04 10:52:35 +08:00
Zou Nan hai
285b326c60 fix issue with output as src register. 2007-07-04 10:51:57 +08:00
Brian
7ff4359a3b added vec2(vec4) constructor, bug 11404 2007-07-03 11:41:56 -06:00
Brian
a36b5c6d47 add code for stpq, rgba writemasks in make_writemask(), bug 11404 2007-07-03 11:41:21 -06:00
Brian
3d04682b7a fix StepX/StepY typo 2007-07-03 10:06:13 -06:00
Brian
f9b53f648d use _mesa_unpack_stencil_span() in draw_stencil_pixels(), bug 11457 2007-07-03 08:54:29 -06:00
Roland Scheidegger
9a45176dd8 fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug #11030) 2007-07-03 14:27:41 +02:00
Zou Nan hai
4fc02ad000 Fix a nasty bug... 2007-07-03 15:27:43 +08:00
Brian
9220255d75 add const to wglSetPixelFormat() to match .h declaration 2007-07-02 10:16:02 -06:00
Brian
06542019a8 avoid unnecessary clamping of depth values (bug 11448) 2007-07-02 08:46:57 -06:00
Dave Airlie
6257ed8663 r300: fix compiz crash on swtcl - doesn't fix compiz though.
Compiz for some reason looks like ass, everything with textures
looks like it has a 2x width/height multiplier on the texture coords...
2007-07-02 17:22:35 +10:00
Claudio Ciccani
a49570794a Compute the amount of time to sleep on idle event using timers as reference. 2007-07-01 12:24:44 +02:00
Claudio Ciccani
33da6cb133 Fixed initialization of render buffer and deinitialization of context. 2007-07-01 12:23:12 +02:00
Dave Airlie
ad19038080 r300: oops wrong logic for swtcl 2007-07-01 19:27:26 +10:00
Dave Airlie
0caee6b006 r300: oops turn back off cmd buf debugging 2007-07-01 18:52:47 +10:00
Dave Airlie
f556b7f84c Merge branch 'r300-swtcl' 2007-07-01 18:50:14 +10:00
Dave Airlie
646ed82e6b fix tabbing 2007-07-01 18:46:39 +10:00
Dave Airlie
6564e4bffa r300: add authorship 2007-07-01 18:43:22 +10:00
Dave Airlie
2d5313db72 r300: remove some unused code 2007-07-01 18:42:27 +10:00
Dave Airlie
b691d46046 r300: cleanup some of the swtcl code 2007-07-01 18:40:26 +10:00
Dave Airlie
8f7478e5cb r300: fixup manytex, we needed to emit the vic/vir/vof every time 2007-07-01 18:29:23 +10:00
Dave Airlie
885c1326c3 r300: fix tabbing 2007-07-01 17:15:50 +10:00
Brian
f4b103dc99 simplify INIT_SPAN code 2007-06-29 21:52:18 -06:00
Brian
fcc77d3ece s/SPAN_RGBA/SPAN_INDEX/ in clear_ci_buffer_with_masking() 2007-06-29 21:33:59 -06:00
Brian
9dca42a4a1 Undo some prev glDraw/CopyPixel changes which fixed a bug in which colors were overwritten by interpolating attributes.
Now just set the span->arrayAttribs mask in glDraw/CopyPixels and be sure
we don't overwrite the values in interpolate_active_attribs().
2007-06-29 21:29:30 -06:00
Brian
fb4f4e2d18 Obsolete 2007-06-29 21:13:20 -06:00
Brian
fc5bf53644 overhaul point rasterization, no longer use s_pointtemp.h 2007-06-29 21:12:46 -06:00
Brian
66d0784f13 regenerated 2007-06-29 07:53:11 -06:00
Ben Skeggs
5e4a0f42f2 nouveau: match drm changes (0.0.7) 2007-06-29 14:28:39 +10:00
Ben Skeggs
17e81bda6e nouveau: NV30_TCL viewport/scissor fixes 2007-06-29 14:28:39 +10:00
Brian
02dd2221b6 bring over 7.0 doc changes 2007-06-28 16:44:24 -06:00
Brian
767cac1494 Add a few missing GL 2.0 entrypoints, regenerate related files.
Specifically:
  glVertexAttrib4bv
  glVertexAttrib4iv
  glVertexAttrib4ubv
  glVertexAttrib4uiv
  glVertexAttrib4usv
2007-06-28 16:34:40 -06:00
zhang
37aca21129 a variety of fixes for MingW 2007-06-28 08:12:52 -06:00
Brian
b0b02507b4 remove t_save_api.c and some other obsolete files, may be more 2007-06-28 07:18:43 -06:00
Brian
2233d4c1ee remove obsolete t_save_api.c 2007-06-28 07:16:13 -06:00
Brian
3b10f50efb use larger point/sprite size 2007-06-28 07:16:13 -06:00
Brian
1a55e97c9c increase MAX_POINT_SIZE to 60 2007-06-28 07:16:13 -06:00
Brian
3156854c25 XXX comment about point clamping 2007-06-28 07:16:12 -06:00
Brian
369d6654d4 added comment, remove dead code 2007-06-28 07:16:12 -06:00
Oliver McFadden
e92903e24c r300: Initial work on merging the real and generated vertex program functions. 2007-06-24 14:01:19 +00:00
Oliver McFadden
43e601206d r300: Should use inst_count not 0 for R300_PVS_CNTL_3_PROGRAM_UNKNOWN_SHIFT. 2007-06-24 14:01:19 +00:00
Oliver McFadden
62b83638a5 r300: The vpi, vpp, and vps counts are already initialized; don't do it twice. 2007-06-24 14:01:19 +00:00
Oliver McFadden
b41ef55061 r300: Clean up the vertex program state code slightly; still needs lots of work. 2007-06-24 14:01:19 +00:00
Oliver McFadden
252fc61e48 r300: Vertex program position end bits are known.
Possibly performance may improve by setting it to the last instruction that
writes result.position, rather than the last instruction in the vertex program.
2007-06-24 14:01:19 +00:00
Oliver McFadden
27c8488526 r300: Removed unused vap_param structure. 2007-06-24 14:01:19 +00:00
Oliver McFadden
804d3a8f6e r300: Cleaned up long lines in the vertex functions. 2007-06-24 14:01:19 +00:00
Oliver McFadden
909091b7dc r300: Setup the default state for polygon offset point/line.
I believe there are still bugs with all polygon offset types. The point and line
types may need to be handled specially, too.

This shouldn't break anything because it just enabled the occlusion control bits
for polygon offset.
2007-06-24 14:01:19 +00:00
Oliver McFadden
bf334d852d r300: Cleaned up the r300SetupVertexShader function. 2007-06-24 14:01:19 +00:00
Oliver McFadden
204f9e3fdb r300: Cleaned up the r300SetupPixelShader function. 2007-06-24 14:01:19 +00:00
Oliver McFadden
381b86329e r300: Trivial clean up in radeon_lock.h. 2007-06-24 14:01:19 +00:00
Dave Airlie
5eb2015a96 r300: 2288 is a tcl only reg 2007-06-24 17:21:26 +10:00
Eric Anholt
1a413b4d77 Use -pthread instead of -lpthread on FreeBSD. 2007-06-22 11:19:42 -07:00
Brian
1d52b6aaf4 fix bug rendering points with fragment program (see #11330) 2007-06-22 09:47:30 -06:00
Brian
1bf5076569 Fix feedback color bug #11332. In feedback mode, produce float colors. 2007-06-22 08:02:46 -06:00
Dave Airlie
0f7f6e4e95 clean up cache flush emission into one place
makes gears work with swtcl
2007-06-22 19:18:04 +10:00
Brian
6a3ed5eb96 Random state-change / primitive rendering. Good for hammering on a driver... 2007-06-21 18:11:29 -06:00
Brian
578559822e Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-06-21 16:06:06 -06:00
Brian
93becd8a18 fix rgba pointer bug hit on zoomed+fogged glDrawPixels 2007-06-21 16:06:27 -06:00
Brian
4d528e5454 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-06-21 16:04:04 -06:00
Eric Anholt
4fe48b4e85 Merge branch 'origin' into i915-unification 2007-06-21 14:14:24 -07:00
Eric Anholt
5d9dc02cbe Reset saved state for disasm when we've lost the context. 2007-06-21 12:57:15 -07:00
Eric Anholt
f3f29d632e Add decoding of inline primitives in debug output. 2007-06-21 12:53:07 -07:00
Eric Anholt
f972f58d80 Improve fake bufmgr debugging, and don't try to migrate static buffers. 2007-06-21 11:44:48 -07:00
Eric Anholt
1a49cd7f5b Add missing i915_disasm.h header and adjust copyright formatting on the .c 2007-06-21 10:01:34 -07:00
Oliver McFadden
ed5ed6fe2f r300: Corrected a bug in r300LineWidth.
Thanks to Panagiotis Papadakos for reporting it.
2007-06-21 15:53:26 +00:00
Brian
171dcdfa27 Another round of fixing attribute interpolation for glDraw/CopyPixels.
Need to turn off FRAG_BIT_COL0 in swrast->_ActiveAttribMask when doing
glRead/CopyPixels to prevent the user's colors from getting overwritten
when a fragment program is active.
This was happening in the DRI drivers when MaintainTexEnv program was
used (the texenv fragment program was enabled when _swrast_DrawPixels was
called).
This still isn't an ideal solution, but fixes things for now.
2007-06-21 09:15:32 -06:00
Brian
fe11b2c04b rename _swrast_update_fragment_attribs() 2007-06-21 09:11:43 -06:00
Dave Airlie
41d28d97f5 clean up color0 code 2007-06-21 18:35:25 +10:00
Dave Airlie
36235e5ff1 add a mem use for current dma buffer 2007-06-21 18:35:00 +10:00
Dave Airlie
faab84cfa6 fix unfilled tris/quads 2007-06-21 15:07:31 +10:00
Dave Airlie
d3ef71166d ensure cmd buffer space 2007-06-21 14:43:53 +10:00
Dave Airlie
d1be4ab80f fix up vertex emission before state change 2007-06-21 14:20:33 +10:00
Zou Nan hai
d19d0596da support branch and loop in pixel shader
most of the sample working with some small modification
2007-06-21 10:22:28 +08:00
Dave Airlie
025efae411 fix secondary color, fog is off for now 2007-06-21 10:59:11 +10:00
Dave Airlie
6d8a4312ed fix projtex 2007-06-21 10:50:27 +10:00
Dave Airlie
ad8abf7147 fix quad-clip 2007-06-21 10:32:39 +10:00
Dave Airlie
08fb0bad72 bring over vertex engine setup code from r300_Render and fix up
now have gears going.. + a few other trivial textured demoes
2007-06-21 10:19:00 +10:00
Brian
f9c17ec58a Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-06-20 11:01:09 -06:00
Brian
a4af3e5ab3 Effectively disable _TexEnvProgram before calling _swrast_DrawPixels().
It's OK to use _TexEnvProgram regardless of the texture state, but if fog
is also enabled, the fragment program is lacking the actual fog computation
so fogging doesn't appear.
Fixing this might involve a new _MaintainFogProgram field and related code.
For now, just disable the _TexEnvProgram and let swrast handle everything.
2007-06-20 11:01:04 -06:00
Brian
b9080dd549 fix glDrawPixels + fragment program problem 2007-06-20 10:56:13 -06:00
Brian
c1cb541233 copy wpos attrib info into zoomed span (fixes fog perspective correction problem) 2007-06-20 10:55:31 -06:00
Dave Airlie
d7777f4598 fixup some bits of tcl path 2007-06-20 18:02:08 +10:00
Dave Airlie
2a6082b531 swtcl: gears works 2007-06-20 18:01:47 +10:00
Brian
bd8eeb7ed0 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-06-19 18:50:26 -06:00
Eric Anholt
bf0ae055de Fix TTM static allocation flags. 2007-06-18 12:20:07 -07:00
Eric Anholt
1ddbfd779b Test for TTM presence initially rather than test for lack of classic aperture. 2007-06-18 12:19:42 -07:00
Dave Airlie
4a841b969a more commits to fix things and stuff - still not doing anything except crashin 2007-06-17 19:55:13 +10:00
Dave Airlie
492bc67df1 swtcl add debug and fix offset 2007-06-17 15:44:42 +10:00
Dave Airlie
780ae9f17d cleaned up reduced prim 2007-06-17 15:05:43 +10:00
Dave Airlie
3b8cf84aa5 fixup packet setup - still hangs 2007-06-17 14:47:09 +10:00
Dave Airlie
aaf76906e8 add missing swtcl file 2007-06-17 14:27:58 +10:00
Dave Airlie
d42888dac3 add more swtcl code to r300 - hangs card now 2007-06-17 14:17:11 +10:00
Eric Anholt
2754ac0878 Replace intel_dump_batchbuffer with a more informational version. 2007-06-15 16:58:15 -07:00
Eric Anholt
7a452b21a2 Correct a mis-count in a LOAD_STATE_IMMEDIATE_1 length argument. 2007-06-15 16:20:34 -07:00
Michel Dänzer
9cde7fb61d i915tex: Missing piece of SetTexOffset hook implementation for I830 generation. 2007-06-15 15:24:35 +02:00
Dave Airlie
bc81885bb2 Initial r300 modes for swtcl it compiles!! 2007-06-14 15:26:39 +10:00
Stephane Marchesin
f6963f57d9 nouveau: remove useless viewport xform with id matrix. 2007-06-14 00:44:16 +02:00
Dave Airlie
40cc47f8ee move clip to r300 emit 2007-06-13 12:56:48 +10:00
Brian
144e1e439f fix an error string, refactor _mesa_GetCompressedTexImageARB() to get rid of a goto 2007-06-12 17:17:43 -06:00
Brian
261ed74074 fix make clean commands so missing subdirs don't cause infinite loops 2007-06-12 17:06:27 -06:00
Brian
d70fa021d5 added memcpy() to-do item 2007-06-12 15:16:21 -06:00
Brian
ef82f004fa fix comment 2007-06-12 15:08:43 -06:00
Brian
edf07417be Fix TEXREL issues when using GLX_USE_TLS (see bug 7459). 2007-06-12 09:47:03 -06:00
Brian
c1ba308e64 fix GLX_USE_TLS breakage, fix a warning 2007-06-12 08:57:12 -06:00
Brian
0fbc4c51a0 Rework _mesa_update_texture_compare_function() to only be called during
state validation/update.

Note that we're still temporarily skipping the test for an active fragment
program.  Need to fix shadow2D() ...
2007-06-11 17:16:18 -06:00
Brian
495e2c8327 rename/clean-up _mesa_validate_texture_wrap_mode 2007-06-11 16:42:35 -06:00
Brian
84e051b6a0 fix typo, added comment 2007-06-11 16:36:06 -06:00
Brian
227315278d Replace texobj->Complete with texobj->_Complete since it's a derived field. 2007-06-11 16:32:57 -06:00
Brian
a28977a4c7 typo: s/derrived/derived/ 2007-06-11 16:27:33 -06:00
Brian
0186f1bc83 Temporarily disable the calls to _mesa_update_texture_compare_function().
This fixes the depth-peel regression reported by Brad King.
2007-06-11 16:04:36 -06:00
Brian
cf239ced0d In generic_nop() call _mesa_warning() instead of _mesa_problem() since it's an app issue, not a mesa bug. 2007-06-11 11:03:08 -06:00
Brian
c56588407c remove dead code 2007-06-11 11:03:08 -06:00
Dave Airlie
b96dbd2a3e r300: i can't see why we fallback for polygon offset line/fill 2007-06-10 12:27:22 +10:00
Brian
86eecc701e In supported_buffer_bitmask(), use framebuffer's visual, not context's visual 2007-06-08 14:13:13 -06:00
Brian
ee170f2955 disable depthBits test in check_compatible(), see bug 11161 2007-06-08 14:12:27 -06:00
Brian
39d221ef14 fix glReadPixels parameters to handle odd-width windows correctly 2007-06-08 13:10:01 -06:00
Brian
5e9cff0b97 disable shader program before glDrawPixels 2007-06-08 13:02:14 -06:00
Brian
009ddb4e50 remove obsolete comment about max DEFAULT_SOFTWARE_DEPTH_BITS 2007-06-08 12:24:35 -06:00
Jouk
55f8b70530 Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-06-08 13:38:24 +02:00
Ian Romanick
7b559a9102 Add support for GL_ARB_fragment_program_shadow. 2007-06-07 13:58:50 -07:00
Ian Romanick
84d1b24647 Fix ARB_fp spec conformance bug WRT shadow sampling.
The ARB_fp (and other assembly-level fragment program specs) say that the
depth comparison function is always GL_NONE in fragment program mode.
2007-06-07 13:38:06 -07:00
Ian Romanick
359c6eada7 Add support for shadow mapping with vertex and fragment programs 2007-06-07 12:12:14 -07:00
Ian Romanick
2260c245fd Refactor shadow map modelview and projection code
Explicitly store the modelview matrix and projection matrix used when the
shadow map is created.  These matrices only need be updated when
RenderShadowMap is called.  Previously, slightly different code was used to
draw and project the shadow map.
2007-06-07 12:09:44 -07:00
Ian Romanick
f575d4fa7f Remove '#if defined' tests for ARB extensions. 2007-06-07 11:59:42 -07:00
Oliver McFadden
871f57365e r300: Added a comment regarding the R300_VAP_CLIP registers. 2007-06-07 13:21:18 +00:00
Oliver McFadden
65b45d6d58 r300: Removed a "don't think this is needed" comment, it actually is needed.
According to the comment you do not need to setup INPUT_CNTL when using vertex
buffers. However, not doing so results in a lockup.
2007-06-07 13:20:27 +00:00
Oliver McFadden
9c50d84775 r300: Explain the R300_VAP_OUTPUT_VTX_FMT_1 register. 2007-06-07 13:20:08 +00:00
Oliver McFadden
10d5dd685c r300: Cleaned up long lines in r300Choose8888TexFormat. 2007-06-07 13:19:47 +00:00
Wang Zhenyu
8331d9d7aa Add PCI IDs for the G33, Q33, and Q35 chipsets. 2007-06-05 12:01:28 -07:00
Michel Dänzer
08a2cc2d23 i915tex: Better attempt to release miptree when overriding texture image.
The previous approach could lead to crashes in FBO code that dereferences the
miptree struct pointer unconditionally.
2007-06-05 19:55:53 +02:00
Michel Dänzer
89f070b3bb Remove dubious compile-time test for pre-2.4 Linux kernels.
LINUX_VERSION_CODE shouldn't be used by userspace code, it can be defined empty
these days.

If anybody still cares about 2.2 kernels, they should reinstate this as a
proper runtime test.
2007-06-05 19:52:10 +02:00
Ian Romanick
69358e73ce Updates for array texture shadow targets. 2007-06-05 09:24:40 -07:00
Dave Airlie
0b11203038 miniglx: implement GetProcAddressARB in miniglx as an alias for GPA 2007-06-05 09:38:49 +10:00
Dave Airlie
b2dde0a783 miniglx: update defines in linux-solo config 2007-06-05 09:36:28 +10:00
Dave Airlie
90630feeec r300: fix non-tcl rs4xx again. 2007-06-02 16:21:50 +10:00
Eric Anholt
2ac17c68e2 Add buffer manager destroy function. 2007-05-31 09:45:45 -07:00
Eric Anholt
fb7e21514f Remove some stale comments. 2007-05-31 09:34:08 -07:00
Wang Zhenyu
ad6351a994 i915tex: Add support for 945GME 2007-05-31 11:18:26 +01:00
Wang Zhenyu
a74eec5af5 i915: Add support for 945GME chip 2007-05-31 11:18:21 +01:00
Wang Zhenyu
1b27ef39c9 i965: Add pci info for 965GME/GLE chip. 2007-05-31 11:18:14 +01:00
Michel Dänzer
2b7ef2549f Fix r300SetTexOffset for big endian platforms.
This was broken by the unification of the texture format table.
2007-05-30 15:37:42 +02:00
Oliver McFadden
d61a595a5b r300: Corrected r300PointSize based on dumping the blob.
The OpenGL specification also verifies the default point size should be 1.0.
2007-05-30 03:19:26 +00:00
Oliver McFadden
da1d9d9795 r300: Corrected r300LineWidth based on dumping the blob.
The OpenGL specification also verifies the default line width should be 1.0.
2007-05-30 03:19:26 +00:00
Oliver McFadden
7c008f365b r300: Removed goto statement in r300SetupRSUnit. 2007-05-30 03:19:26 +00:00
Oliver McFadden
e20acd9168 r300: Cleaned up r300SetupRSUnit. 2007-05-30 03:19:26 +00:00
Oliver McFadden
705298c281 r300: Cleaned up the state atom checking functions. 2007-05-30 03:19:26 +00:00
Oliver McFadden
6439bc5c0d r300: Cleaned up the state atom debugging code. 2007-05-30 03:19:26 +00:00
Oliver McFadden
f973ae78b2 r300: Use compile-time endian detection in r300_state.c as well as r300_texstate.c.
Probably best to not mix-and-match compile-time and run-time detection...
2007-05-30 03:19:26 +00:00
Oliver McFadden
97a89227b0 r300: Document registers 0x2220 to 0x2230.
These registers are per-pixel and per-vertex X and Y clipping planes.
2007-05-30 03:19:26 +00:00
Oliver McFadden
779a5c160f r300: Only support size 4 ELTs; this is what Mesa provides. 2007-05-30 03:19:26 +00:00
Oliver McFadden
1baef2f080 r300: Use the CP_PACKET3 macro for Type 3 packets.
I haven't converted all of the Type 3 packets to the CP_PACKET3 macro yet
because some of the Type 3 packet defines are missing from the R300 register
definition file.

These defines need to be copied from DRM and Mesa into the R300 register
definition file then copied into both DRM and Mesa.
2007-05-30 03:19:26 +00:00
Oliver McFadden
3e5f8a6c89 r300: Removed the (completely broken since new VBO branch) OPTIMIZE_ELTS path.
The VTXFMT code was broken by the new VBO branch and the OPTIMIZE_ELTS path
relied on the VTXFMT code...

I'm not even sure if the OPTIMIZE_ELTS path ever worked; the testing that I did
after minimizing the code duplication would have taken the same path as the
non-OPTIMIZE_ELTS code.
2007-05-30 03:19:26 +00:00
Oliver McFadden
7c893e98a3 r300: Cleaned up the AOS code in r300_render.c. 2007-05-30 03:19:26 +00:00
Oliver McFadden
b8813572ae r300: Added a comment in r300VAPInputCntl0. 2007-05-30 03:19:26 +00:00
Oliver McFadden
6a2ef09918 r300: Cleaned up r300DestroyTexObj. 2007-05-30 03:19:26 +00:00
Oliver McFadden
7e2c381a22 r300: R300_SE_VTE_CNTL applies to both non-TCL and TCL hardware.
See r300ResetHwState.
2007-05-30 03:19:26 +00:00
Brian
0c5662acc7 use glXGetProcAddress to get extension funcs 2007-05-29 08:08:03 -06:00
Brian
5237f863ed check for flat/smooth interp for generic/specular attrib 2007-05-29 08:08:03 -06:00
Oliver McFadden
1fc08251ee Revert "r300: Removed the R300_RS_INTERP_[0-9]_UNKNOWN (magic) defines."
This reverts commit bb3558e651.

This commit caused a regression reported by Markus Amsler
<markus.amsler@oribi.org>. Apparently these defines are required, although I'm
not sure why.
2007-05-27 02:25:31 +00:00
Oliver McFadden
d42c8ab630 r300: Rearranged the DWORD construction in r300VAPInputRoute0 for clarity.
Doesn't actually change anything; just makes it easier to read.
2007-05-26 21:38:52 +00:00
Oliver McFadden
3b8fc727e6 r300: Removed duplicate AOS format defines; already defined in r300_reg.h. 2007-05-26 20:59:16 +00:00
Oliver McFadden
e96d10a861 r300: Removed unused aos_reg variable. 2007-05-26 19:39:35 +00:00
Oliver McFadden
e8b8fd366b r300: Use "rmesa" not "r300" in r300_emit.c; some of the macros require "rmesa". 2007-05-26 17:55:30 +00:00
Oliver McFadden
7bc7f08d88 r300: Cleaned up the non-TCL RENDERINPUTS, etc. 2007-05-26 17:36:08 +00:00
Oliver McFadden
6be60a389b r300: Whitespace cleanup in r300_emit.c. 2007-05-26 17:13:57 +00:00
Oliver McFadden
0d8aba9a47 r300: Added the r300VAPInputCntl0 function.
The function just returns the hard-coded value (0x5555) even though we have no
idea what this means...
2007-05-26 15:49:24 +00:00
Oliver McFadden
ae0f17d591 r300: Added r300VAPOutputCntl0 and r300VAPOutputCntl1 to r300_emit.c. 2007-05-26 15:45:04 +00:00
Oliver McFadden
4e98dcb85f r300: Removed R300_PFS_NODE_LAST_NODE replaced by R300_PFS_NODE_OUTPUT_COLOR. 2007-05-26 14:43:04 +00:00
Oliver McFadden
f4ad34e8bb r300: Renamed the t_vic function. 2007-05-26 12:34:55 +00:00
Oliver McFadden
fbe705f600 r300: Renamed the t_vir0 and t_vir1 functions. 2007-05-26 00:07:25 +00:00
Oliver McFadden
9ed32f4251 r300: Renamed "dt" to "attribptr" in the t_vir0 function. 2007-05-25 23:50:36 +00:00
Oliver McFadden
b9c0a00ed0 r300: Specify the type in the t_vir0 function. 2007-05-25 23:42:03 +00:00
Oliver McFadden
9b727e117e r300: Cleaned up t_vir0 and t_vir1 slightly. 2007-05-25 23:02:57 +00:00
Oliver McFadden
f78ddc69a0 r300: Use C style comments in r300_emit.c. 2007-05-25 22:01:20 +00:00
Oliver McFadden
67ac9bf822 r300: Removed a (disabled and unneeded) assertion.
The r300EmitVec functions don't touch the buf member so the assertion isn't
needed here.
2007-05-25 21:54:45 +00:00
Oliver McFadden
31a86804ae r300: Improved the r300EmitVec debugging information. 2007-05-25 21:49:53 +00:00
Oliver McFadden
b042703935 r300: Use #if 0 for disabled code. 2007-05-25 21:43:24 +00:00
Oliver McFadden
93206f7815 r300: Added a TODO note and some tiny cleanups to r300_emit.c. 2007-05-25 21:38:49 +00:00
Dave Airlie
9f39692e21 add glxtokens.h to xmesa_xf86.h as discussed on mailing list 2007-05-26 15:58:56 +10:00
Brian
e734369565 remove #include "GL/glxtokens.h" 2007-05-25 08:58:15 -06:00
Oliver McFadden
8a6a5dc660 r300: Use GL_TRUE rather than 1 for the GLboolean type. 2007-05-25 13:59:15 +00:00
Oliver McFadden
00a9e4eb8c r300: Removed unused vpucount macro from r300_state.c. 2007-05-25 13:23:11 +00:00
Eric Anholt
b9323aa2cb Replace the flags/hint arguments to bo_alloc{,_static} with a location mask.
Now, allocations only take locations, rather than a variety of unused flags.
The only interesting flag before was the no_move/no_evict pair for scanout
and similar buffers, which the DRI drivers don't use.  That will be readded
when we get to using this code for display buffer allocation, by adding a
pin/unpin call (dynamic pinning/unpinning may be useful for VT switching and
root window resizing).

This commit changes one instance of DRM_BO_FLAG_MEM_LOCAL with
DRM_BO_FLAG_MEM_TT, which appeared to have been unintentional.
2007-05-24 16:55:06 -07:00
Eric Anholt
fd9d27e068 Merge branch 'master' into i915-unification
Conflicts:

	src/mesa/drivers/dri/i915tex/i830_texstate.c
	src/mesa/drivers/dri/i915tex/i915_texstate.c
2007-05-24 16:46:54 -07:00
Brian
e4b037051e fix logic for calling _swrast_update_deferred_texture() 2007-05-24 17:07:48 -06:00
Brian
98d2a4a244 doxygen-ize some comments 2007-05-23 16:58:01 -06:00
Brian
f116aed1ed restore GL_TEXTURE_LOD_BIAS in _mesa_PopAttrib(), bug 11049 2007-05-23 16:51:30 -06:00
Brian
e5ed09e60e incr/decr 1D/2DArray texture refcounts like other targets 2007-05-23 16:51:30 -06:00
Oliver McFadden
f2e99e6a58 r300: Call the r300Fogfv function directly within r300_state.c.
This required moving the r300Enable function but there are no actual changes.
2007-05-23 21:38:46 +00:00
Brian
a700832214 Fix problem w/ two-sided lighting and fragment programs (depth-peel regression) 2007-05-23 15:34:50 -06:00
Oliver McFadden
491618b33d r300: Use switch statements in r300ResetHwState, etc. 2007-05-23 21:12:11 +00:00
Oliver McFadden
f1441bbd18 r300: Minor indenting corrections in the texture format table. 2007-05-23 18:48:05 +00:00
Oliver McFadden
ba8d3fb136 r300: Use a single texture format table; reduces duplication. 2007-05-23 18:37:55 +00:00
Oliver McFadden
9b9a1602f9 r300: Corrected the RGB888 texture format entry.
I think this is correct, assuming no endian issues. See commmit
59a08923f5.
2007-05-23 17:56:47 +00:00
Oliver McFadden
bb3558e651 r300: Removed the R300_RS_INTERP_[0-9]_UNKNOWN (magic) defines.
Supposedly you need to set these values for the interpolaters to work, but they
seem to work fine without these values.
2007-05-23 17:44:14 +00:00
Brian
d062b6cd26 Fix point attentuation problem (bug 11042)
ctx->Point._Attentuation was computed in wrong place and the VB->Eye coord Z
array wasn't indexed correctly in run_point_stage().
2007-05-23 08:58:08 -06:00
Brian
a194bc3a85 Replace initInitState() with _mesa_init_driver_state(). 2007-05-22 16:56:02 -06:00
Brian
a99114a69f added _mesa_init_driver_state() to replace duplicated code in intel drivers 2007-05-22 16:54:25 -06:00
Brian
3a2ffadb7c include swrast_setup/swrast_setup.h to silence warning 2007-05-22 16:50:05 -06:00
Brian
0425548961 don't treat FRAG_BIT_WPOS as a generic attribute (fixes depth peel regression) 2007-05-22 10:07:49 -06:00
Michel Dänzer
e0885b84a0 i915tex: Implement SetTexOffset hook.
Only build tested for I830 generation.
2007-05-22 14:08:11 +02:00
Michel Dänzer
59a08923f5 r300: Implement SetTexOffset hook. 2007-05-22 14:08:11 +02:00
Michel Dänzer
043d219b6d Add interfaces for overriding texture images with driver specific 'offsets'.
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several
additional data copies.
2007-05-22 14:08:10 +02:00
Michel Dänzer
24d965fab5 Fix xserver build after recent XMesa changes.
Only build tested.
2007-05-22 13:56:30 +02:00
Brian
9e3e3883fa get rid of GenTexturesLock, used ctx->Shared->Mutex 2007-05-21 22:10:06 -06:00
Brian
c62da91f44 remove the unused texobj Mutex field 2007-05-21 21:59:20 -06:00
Brian
5c5ab90c76 remove a VMS-ism that doesn't seem needed elsewhere 2007-05-21 21:49:34 -06:00
Brian
a01ee8ff0b improve some comments, clean-up formatting 2007-05-21 21:48:33 -06:00
Brian
3898e67f49 remove some whitespace 2007-05-21 21:48:08 -06:00
Brian
b4f8d4455b set texcoords depending on GLX_Y_INVERTED_EXT 2007-05-21 20:57:09 -06:00
Brian
a10ba38df7 return True for GLX_Y_INVERTED_EXT query 2007-05-21 20:56:35 -06:00
Roland Scheidegger
74a30c351f fog: fix potential issues with generated vp using fog
Change the generated vertex programs (tnl/brw) to follow the same logic as
the tnl fog wrt using absolute value, and sync them up a bit (untested).
2007-05-22 03:32:25 +02:00
Roland Scheidegger
3e21a014c3 fog: fix issues with negative fog coords (may fix #10529)
Rework tnl fog a bit. Make sure we always use ABS(eyez) when fog coord source
is depth, OTOH it does not seem to be necessary to use it (as was done before
in some cases) if fog coord source is fogcoord (just to save some work).
This fixes tests/fog (the first 2 cases) with i915/i915tex.
2007-05-22 03:32:25 +02:00
Roland Scheidegger
7f1879d4e1 make sure optimized fog params get updated 2007-05-22 03:32:25 +02:00
Roland Scheidegger
1078ef83eb i915/i915tex: minor cleanup (remove unneeded function call 2007-05-22 03:32:25 +02:00
Roland Scheidegger
b1c640deda unbreak 3d textures (typo when setting tex layout) 2007-05-22 03:32:24 +02:00
Eric Anholt
b1fcabefa2 Don't read beyond the end of the buffer with INTEL_DEBUG=bat. 2007-05-21 13:06:12 -07:00
Eric Anholt
b0b84529cf Enable INTEL_DEBUG environment variable. 2007-05-21 11:08:55 -07:00
Eric Anholt
2b325a9f32 Remove unused intel_batchpool.c.
This may need to be implemented again, but probably not as a buffer manager
(pool).
2007-05-21 10:53:33 -07:00
Eric Anholt
8b8d4d3e10 Notify the fake buffer manager on contended lock take. 2007-05-21 10:49:32 -07:00
Brian
a8676c45cc if light position is local, treat it as a homogeneous coord and divide by W (see bug 11009) 2007-05-21 08:57:18 -06:00
Brian
9e8a961dd7 Overhaul/simplify SWvertex and SWspan attribute handling.
Instead of separate fog/specular/texcoord/varying code, just treat all of
them as generic attributes.  Simplifies the point/line/triangle functions.
2007-05-20 12:27:39 -06:00
Brian
aa133a9dae add missing right-paren 2007-05-20 12:17:21 -06:00
Oliver McFadden
9df4f842d5 r300: Added TODO comment regarding immediate mode implementation. 2007-05-20 17:20:10 +00:00
Oliver McFadden
62b6eef0d7 r300: Just use "inline" rather than "__inline__". 2007-05-20 13:38:32 +00:00
Brian
a2305ebfa2 need to copy new 1D/2D array texture objects in _mesa_PushAttrib() 2007-05-19 09:10:44 -06:00
Brian
74519c4231 Disable (at least for now) PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC typedef.
If an app (like progs/samples/blendxor.c) includes both gl.h and glext.h
this typedef will get hit in both headers, causing an error.
Possibly work around by bringing GL_NV_geometry_program4 items into gl.h.
2007-05-19 08:56:15 -06:00
Brian
80a5798719 added GL_EXT_texture_from_pixmap 2007-05-19 08:30:31 -06:00
Brian
4465377ca3 GLX_EXT_texture_from_pixmap test 2007-05-19 08:30:31 -06:00
Brian
7ace7cfba4 added texture_from_pixmap functions 2007-05-19 08:30:31 -06:00
Brian
fd54564f78 Implement GLX_EXT_texture_from_pixmap.
Could be done more efficiently... but works.
2007-05-19 08:30:31 -06:00
Roland Scheidegger
eb6418b895 fix miptree layout (i915) for small compressed mipmaps
This seems to work now. Also fix i945 set_level_info, need to match i915
behaviour for storing mip height, as it's assumed to be the mip width
(in texels) elsewhere and the division by 4 is done later (untested).
2007-05-19 04:38:55 +02:00
Roland Scheidegger
25551bdfad fix copy & paste bug of previous commit, breaking dxt5 formats 2007-05-19 03:08:45 +02:00
Roland Scheidegger
28f53ace33 fix miptree comparison with compressed textures
TexelBytes is always 0 with compressed textures, thus would never match
mt->cpp. This caused constant blitting around of textures, and it fixes at
least the horrible performance of Q3 if compressed textures are enabled.
2007-05-19 00:59:46 +02:00
Roland Scheidegger
3ad9c551b9 fix small s3tc mipmaps (#10968)
make sure that always whole blocks are uploaded.
(May still not work correctly if the top mip map is not at least a full block,
that is 4 pixels wide - not sure, but probably doesn't happen in real world)
2007-05-19 00:59:46 +02:00
Eric Anholt
1bdee18536 Merge branch 'master' into i915-unification
Conflicts:

	src/mesa/drivers/dri/common/dri_bufmgr.c
	src/mesa/drivers/dri/common/dri_drmpool.c
	src/mesa/drivers/dri/i915tex/intel_batchpool.c
	src/mesa/drivers/dri/i915tex/intel_buffer_objects.c
	src/mesa/drivers/dri/i915tex/intel_regions.c
	src/mesa/drivers/dri/i915tex/intel_screen.c
	src/mesa/drivers/dri/i915tex/intel_screen.h
2007-05-18 14:14:12 -07:00
Eric Anholt
c085e350df Fix a refcounting mistake with first_swap_fence. 2007-05-18 13:47:46 -07:00
Eric Anholt
a926b7397b Fix another mis-calling of _fence_wait_internal. 2007-05-18 13:47:21 -07:00
Eric Anholt
431baf221e Allow unreference with a NULL argument. 2007-05-18 12:59:39 -07:00
Eric Anholt
425d0c6305 Fix double-counting of low_offset in block->virtual. 2007-05-18 12:57:34 -07:00
Eric Anholt
b0529dcc7b Zero out bufmgr_fake on alloc. 2007-05-18 12:39:00 -07:00
Eric Anholt
71648a088e Dead code elimination and fix bufmgr_fake_wait_idle. 2007-05-18 12:10:05 -07:00
Eric Anholt
180f0bb964 Kill old struct bufmgr members. 2007-05-18 12:09:34 -07:00
Eric Anholt
bb1bb88bab Fix some use-before-initialize in bufmgr_fake. 2007-05-18 11:55:00 -07:00
Eric Anholt
4cf2cc0d18 Ratchet required version down to 1.5 (pre-TTM). 2007-05-18 11:29:55 -07:00
Brian
4fca6bfa5d fix STATE_HALF_VECTOR value (bug 10987) 2007-05-18 07:46:27 -06:00
Christoff Brill
8452814ec6 change max anisotropy test 2007-05-17 17:18:13 -06:00
Christoff Brill
63155ca2ca use R200_DEBUG for debug output 2007-05-17 17:17:25 -06:00
Christoff Brill
0985e786cd remove CVS/XFree86 keywords 2007-05-17 17:16:37 -06:00
Eric Anholt
b12b24a430 Restore missing intel_batchbuffer_reset() which was needed. 2007-05-17 15:36:43 -07:00
Eric Anholt
1f08f5d970 Rename the i915tex_dri.so driver to just i915_dri.so again. 2007-05-17 15:36:26 -07:00
Eric Anholt
cfc21190af Convert i915tex to the new interface and make it compile. 2007-05-17 15:28:01 -07:00
Brian
57ca033885 get rid of needless static function declarations at top of file 2007-05-17 15:28:42 -06:00
Brian
7fcf231c57 In DestroyPbuffer(), use GetReq() intead of GetReqExtra(). See bug 10983. 2007-05-17 15:28:42 -06:00
Ian Romanick
d834a870e6 Add missing _EXT suffix to 2D_ARRAY target enums. 2007-05-17 11:54:22 -07:00
Ian Romanick
817181ea50 Add array texture targets to list that can use compressed formats. 2007-05-17 11:16:19 -07:00
Ian Romanick
064cd7c78c Refactor determining whether a texture target can use compressed format 2007-05-17 11:14:58 -07:00
Brian
b5bbe055e4 make srcPtr param to make_1d_stack_mipmap() const 2007-05-17 08:56:46 -06:00
Brian
6ee6b2dcd9 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-05-17 08:54:08 -06:00
Tommy Schultz Lassen
67f82731fc r300: Removed the radeon_vertex_buffer structure. 2007-05-17 14:11:23 +00:00
Ian Romanick
bb372f1c9b Initial implementation of MESA_texture_array
Shadow sampling from texture arrays is still not implemented.  Everything
else should be there, though.
2007-05-16 15:34:22 -07:00
Ian Romanick
9ebffb86a6 Initial version of MESA_texture_array spec. 2007-05-16 15:33:36 -07:00
Eric Anholt
7b971a5008 WIP: Replace TTM buffer pool manager with a simplified interface.
The interface is not solid yet (some simplification to do still, and
adjustment for 0-copy), and the drivers are not converted.  However, the new
interface allows using the same calls to support either a TTM or a classic
static allocation backend, with the static backend allowing a more limited
feature set.
2007-05-16 15:14:20 -07:00
Ian Romanick
2f61cbd30c Add simple program to test GL_MESA_texture_array. 2007-05-16 14:46:13 -07:00
Ian Romanick
78bd2912f8 Add enums and functions for GL_{MESA,EXT}_texture_array. 2007-05-16 14:45:52 -07:00
Brian
347bb541f5 Skeleton file for 7.1 release notes. 2007-05-14 14:40:59 -06:00
J.Jansen
518f916886 Updated OpenVMS makefiles
modified:   src/mesa/descrip.mms
	modified:   src/mesa/drivers/osmesa/descrip.mms
	modified:   src/mesa/drivers/x11/descrip.mms
	modified:   src/mesa/main/descrip.mms
	modified:   src/mesa/shader/descrip.mms
	modified:   src/mesa/shader/slang/descrip.mms
	modified:   src/mesa/swrast/descrip.mms
	modified:   src/mesa/swrast_setup/descrip.mms
	modified:   src/mesa/tnl/descrip.mms
2007-05-10 08:04:39 +02:00
Zou Nan hai
58eac1bbf3 Support loop, conditional update fix 2007-05-09 10:08:10 +08:00
Zou Nan hai
a78b26fff0 support nested function call
else instruction fix.
2007-04-30 15:24:38 +08:00
Zou Nan hai
35707dbe57 Initial 965 GLSL support 2007-04-12 09:43:00 +08:00
1828 changed files with 121161 additions and 155097 deletions

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
*.dsp -crlf
*.dsw -crlf
*.sln -crlf
*.vcproj -crlf

16
.gitignore vendored Normal file
View File

@@ -0,0 +1,16 @@
*.a
*.o
*.so
*.sw[a-z]
*.pc
*~
depend
depend.bak
lib
lib64
configure
autom4te.cache
aclocal.m4
config.log
config.status
cscope*

111
Makefile
View File

@@ -14,25 +14,25 @@ default: $(TOP)/configs/current
doxygen:
(cd doxygen ; make) ; \
cd doxygen && $(MAKE)
clean:
@for dir in $(SUBDIRS) ; do \
-@touch $(TOP)/configs/current
-@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
(cd $$dir && $(MAKE) clean) ; \
fi \
done
-@test -s $(TOP)/configs/current || rm -f $(TOP)/configs/current
realclean:
touch $(TOP)/configs/current
$(MAKE) clean
realclean: clean
-rm -rf lib*
-rm -f $(TOP)/configs/current
-rm -f `find . -name \*.o`
-rm -f `find . -name \*.a`
-rm -f `find . -name \*.so`
-rm -f `find . -name depend`
-rm -f $(TOP)/configs/autoconf
-rm -rf autom4te.cache
-find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \
-name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
@@ -48,14 +48,20 @@ install:
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
.PHONY: default doxygen clean realclean install linux-directfb-install
# If there's no current configuration file
$(TOP)/configs/current:
@echo
@echo
@echo "Please choose a configuration from the following list:"
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS\|autoconf.*"
@echo
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
@echo
@echo "Or, run './configure' then 'make'"
@echo "See './configure --help' for details"
@echo
@echo "(ignore the following error message)"
@exit 1
@@ -66,24 +72,20 @@ aix-64 \
aix-64-static \
aix-gcc \
aix-static \
beos \
autoconf \
bluegene-osmesa \
bluegene-xlc-osmesa \
beos \
catamount-osmesa-pgi \
darwin \
darwin-fat-32bit \
darwin-fat-all \
darwin-static \
darwin-static-x86ppc \
dragonfly \
dragonfly-dri \
dragonfly-dri-amd64 \
dragonfly-dri-x86 \
freebsd \
freebsd-dri \
freebsd-dri-amd64 \
freebsd-dri-x86 \
freebsd-static \
hpux10 \
hpux10-gcc \
hpux10-static \
@@ -172,17 +174,26 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-7.0.4
LIB_NAME = MesaLib-7.0.4
DEMO_NAME = MesaDemos-7.0.4
GLUT_NAME = MesaGLUT-7.0.4
VERSION=7.4-rc1
DIRECTORY = Mesa-$(VERSION)
LIB_NAME = MesaLib-$(VERSION)
DEMO_NAME = MesaDemos-$(VERSION)
GLUT_NAME = MesaGLUT-$(VERSION)
MAIN_FILES = \
$(DIRECTORY)/Makefile* \
$(DIRECTORY)/configure \
$(DIRECTORY)/configure.ac \
$(DIRECTORY)/acinclude.m4 \
$(DIRECTORY)/aclocal.m4 \
$(DIRECTORY)/descrip.mms \
$(DIRECTORY)/mms-config. \
$(DIRECTORY)/bin/config.guess \
$(DIRECTORY)/bin/config.sub \
$(DIRECTORY)/bin/install-sh \
$(DIRECTORY)/bin/mklib \
$(DIRECTORY)/bin/minstall \
$(DIRECTORY)/bin/version.mk \
$(DIRECTORY)/configs/[a-z]* \
$(DIRECTORY)/docs/*.html \
$(DIRECTORY)/docs/COPYING \
@@ -190,9 +201,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 \
@@ -207,64 +216,52 @@ 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 \
$(DIRECTORY)/src/mesa/main/sources \
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
$(DIRECTORY)/src/mesa/glapi/sources \
$(DIRECTORY)/src/mesa/math/*.[ch] \
$(DIRECTORY)/src/mesa/math/descrip.mms \
$(DIRECTORY)/src/mesa/math/sources \
$(DIRECTORY)/src/mesa/shader/*.[ch] \
$(DIRECTORY)/src/mesa/shader/descrip.mms \
$(DIRECTORY)/src/mesa/shader/sources \
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
$(DIRECTORY)/src/mesa/shader/grammar/sources \
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/sources \
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
$(DIRECTORY)/src/mesa/swrast/sources \
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
$(DIRECTORY)/src/mesa/swrast_setup/sources \
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/sources \
$(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] \
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/common/sources \
$(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] \
@@ -274,6 +271,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 \
@@ -281,9 +279,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/sources \
$(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 \
@@ -299,24 +299,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/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] \
@@ -335,6 +330,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 \
@@ -390,7 +387,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 \
@@ -440,9 +438,20 @@ LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
# Everything for new a Mesa release:
tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \
lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
# Helper for autoconf builds
ACLOCAL = aclocal
ACLOCAL_FLAGS =
AUTOCONF = autoconf
AC_FLAGS =
aclocal.m4: configure.ac acinclude.m4
$(ACLOCAL) $(ACLOCAL_FLAGS)
configure: configure.ac aclocal.m4 acinclude.m4
$(AUTOCONF) $(AC_FLAGS)
rm_depend:
@for dep in $(DEPEND_FILES) ; do \
rm -f $$dep ; \
@@ -451,6 +460,7 @@ rm_depend:
lib_gz:
rm -f configs/current ; \
rm -f configs/autoconf ; \
cd .. ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
gzip $(LIB_NAME).tar ; \
@@ -470,6 +480,7 @@ glut_gz:
lib_bz2:
rm -f configs/current ; \
rm -f configs/autoconf ; \
cd .. ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
bzip2 $(LIB_NAME).tar ; \
@@ -489,6 +500,7 @@ glut_bz2:
lib_zip:
rm -f configs/current ; \
rm -f configs/autoconf ; \
rm -f $(LIB_NAME).zip ; \
cd .. ; \
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
@@ -516,3 +528,6 @@ md5:
@-md5sum $(GLUT_NAME).tar.gz
@-md5sum $(GLUT_NAME).tar.bz2
@-md5sum $(GLUT_NAME).zip
.PHONY: tarballs rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 \
glut_bz2 lib_zip demo_zip glut_zip md5

119
acinclude.m4 Normal file
View File

@@ -0,0 +1,119 @@
# A few convenience macros for Mesa, mostly to keep all the platform
# specifics out of configure.ac.
# MESA_PIC_FLAGS()
#
# Find out whether to build PIC code using the option --enable-pic and
# the configure enable_static/enable_shared settings. If PIC is needed,
# figure out the necessary flags for the platform and compiler.
#
# The platform checks have been shamelessly taken from libtool and
# stripped down to just what's needed for Mesa. See _LT_COMPILER_PIC in
# /usr/share/aclocal/libtool.m4 or
# http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=blob;f=libltdl/m4/libtool.m4;hb=HEAD
#
AC_DEFUN([MESA_PIC_FLAGS],
[AC_REQUIRE([AC_PROG_CC])dnl
AC_ARG_VAR([PIC_FLAGS], [compiler flags for PIC code])
AC_ARG_ENABLE([pic],
[AS_HELP_STRING([--disable-pic],
[compile PIC objects @<:@default=enabled for shared builds
on supported platforms@:>@])],
[enable_pic="$enableval"
test "x$enable_pic" = x && enable_pic=auto],
[enable_pic=auto])
# disable PIC by default for static builds
if test "$enable_pic" = auto && test "$enable_static" = yes; then
enable_pic=no
fi
# if PIC hasn't been explicitly disabled, try to figure out the flags
if test "$enable_pic" != no; then
AC_MSG_CHECKING([for $CC option to produce PIC])
# allow the user's flags to override
if test "x$PIC_FLAGS" = x; then
# see if we're using GCC
if test "x$GCC" = xyes; then
case "$host_os" in
aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*)
# PIC is the default for these OSes.
;;
mingw*|os2*|pw32*)
# This hack is so that the source file can tell whether
# it is being built for inclusion in a dll (and should
# export symbols for example).
PIC_FLAGS="-DDLL_EXPORT"
;;
darwin*|rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
PIC_FLAGS="-fno-common"
;;
hpux*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
# but not for PA HP-UX.
case $host_cpu in
hppa*64*|ia64*)
;;
*)
PIC_FLAGS="-fPIC"
;;
esac
;;
*)
# Everyone else on GCC uses -fPIC
PIC_FLAGS="-fPIC"
;;
esac
else # !GCC
case "$host_os" in
hpux9*|hpux10*|hpux11*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
# but not for PA HP-UX.
case "$host_cpu" in
hppa*64*|ia64*)
# +Z the default
;;
*)
PIC_FLAGS="+Z"
;;
esac
;;
linux*|k*bsd*-gnu)
case `basename "$CC"` in
icc*|ecc*|ifort*)
PIC_FLAGS="-KPIC"
;;
pgcc*|pgf77*|pgf90*|pgf95*)
# Portland Group compilers (*not* the Pentium gcc
# compiler, which looks to be a dead project)
PIC_FLAGS="-fpic"
;;
ccc*)
# All Alpha code is PIC.
;;
xl*)
# IBM XL C 8.0/Fortran 10.1 on PPC
PIC_FLAGS="-qpic"
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*|*Sun\ F*)
# Sun C 5.9 or Sun Fortran
PIC_FLAGS="-KPIC"
;;
esac
esac
;;
solaris*)
PIC_FLAGS="-KPIC"
;;
sunos4*)
PIC_FLAGS="-PIC"
;;
esac
fi # GCC
fi # PIC_FLAGS
AC_MSG_RESULT([$PIC_FLAGS])
fi
AC_SUBST([PIC_FLAGS])
])# MESA_PIC_FLAGS

16
autogen.sh Executable file
View File

@@ -0,0 +1,16 @@
#! /bin/sh
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
SRCDIR=`(cd "$srcdir" && pwd)`
ORIGDIR=`pwd`
if test "x$SRCDIR" != "x$ORIGDIR"; then
echo "Mesa cannot be built when srcdir != builddir" 1>&2
exit 1
fi
autoreconf -v --install || exit 1
"$srcdir"/configure "$@"

48
bin/confdiff.sh Executable file
View File

@@ -0,0 +1,48 @@
#!/bin/bash -e
usage()
{
echo "Usage: $0 <target1> <target2>"
echo "Highlight differences between Mesa configs"
echo "Example:"
echo " $0 linux linux-x86"
}
die()
{
echo "$@" >&2
return 1
}
case "$1" in
-h|--help) usage; exit 0;;
esac
[ $# -lt 2 ] && die 2 targets needed. See $0 --help
target1=$1
target2=$2
topdir=$(cd "`dirname $0`"/..; pwd)
cd "$topdir"
[ -f "./configs/$target1" ] || die Missing configs/$target1
[ -f "./configs/$target2" ] || die Missing configs/$target2
trap 'rm -f "$t1" "$t2"' 0
t1=$(mktemp)
t2=$(mktemp)
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t1
TOP = .
include \$(TOP)/configs/$target1
default:
EOF
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t2
TOP = .
include \$(TOP)/configs/$target2
default:
EOF
diff -pu -I'^#' $t1 $t2

1516
bin/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1626
bin/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

1
bin/install-sh Symbolic link
View File

@@ -0,0 +1 @@
minstall

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,17 +109,16 @@ do
-L*)
DEPS="$DEPS $1"
;;
-R*)
DEPS="$DEPS $1"
;;
-Wl*)
DEPS="$DEPS $1"
;;
-pthread)
# this is a special case (see bugzilla 10876)
DEPS="$DEPS $1"
;;
-Wl*)
# Another special case for DragonFly
DEPS="$DEPS $1"
;;
-Wl*)
DEPS="$DEPS $1"
;;
'-pthread')
DEPS="$DEPS -pthread"
;;
@@ -153,6 +154,10 @@ do
shift 1;
EXPORTS=$1
;;
'-id')
shift 1;
ID=$1
;;
-*)
echo "mklib: Unknown option: " $1 ;
exit 1
@@ -196,6 +201,7 @@ if [ ] ; then
echo PATCH is $PATCH
echo DEPS are $DEPS
echo "EXPORTS in" $EXPORTS
echo ID is $ID
echo "-----------------"
fi
@@ -254,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
@@ -271,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
@@ -340,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
@@ -369,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}
@@ -383,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}"
@@ -628,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}"

17
bin/version.mk Executable file
View File

@@ -0,0 +1,17 @@
#!/usr/bin/make -sf
# Print the various Mesa version fields. This is mostly used to add the
# version to configure.
# This reflects that this script is usually called from the toplevel
TOP = .
include $(TOP)/configs/default
version:
@echo $(MESA_VERSION)
major:
@echo $(MESA_MAJOR)
minor:
@echo $(MESA_MINOR)
tiny:
@echo $(MESA_TINY)

2
configs/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
current
autoconf

125
configs/autoconf.in Normal file
View File

@@ -0,0 +1,125 @@
# Autoconf configuration
# Pull in the defaults
include $(TOP)/configs/default
# This is generated by configure
CONFIG_NAME = autoconf
# Compiler and flags
CC = @CC@
CXX = @CXX@
OPT_FLAGS = @OPT_FLAGS@
ARCH_FLAGS = @ARCH_FLAGS@
ASM_FLAGS = @ASM_FLAGS@
PIC_FLAGS = @PIC_FLAGS@
DEFINES = @DEFINES@
CFLAGS = @CPPFLAGS@ @CFLAGS@ \
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
LDFLAGS = @LDFLAGS@
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
# Assembler
ASM_SOURCES = @ASM_SOURCES@
ASM_API = @ASM_API@
# Misc tools and flags
MAKE = @MAKE@
SHELL = @SHELL@
MKLIB_OPTIONS = @MKLIB_OPTIONS@
MKDEP = @MKDEP@
MKDEP_OPTIONS = @MKDEP_OPTIONS@
# Python and flags (generally only needed by the developers)
PYTHON2 = python
PYTHON_FLAGS = -t -O -O
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
GLUT_LIB = glut
GLW_LIB = GLw
OSMESA_LIB = @OSMESA_LIB@
# Library names (actual file names)
GL_LIB_NAME = @GL_LIB_NAME@
GLU_LIB_NAME = @GLU_LIB_NAME@
GLUT_LIB_NAME = @GLUT_LIB_NAME@
GLW_LIB_NAME = @GLW_LIB_NAME@
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
# Directories to build
LIB_DIR = @LIB_DIR@
SRC_DIRS = @SRC_DIRS@
GLU_DIRS = @GLU_DIRS@
DRIVER_DIRS = @DRIVER_DIRS@
# Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = @PROGRAM_DIRS@
# Driver specific build vars
DRI_DIRS = @DRI_DIRS@
WINDOW_SYSTEM = @WINDOW_SYSTEM@
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@ \
$(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
$(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
$(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
# DRI dependencies
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
LIBDRM_LIB = @LIBDRM_LIBS@
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
EXPAT_INCLUDES = @EXPAT_INCLUDES@
# Autoconf directories
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@

42
configs/config.mgw Normal file
View File

@@ -0,0 +1,42 @@
# MinGW config include file updated for Mesa 7.0
#
# Updated : by Heromyth, on 2007-7-21
# Email : zxpmyth@yahoo.com.cn
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
# The others havn't been tested yet.
# 2) The generated DLLs are *not* compatible with the ones built
# with the other compilers like VC8, especially for GLUT.
# 3) Although more tests are needed, it can be used individually!
# The generated DLLs by MingW with STDCALL are not totally compatible
# with the ones linked by Microsoft's compilers.
#
# xxx_USING_STDCALL = 1 Compiling MESA with __stdcall. This is default!
#
# xxx_USING_STDCALL = 0 Compiling MESA without __stdcall. I like this:)
#
# In fact, GL_USING_STDCALL and GLUT_USING_STDCALL can be
# different. For example:
#
# GL_USING_STDCALL = 0
# GLUT_USING_STDCALL = 1
#
# Suggested setting:
#
# ALL_USING_STDCALL = 1
#
# That's default!
#
ALL_USING_STDCALL = 1
ifeq ($(ALL_USING_STDCALL),1)
GL_USING_STDCALL = 1
GLUT_USING_STDCALL = 1
else
GL_USING_STDCALL = 0
GLUT_USING_STDCALL = 0
endif

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

@@ -1,17 +0,0 @@
# Define Debian-specific defaults.
CONFIG_NAME = debian-default
OPT_FLAGS = -O2 -g
# override settings in configs/linux-x86-64
LIB_DIR = lib
EXTRA_LIB_PATH =
SRC_DIRS = mesa
PROGRAM_DIRS =
INSTALL_DIR = /usr
# vim: ft=make

View File

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

View File

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

View File

@@ -1,36 +0,0 @@
# Configuration defaults for building the DRI drivers and DRI/GLX-enabled
# libGL.
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-dri-default
SRC_DIRS = glx/x11 mesa progs
DRIVER_DIRS = dri
PROGRAM_DIRS = xdemos
PROGS = glxdemo \
glxgears \
glxheads \
glxinfo
LIB_DIR = lib/glx
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/lib/dri
DRI_DRIVER_SEARCH_DIR = /usr/lib/dri
DRI_DIRS = mach64 mga r128 r200 r300 radeon s3v savage tdfx trident
ARCH_X86 = i386 amd64
ifneq ($(findstring $(DEB_BUILD_ARCH), $(ARCH_X86)),)
DRI_DIRS += i810 i915 i965 sis unichrome
endif
ifeq ($(DEB_BUILD_ARCH), sparc)
DRI_DIRS += ffb
endif
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
# vim: ft=make

View File

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

View File

@@ -1,14 +0,0 @@
# Configuration for building the DRI drivers on i386.
include $(TOP)/configs/linux-dri-x86
include $(TOP)/configs/debian-dri-optimized-default
CONFIG_NAME = debian-dri-i386-i686
ARCH_FLAGS = -march=i686
LIB_DIR = lib/glx/i686/cmov
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/lib/dri/i686/cmov
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration defaults for CPU-optimized builds of the DRI drivers and
# DRI/GLX-enabled libGL.
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-dri-optimized-default
# override so that the utility programs are not rebuilt with CPU-specific
# optimizations
SRC_DIRS = glx/x11 mesa
# vim: ft=make

View File

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

View File

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

View File

@@ -1,9 +0,0 @@
# Configuration for building only OSMesa on Debian.
include $(TOP)/configs/linux-osmesa
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration defaults for building OSMesa.
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-osmesa-default
DRIVER_DIRS = osmesa
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building only OSMesa (static version) on Debian.
include $(TOP)/configs/linux-osmesa-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa-static
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building OSMesa with support for 16 bits per color
# channel.
include $(TOP)/configs/linux-osmesa16
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa16
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building a static version of OSMesa with support for 16
# bits per color channel.
include $(TOP)/configs/linux-osmesa16-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa16-static
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building OSMesa with support for 32 bits per color
# channel.
include $(TOP)/configs/linux-osmesa32
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa32
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building a static version of OSMesa with support for 32
# bits per color channel.
include $(TOP)/configs/linux-osmesa32-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa32-static
# vim: ft=make

View File

@@ -1,12 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) on alpha (ev5 optimized).
include $(TOP)/configs/linux-alpha
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-alpha-ev5
SRC_DIRS = mesa
LIB_DIR = lib/ev5/cmov
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on amd64.
include $(TOP)/configs/linux-x86-64
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-amd64
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) on the build architecture.
include $(TOP)/configs/linux
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-any
# vim: ft=make

View File

@@ -1,14 +0,0 @@
# Configuration defaults for building Mesa (swx11 and GLU).
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-swx11+glu-default
SRC_DIRS = mesa glu glw
DRIVER_DIRS = x11
GLW_SOURCES += GLwMDrawA.c
GLW_LIB_DEPS += -lXm
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on i386.
include $(TOP)/configs/linux-x86
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-i386
# vim: ft=make

View File

@@ -1,14 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on i386 (i686 optimized).
include $(TOP)/configs/linux-x86
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-i386-i686
ARCH_FLAGS += -march=i686
SRC_DIRS = mesa
LIB_DIR = lib/i686/cmov
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on powerpc (603 optimized).
include $(TOP)/configs/linux-ppc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-powerpc-603
SRC_DIRS = mesa
LIB_DIR = lib/603/cmov
# vim: ft=make

View File

@@ -1,11 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on ppc64.
include $(TOP)/configs/debian-swx11+glu-any
CONFIG_NAME = debian-swx11+glu-ppc64
LIB_DIR = lib64
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on sparc.
include $(TOP)/configs/linux-sparc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-sparc
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on sparc (ultrasparc-optimized).
include $(TOP)/configs/linux-ultrasparc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-sparc-ultrasparc
SRC_DIRS = mesa
LIB_DIR = lib/ultrasparc/cmov
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on amd64.
include $(TOP)/configs/linux-x86-64-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-amd64
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on the build architecture.
include $(TOP)/configs/linux-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-any
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on i386.
include $(TOP)/configs/linux-x86-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-i386
# vim: ft=make

View File

@@ -1,11 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on ppc64.
include $(TOP)/configs/debian-swx11+glu-static-any
CONFIG_NAME = debian-swx11+glu-static-ppc64
LIB_DIR = lib64
# vim: ft=make

View File

@@ -9,8 +9,9 @@ CONFIG_NAME = default
# Version info
MESA_MAJOR=7
MESA_MINOR=0
MESA_TINY=4
MESA_MINOR=3
MESA_TINY=0
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
# external projects. This should be useless now that we use libdrm.
DRM_SOURCE_PATH=$(TOP)/../drm
@@ -24,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
@@ -51,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 =
@@ -58,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
@@ -74,18 +84,36 @@ PROGRAM_DIRS = demos redbook samples glsl xdemos
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
# Program dependencies - specific GL/glut libraries added in Makefiles
APP_LIB_DEPS = -lm
# Installation directories (for make install)
INSTALL_DIR = /usr/local
DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/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

@@ -1,75 +0,0 @@
# Default/template configuration
# This is included by other config files which may override some
# of these variables.
CONFIG_NAME = default
# Version info
MESA_MAJOR=6
MESA_MINOR=3
MESA_TINY=0
# external projects
#DRM_SOURCE_PATH=$(TOP)/../drm
DRM_SOURCE_PATH=/home/projects/DRI-freedesktop/drm
# Compiler and flags
CC = cc
CXX = CC
CFLAGS = -O
CXXFLAGS = -O
GLU_CFLAGS =
# Misc tools and flags
MKLIB_OPTIONS =
MKDEP = makedepend
MKDEP_OPTIONS = -fdepend
MAKE = make
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
GLUT_LIB = glut
GLW_LIB = GLw
OSMESA_LIB = OSMesa
# Library names (actual file names)
GL_LIB_NAME = lib$(GL_LIB).so
GLU_LIB_NAME = lib$(GLU_LIB).so
GLUT_LIB_NAME = lib$(GLUT_LIB).so
GLW_LIB_NAME = lib$(GLW_LIB).so
OSMESA_LIB_NAME = lib$(OSMesa).so
# Optional assembly language optimization files for libGL
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
# Directories
LIB_DIR = $(TOP)/lib
INSTALL_PREFIX = /usr/local
SRC_DIRS = mesa glu glut/glx glw
GLU_DIRS = sgi
DRIVER_DIRS = x11 osmesa
# Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = demos redbook samples xdemos
# Library/program dependencies
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
# Shading language support (set to 0 or 1)
SHADING_LANGUAGE = 0

View File

@@ -1,38 +0,0 @@
# Configuration for DragonFly
include $(TOP)/configs/default
CONFIG_NAME = DragonFly
# Compiler and flags
CC = cc
CXX = c++
MAKE = gmake
OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
-DHZ=100
X11_INCLUDES = -I/usr/pkg/include
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) \
-ffast-math -pedantic
CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
EXTRA_LIB_PATH = -L/usr/pkg/lib
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) \
-l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
# Installation directories (for make install)
INSTALL_DIR = /usr/pkg
DRI_DRIVER_INSTALL_DIR = /usr/pkg/lib/modules/dri/

View File

@@ -1,56 +0,0 @@
# -*-makefile-*-
# Configuration for dragonfly-dri: DragonFly DRI hardware drivers
include $(TOP)/configs/dragonfly
CONFIG_NAME = dragonfly-dri
# Compiler and flags
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O -g
EXPAT_INCLUDES = -I/usr/pkg/include
X11_INCLUDES = -I/usr/pkg/include
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
-DHAVE_ALIAS
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes \
-std=c99 -Wundef -ffast-math $(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi \
-pedantic $(ASM_FLAGS) $(X11_INCLUDES)
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
ASM_SOURCES =
# Library/program dependencies
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = -L/usr/pkg/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
GL_LIB_DEPS = -L/usr/pkg/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -lpthread $(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/pkg/lib -lGLU -lGL -lX11 -lXmu \
-lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/pkg/lib -lGL -lXt -lX11
# Directories
SRC_DIRS = glx/x11 mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM = dri
DRM_SOURCE_PATH = $(TOP)/../drm
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
unichrome savage sis

View File

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

View File

@@ -1,13 +0,0 @@
# -*-makefile-*-
# Configuration for dragonfly-dri-x86: DragonFly DRI hardware drivers
include $(TOP)/configs/dragonfly-dri
CONFIG_NAME = dragonfly-dri-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)

View File

@@ -15,7 +15,7 @@ PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
-DHZ=100
X11_INCLUDES = -I/usr/X11R6/include
X11_INCLUDES = -I/usr/local/include
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
@@ -27,5 +27,5 @@ GLUT_CFLAGS = -fexceptions
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
EXTRA_LIB_PATH = -L/usr/X11R6/lib
EXTRA_LIB_PATH = -L/usr/local/lib
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm

View File

@@ -9,10 +9,10 @@ CONFIG_NAME = freebsd-dri
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O
OPT_FLAGS = -O -g
EXPAT_INCLUDES = -I/usr/local/include
X11_INCLUDES = -I/usr/X11R6/include
X11_INCLUDES = -I/usr/local/include
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
-DHAVE_ALIAS
@@ -32,11 +32,11 @@ ASM_SOURCES =
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -pthread $(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
# Directories

View File

@@ -1,27 +0,0 @@
# Configuration for generic FreeBSD, making static libs
# Written by cy on 2008-04-23.
include $(TOP)/configs/freebsd
CONFIG_NAME = freebsd-static
MKLIB_OPTIONS = -static
PIC_FLAGS =
# 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
# Library/program dependencies (static libs don't have dependencies)
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
# Need to specify all libraries we may need
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
-lstdc++ -lm

View File

@@ -47,8 +47,7 @@ LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
LIBDRM_LIB = `pkg-config --libs libdrm`
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
-lm -lpthread -ldl \
$(LIBDRM_LIB)
-lm -lpthread -ldl $(LIBDRM_LIB)
# This is now 0 by default since it seems to confuse the hell out of people
@@ -71,5 +70,5 @@ WINDOW_SYSTEM=dri
# gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = i810 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb

View File

@@ -1,55 +0,0 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/default
CONFIG_NAME = linux-dri
# Compiler and flags
CC = gcc
CXX = g++
MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DDRI_NEW_INTERFACE_ONLY -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1
X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
# Directories
SRC_DIRS = glx/x11 mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon s3v \
savage sis tdfx trident unichrome fb

View File

@@ -20,5 +20,5 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib64
# the new interface. i810 are missing because there is no x86-64
# system where they could *ever* be used.
#
DRI_DIRS = i915tex i915 i965 mach64 mga r128 r200 radeon tdfx unichrome savage r300
DRI_DIRS = i915 i965 mach64 mga r128 r200 r300 radeon savage tdfx unichrome

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

@@ -9,17 +9,8 @@ CONFIG_NAME = linux-osmesa
# Compiler and flags
CC = gcc
CXX = g++
PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DUSE_XSHM -DHAVE_POSIX_MEMALIGN
CFLAGS = -ansi -pedantic $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -ffast-math
CXXFLAGS = -ansi -pedantic $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
@@ -34,5 +25,4 @@ PROGRAM_DIRS = osdemos
# Dependencies
OSMESA_LIB_DEPS = -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU
APP_LIB_DEPS = -lm -lpthread

View File

@@ -1,15 +0,0 @@
# Configuration for building only libOSMesa on Linux, no Xlib driver
# This doesn't really have any Linux dependencies, so it should be usable
# on other (gcc-based) systems.
include $(TOP)/configs/linux-osmesa
CONFIG_NAME = linux-osmesa-static
# Compiler and flags
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names
OSMESA_LIB_NAME = lib$(OSMESA_LIB).a

View File

@@ -1,19 +1,31 @@
# Configuration for 16 bits/channel OSMesa library on Linux
include $(TOP)/configs/linux-osmesa
include $(TOP)/configs/default
CONFIG_NAME = linux-osmesa16
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
DEFINES += -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=32
# Library names
OSMESA_LIB = OSMesa16
OSMESA_LIB_NAME = libOSMesa16.so
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS =
# Dependencies
APP_LIB_DEPS = -l$(OSMESA_LIB)
# Dependencies
OSMESA_LIB_DEPS = -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lm -lpthread

View File

@@ -1,10 +1,14 @@
# Configuration for 16 bits/channel OSMesa library on Linux
include $(TOP)/configs/linux-osmesa16
include $(TOP)/configs/default
CONFIG_NAME = linux-osmesa16-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
PIC_FLAGS =
@@ -13,5 +17,16 @@ CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
# Library names
OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
OSMESA_LIB = OSMesa16
OSMESA_LIB_NAME = libOSMesa16.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS =
# Dependencies
OSMESA_LIB_DEPS = -lm -lpthread
APP_LIB_DEPS = -lm -lpthread

View File

@@ -1,22 +1,31 @@
# Configuration for 32 bits/channel OSMesa library on Linux
include $(TOP)/configs/linux-osmesa
include $(TOP)/configs/default
CONFIG_NAME = linux-osmesa32
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
DEFINES += -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
# Library names
OSMESA_LIB = OSMesa32
OSMESA_LIB_NAME = libOSMesa32.so
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS =
# Dependencies
APP_LIB_DEPS = -l$(OSMESA_LIB)
# Dependencies
OSMESA_LIB_DEPS = -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lm -lpthread

View File

@@ -1,13 +0,0 @@
# Configuration for 32 bits/channel OSMesa library on Linux
include $(TOP)/configs/linux-osmesa32
CONFIG_NAME = linux-osmesa32-static
# Compiler and flags
MKLIB_OPTIONS = -static
PIC_FLAGS =
# Library names
OSMESA_LIB_NAME = lib$(OSMESA_LIB).a

View File

@@ -24,7 +24,8 @@ PCIACCESS_LIB = `pkg-config --libs pciaccess`
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DHAVE_ALIAS
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math

View File

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

1114
configure.ac Normal file

File diff suppressed because it is too large Load Diff

121
debian/changelog vendored
View File

@@ -1,3 +1,124 @@
mesa (7.4~rc1-1) experimental; urgency=low
* New upstream release candidate.
* Fix watch file to make uscan not consider release candidates as newer than
actual releases.
* debian/control: add lpia to the Architecture field for
libgl1-mesa-dri{,-dbg} to match Ubuntu.
* debian/rules: on lpia, only build the i915 and i965 dri drivers (based on
Ubuntu changes).
* Build-depend on linux-libc-dev >= 2.6.29 on linux archs.
-- Julien Cristau <jcristau@debian.org> Wed, 25 Mar 2009 11:34:42 +0100
mesa (7.3-1) experimental; urgency=low
[ Timo Aaltonen ]
* New upstream release.
[ Julien Cristau ]
* Try to make the diff a bit smaller by removing directories that are in
upstream git but not in tarballs.
-- Julien Cristau <jcristau@debian.org> Fri, 30 Jan 2009 20:00:34 +0100
mesa (7.3~rc3-1) experimental; urgency=low
[ Timo Aaltonen ]
* New upstream release candidate.
[ Julien Cristau ]
* Refresh patches 03 and 04.
-- Julien Cristau <jcristau@debian.org> Wed, 21 Jan 2009 19:01:21 +0100
mesa (7.3~rc1-1) experimental; urgency=low
* New upstream release candidate.
+ provides DRI2 (closes: #411141).
+ i915: fallback for cube map texture. Fixes GPU hang with scorched3d
(closes: #484049).
[ Timo Aaltonen ]
* Remove debian/patches/01_disable-intel-classic-warn.diff, the
warning is gone now.
* debian/control:
- Build-depend on x11proto-dri2-dev (>= 1.99.3)
[ Julien Cristau ]
* Require libdrm-dev 2.4.3.
* Merge packaging changes from unstable, from 7.0.3-5 to 7.0.3-7.
* Delete unused configs/debian-*, and install-source.sh script. We've
switched to using autoconf, and mesa-swx11-source is gone.
* Delete some now unused code from debian/rules.
-- Julien Cristau <jcristau@debian.org> Sat, 10 Jan 2009 22:14:55 +0100
mesa (7.2-1) experimental; urgency=low
[ Brice Goglin ]
* Fix grammar and punctuation in glxinfo(1), thanks Sam Hocevar,
closes: #498595.
[ Timo Aaltonen ]
* New upstream release.
* Refresh patch 04_osmesa_version.diff
[ Julien Cristau ]
* Remove the build-dep on dri2proto, DRI2 support has been removed.
* intel: don't warn about TTM init failure.
-- Julien Cristau <jcristau@debian.org> Wed, 24 Sep 2008 14:28:21 +0200
mesa (7.1-1) experimental; urgency=low
* Add parallel build support.
* New upstream development release
+ libGLU now only exports its public interface (closes: #319388)
* Some more parallel build updates.
-- Julien Cristau <jcristau@debian.org> Wed, 27 Aug 2008 19:52:24 +0200
mesa (7.1~rc3-1) experimental; urgency=low
[ Julien Cristau ]
* New upstream release candidate (updated to git commit 4fab47b1).
* Build against libdrm >= 2.3.1.
* 04_osmesa_version.diff: fix libOSMesa versioning, to revert accidental
SONAME bump.
[ Timo Aaltonen ]
* Refresh patches, and drop obsolete 00_create-libdir.patch and
01_fix-makefile.patch.
* Build-depend on x11proto-dri2-dev.
* Drop mesa-swx11-source.
* Add dri_interface.h to mesa-common-dev.
* Add gl.pc to libgl1-mesa-dev
* rules: Replace the old build system with the new autotools-based
system.
* Run autoreconf before building the various flavours..
* Add automake & autoconf to build-deps.
* Use --enable-glx-tls for dri.
-- Julien Cristau <jcristau@debian.org> Sun, 13 Jul 2008 19:41:42 +0200
mesa (7.0.3-7) unstable; urgency=low
* Cherry-pick patch from upstream:
Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
(closes: #484180).
* Also build the x86-specific dri drivers on kfreebsd (closes: #492894).
-- Julien Cristau <jcristau@debian.org> Sun, 14 Dec 2008 07:34:58 +0530
mesa (7.0.3-6) unstable; urgency=high
* Update debian/copyright to the SGI Free Software License B, version 2.0.
It now mirrors the free X11 license used by X.Org (closes: #368560).
http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html
-- Julien Cristau <jcristau@debian.org> Sat, 20 Sep 2008 16:30:44 +0200
mesa (7.0.3-5) unstable; urgency=low
* Disable the i915tex driver, it doesn't build against libdrm 2.3.1.

22
debian/control vendored
View File

@@ -4,7 +4,12 @@ Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Thierry Reding <thierry@gilfi.de>, Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
Standards-Version: 3.7.3
Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, libdrm-dev (>= 2.2.0) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19), libxfixes-dev, libxdamage-dev, libxext-dev
Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config,
libdrm-dev (>= 2.4.3) [!hurd-i386], libx11-dev, xutils-dev,
x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev,
libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19), libxfixes-dev,
libxdamage-dev, libxext-dev, autoconf, automake, x11proto-dri2-dev (>= 1.99.3),
linux-libc-dev (>= 2.6.29) [!hurd-i386 !kfreebsd-amd64 !kfreebsd-i386]
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
Homepage: http://mesa3d.sourceforge.net/
@@ -158,7 +163,7 @@ Description: Debugging symbols for the Mesa GLX runtime
Package: libgl1-mesa-dri
Section: libs
Priority: optional
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 lpia m68k mips mipsel powerpc s390 sparc
Depends: ${shlibs:Depends}, libgl1-mesa-glx (= ${binary:Version})
Suggests: libglide3
Conflicts: xlibmesa-dri (<< 1:7.0.0)
@@ -179,7 +184,7 @@ Description: A free implementation of the OpenGL API -- DRI modules
Package: libgl1-mesa-dri-dbg
Section: libdevel
Priority: extra
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 lpia m68k mips mipsel powerpc s390 sparc
Depends: libgl1-mesa-dri (= ${binary:Version})
Description: Debugging symbols for the Mesa DRI modules
This version of Mesa provides GLX and DRI capabilities: it is capable of
@@ -335,17 +340,6 @@ Description: A free implementation of the OpenGL API -- development files
The headers and static libraries for compiling programs that use this
library are included.
Package: mesa-swx11-source
Section: libdevel
Architecture: all
Description: Mesa software rasteriser source -- development files
This package contains the source to the Mesa software rasteriser, which
implements all of Mesa's GL support in software. It powers the X11 and
X server backends (assuming unaccelerated indirect). This package is
provided mainly for modular X servers which support GL, and need the
software rasteriser source to build the GLcore module for unaccelerated
indirect rendering.
Package: mesa-utils
Section: x11
Priority: optional

297
debian/copyright vendored
View File

@@ -65,283 +65,32 @@ License:
Some files, as listed below, are made available under the SGI Free B
license. This license is as follows:
SGI FREE SOFTWARE LICENSE B (Version 1.1 [02/22/2000])
SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
1. Definitions.
1.1. "Additional Notice Provisions" means such additional provisions as
appear in the Notice in Original Code under the heading "Additional
Notice Provisions."
1.2. "Covered Code" means the Original Code or Modifications, or any
combination thereof.
1.3. "Hardware" means any physical device that accepts input, processes
input, stores the results of processing, and/or provides output.
1.4. "Larger Work" means a work that combines Covered Code or portions
thereof with code not governed by the terms of this License.
1.5. "Licensable" means having the right to grant, to the maximum extent
possible, whether at the time of the initial grant or subsequently
acquired, any and all of the rights conveyed herein.
1.6. "License" means this document.
1.7. "Licensed Patents" means patent claims Licensable by SGI that are
infringed by the use or sale of Original Code or any Modifications
provided by SGI, or any combination thereof.
1.8. "Modifications" means any addition to or deletion from the
substance or structure of the Original Code or any previous
Modifications. When Covered Code is released as a series of files,
a Modification is:
A. Any addition to the contents of a file containing Original Code
and/or addition to or deletion from the contents of a file
containing previous Modifications.
B. Any new file that contains any part of the Original Code or
previous Modifications.
1.9. "Notice" means any notice in Original Code or Covered Code, as
required by and in compliance with this License.
1.10. "Original Code" means source code of computer software code that
is described in the source code Notice required by Exhibit A as
Original Code, and updates and error corrections specifically
thereto.
1.11. "Recipient" means an individual or a legal entity exercising
rights under, and complying with all of the terms of, this License
or a future version of this License issued under Section 8. For
legal entities, "Recipient" includes any entity that controls, is
controlled by, or is under common control with Recipient. For
purposes of this definition, "control" of an entity means (a) the
power, direct or indirect, to direct or manage such entity, or (b)
ownership of fifty percent (50%) or more of the outstanding shares
or beneficial ownership of such entity.
1.12. "Recipient Patents" means patent claims Licensable by a Recipient
that are infringed by the use or sale of Original Code or any
Modifications provided by SGI, or any combination thereof.
1.13. "SGI" means Silicon Graphics, Inc.
1.14. "SGI Patents" means patent claims Licensable by SGI other than the
Licensed Patents.
2. License Grant and Restrictions.
2.1. SGI License Grant. Subject to the terms of this License and any
third party intellectual property claims, for the duration of
intellectual property protections inherent in the Original Code,
SGI hereby grants Recipient a worldwide, royalty-free,
non-exclusive license, to do the following: (i) under copyrights
Licensable by SGI, to reproduce, distribute, create derivative
works from, and, to the extent applicable, display and perform the
Original Code and/or any Modifications provided by SGI alone and/or
as part of a Larger Work; and (ii) under any Licensable Patents, to
make, have made, use, sell, offer for sale, import and/or otherwise
transfer the Original Code and/or any Modifications provided by
SGI. Recipient accepts the terms and conditions of this License by
undertaking any of the aforementioned actions. The patent license
shall apply to the Covered Code if, at the time any related
Modification is added, such addition of the Modification causes
such combination to be covered by the Licensed Patents. The patent
license in Section 2.1(ii) shall not apply to any other
combinations that include the Modification. No patent license is
provided under SGI Patents for infringements of SGI Patents by
Modifications not provided by SGI or combinations of Original Code
and Modifications not provided by SGI.
2.2. Recipient License Grant. Subject to the terms of this License and
any third party intellectual property claims, Recipient hereby
grants SGI and any other Recipients a worldwide, royalty-free,
non-exclusive license, under any Recipient Patents, to make, have
made, use, sell, offer for sale, import and/or otherwise transfer
the Original Code and/or any Modifications provided by SGI.
2.3. No License For Hardware Implementations. The licenses granted in
Section 2.1 and 2.2 are not applicable to implementation in
Hardware of the algorithms embodied in the Original Code or any
Modifications provided by SGI .
3. Redistributions.
3.1. Retention of Notice/Copy of License. The Notice set forth in
Exhibit A, below, must be conspicuously retained or included in any
and all redistributions of Covered Code. For distributions of the
Covered Code in source code form, the Notice must appear in every
file that can include a text comments field; in executable form,
the Notice and a copy of this License must appear in related
documentation or collateral where the Recipients rights relating
to Covered Code are described. Any Additional Notice Provisions
which actually appears in the Original Code must also be retained
or included in any and all redistributions of Covered Code.
3.2. Alternative License. Provided that Recipient is in compliance with
the terms of this License, Recipient may, so long as without
derogation of any of SGIs rights in and to the Original Code,
distribute the source code and/or executable version(s) of Covered
Code under (1) this License; (2) a license identical to this
License but for only such changes as are necessary in order to
clarify Recipients role as licensor of Modifications; and/or (3) a
license of Recipients choosing, containing terms different from
this License, provided that the license terms include this Section
3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be
modified or superseded by any other terms of such license. If
Recipient elects to use any license other than this License,
Recipient must make it absolutely clear that any of its terms which
differ from this License are offered by Recipient alone, and not by
SGI. It is emphasized that this License is a limited license, and,
regardless of the license form employed by Recipient in accordance
with this Section 3.2, Recipient may relicense only such rights, in
Original Code and Modifications by SGI, as it has actually been
granted by SGI in this License.
3.3. Indemnity. Recipient hereby agrees to indemnify SGI for any
liability incurred by SGI as a result of any such alternative
license terms Recipient offers.
4. Termination. This License and the rights granted hereunder will
terminate automatically if Recipient breaches any term herein and
fails to cure such breach within 30 days thereof. Any sublicense to
the Covered Code that is properly granted shall survive any
termination of this License, absent termination by the terms of such
sublicense. Provisions that, by their nature, must remain in effect
beyond the termination of this License, shall survive.
5. No Trademark Or Other Rights. This License does not grant any rights
to: (i) any software apart from the Covered Code, nor shall any
other rights or licenses not expressly granted hereunder arise by
implication, estoppel or otherwise with respect to the Covered Code;
(ii) any trade name, trademark or service mark whatsoever, including
without limitation any related right for purposes of endorsement or
promotion of products derived from the Covered Code, without prior
written permission of SGI; or (iii) any title to or ownership of the
Original Code, which shall at all times remains with SGI. All rights
in the Original Code not expressly granted under this License are
reserved.
6. Compliance with Laws; Non-Infringement. There are various worldwide
laws, regulations, and executive orders applicable to dispositions
of Covered Code, including without limitation export, re-export, and
import control laws, regulations, and executive orders, of the U.S.
government and other countries, and Recipient is reminded it is
obliged to obey such laws, regulations, and executive orders.
Recipient may not distribute Covered Code that (i) in any way
infringes (directly or contributorily) any intellectual property
rights of any kind of any other person or entity or (ii) breaches
any representation or warranty, express, implied or statutory, to
which, under any applicable law, it might be deemed to have been
subject.
7. Claims of Infringement. If Recipient learns of any third party claim
that any disposition of Covered Code and/or functionality wholly or
partially infringes the third party's intellectual property rights,
Recipient will promptly notify SGI of such claim.
8. Versions of the License. SGI may publish revised and/or new versions
of the License from time to time, each with a distinguishing version
number. 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. Subject to the provisions of Sections 3
and 4 of this License, only SGI may modify the terms applicable to
Covered Code created under this License.
9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL
EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED,
INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS
OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR
PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY
AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE
IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING,
REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL
PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED
HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY,
WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT
LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR
BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF
DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
11. Indemnity. Recipient shall be solely responsible for damages
arising, directly or indirectly, out of its utilization of rights
under this License. Recipient will defend, indemnify and hold
harmless Silicon Graphics, Inc. from and against any loss,
liability, damages, costs or expenses (including the payment of
reasonable attorneys fees) arising out of Recipient's use,
modification, reproduction and distribution of the Covered Code or
out of any representation or warranty made by Recipient.
12. U.S. Government End Users. The Covered Code is a "commercial item"
consisting of "commercial computer software" as such terms are
defined in title 48 of the Code of Federal Regulations and all U.S.
Government End Users acquire only the rights set forth in this
License and are subject to the terms of this License.
13. Miscellaneous. This License represents the complete agreement
concerning the its subject matter. If any provision of this License
is held to be unenforceable, such provision shall be reformed so as
to achieve as nearly as possible the same legal and economic effect
as the original provision and the remainder of this License will
remain in effect. This License shall be governed by and construed
in accordance with the laws of the United States and the State of
California as applied to agreements entered into and to be
performed entirely within California between California residents.
Any litigation relating to this License shall be subject to the
exclusive jurisdiction of the Federal Courts of the Northern
District of California (or, absent subject matter jurisdiction in
such courts, the courts of the State of California), with venue
lying exclusively in Santa Clara County, California, with the
losing party responsible for costs, including without limitation,
court costs and reasonable attorneys fees and expenses. The
application of the United Nations Convention on Contracts for the
International Sale of Goods is expressly excluded. Any law or
regulation that provides that the language of a contract shall be
construed against the drafter shall not apply to this License.
Exhibit A
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: [name of software, version number,
and release date], developed by Silicon Graphics, Inc. The Original Code
is Copyright (c) [dates of first publication, as appearing in the Notice
in the Original Code] Silicon Graphics, Inc. Copyright in any portions
created by third parties is as indicated elsewhere herein. All Rights
Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights
Reserved.
Additional Notice Provisions: [such additional provisions, if any, as
appear in the Notice in the Original Code under the heading "Additional
Notice Provisions"]
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.
--------------------------------------------------------------------------

2
debian/glxinfo.1 vendored
View File

@@ -29,7 +29,7 @@ Print usage information.
Force an indirect rendering context.
.TP 8
.B \-b
Find the ``best'' visual and print it's number.
Find the "best" visual and print its number.
.TP 8
.B \-l
Print interesting OpenGL limits.

View File

@@ -1 +1,2 @@
usr/lib/libGL.so
usr/lib/pkgconfig/gl.pc

View File

@@ -2,3 +2,4 @@ usr/include/GL/gl.h
usr/include/GL/glext.h
usr/include/GL/gl_mangle.h
usr/include/GL/glx*.h
usr/include/GL/internal/dri_interface.h

View File

@@ -1 +0,0 @@
usr/share/mesa-source/*

View File

@@ -1,17 +0,0 @@
Patch that allows the Mesa makefile to create a LIB_DIR that is more than one
level below TOP.
This patch by Thierry Reding.
Not submitted to Mesa.
--- a/src/Makefile
+++ b/src/Makefile
@@ -29,7 +29,7 @@
done
$(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
+ mkdir -p $(TOP)/$(LIB_DIR)
clean:

View File

@@ -1,18 +0,0 @@
Do not build OSMesa for a standalone configuration, since Debian only ships
OSMesa in a separate package.
This patch by Thierry Reding.
Index: mesa/src/mesa/Makefile
===================================================================
--- mesa.orig/src/mesa/Makefile 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/Makefile 2007-04-25 01:44:58.000000000 +0200
@@ -105,7 +105,7 @@
$(OSMESA_DRIVER_OBJECTS)
-stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
+stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
osmesa-only: depend subdirs $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)

View File

@@ -4,15 +4,15 @@ This patch by David Nusinow.
Index: mesa/src/mesa/main/imports.h
===================================================================
--- mesa.orig/src/mesa/main/imports.h 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/main/imports.h 2007-04-25 01:45:04.000000000 +0200
--- mesa.orig/src/mesa/main/imports.h 2008-07-01 15:26:57.000000000 +0300
+++ mesa/src/mesa/main/imports.h 2008-07-01 15:45:49.000000000 +0300
@@ -158,8 +158,9 @@
*** USE_IEEE: Determine if we're using IEEE floating point
***/
#if defined(__i386__) || defined(__386__) || defined(__sparc__) || \
- defined(__s390x__) || defined(__powerpc__) || \
+ defined(__s390__) || defined(__s390x__) || defined(__powerpc__) || \
defined(__amd64__) || defined(__x86_64__) || \
defined(__x86_64__) || \
+ defined(__m68k__) || \
defined(ia64) || defined(__ia64__) || \
defined(__hppa__) || defined(hpux) || \

View File

@@ -10,6 +10,8 @@ Also remove references to GLU library since it is not required
and we don't actually build it at this point.
Index: mesa/progs/xdemos/Makefile
===================================================================
--- mesa.orig/progs/xdemos/Makefile
+++ mesa/progs/xdemos/Makefile
@@ -10,7 +10,7 @@
@@ -18,10 +20,10 @@ and we don't actually build it at this point.
-PROGS = \
+PROGS ?= \
corender \
glsync \
glthreads \
glxdemo \
glxgears \
@@ -55,6 +55,11 @@
@@ -61,6 +61,11 @@
extra: $(EXTRA_PROGS)
@@ -33,6 +35,8 @@ and we don't actually build it at this point.
clean:
-rm -f $(PROGS) $(EXTRA_PROGS)
-rm -f *.o *~
Index: mesa/progs/Makefile
===================================================================
--- mesa.orig/progs/Makefile
+++ mesa/progs/Makefile
@@ -21,8 +21,12 @@
@@ -48,4 +52,4 @@ and we don't actually build it at this point.
+ done
clean:
@for dir in $(SUBDIRS) tests ; do \
-@for dir in $(SUBDIRS) tests ; do \

22
debian/patches/04_osmesa_version.diff vendored Normal file
View File

@@ -0,0 +1,22 @@
Index: mesa/src/mesa/drivers/osmesa/Makefile
===================================================================
--- mesa.orig/src/mesa/drivers/osmesa/Makefile
+++ mesa/src/mesa/drivers/osmesa/Makefile
@@ -45,7 +45,7 @@
$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS)
$(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+ -major 6 -minor 5 -patch 3 \
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
-id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
$(OSMESA_LIB_DEPS) $(OBJECTS)
@@ -57,7 +57,7 @@
# with all the other Mesa sources (compiled with -DCHAN_BITS=16/32
osmesa16: $(OBJECTS) $(CORE_MESA)
$(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+ -major 6 -minor 5 -patch 3 \
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
-id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
$(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)

View File

@@ -1,4 +1,3 @@
00_create-libdir.patch
01_fix-makefile.patch
02_use-ieee-fp-on-s390-and-m68k.patch
03_optional-progs-and-install.patch
04_osmesa_version.diff

208
debian/rules vendored
View File

@@ -5,97 +5,208 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
STAMP_DIR = debian/stamp
QUILT_STAMPFN = $(STAMP_DIR)/patch
include /usr/share/quilt/quilt.make
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_BUILD_DIR ?= $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
export DEB_BUILD_ARCH
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += --build=$(DEB_HOST_GNU_TYPE)
else
confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
endif
# choose which configurations to build
SWX11_GLU_CONFIGS =
DRI_CONFIGS =
include debian/scripts/choose-configs
# build the following configurations by default
CONFIGS = $(SWX11_GLU_CONFIGS) \
$(DRI_CONFIGS) \
debian-osmesa \
debian-osmesa-static \
debian-osmesa16 \
debian-osmesa16-static \
debian-osmesa32 \
debian-osmesa32-static
dri \
osmesa \
osmesa-static \
osmesa16 \
osmesa16-static \
osmesa32 \
osmesa32-static
STAMP_DIR = debian/stamp
STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
ARCH_INSTALL_STAMPS = $(addprefix $(STAMP)-install-, $(CONFIGS))
INDEP_INSTALL_STAMPS = $(STAMP_DIR)/install-source
INSTALL_TARGETS = $(addprefix install-, $(CONFIGS))
QUILT_STAMPFN = $(STAMP_DIR)/patch
include /usr/share/quilt/quilt.make
confflags-common = \
--disable-glu \
--disable-glut \
--disable-glw \
CFLAGS="$(CFLAGS)"
DRI_DRIVERS = swrast
# hurd doesn't do direct rendering
ifeq ($(DEB_HOST_ARCH_OS), hurd)
DIRECT_RENDERING = --disable-driglx-direct
else
DIRECT_RENDERING = --enable-driglx-direct
ifeq ($(DEB_HOST_ARCH), lpia)
DRI_DRIVERS += i915 i965
else
DRI_DRIVERS += mach64 mga r128 r200 r300 radeon s3v savage tdfx trident
ifeq ($(DEB_HOST_GNU_CPU), i486)
DRI_DRIVERS += i810 i915 i965 sis unichrome
else ifeq ($(DEB_HOST_GNU_CPU), x86_64)
DRI_DRIVERS += i915 i965 sis unichrome
else ifeq ($(DEB_HOST_ARCH), sparc)
DRI_DRIVERS += ffb
endif
endif
endif
confflags-dri = \
--with-driver=dri \
--with-dri-drivers="$(DRI_DRIVERS)" \
--with-demos=xdemos \
--libdir=/usr/lib/glx \
--with-dri-driverdir=/usr/lib/dri \
--enable-glx-tls \
$(DIRECT_RENDERING) \
$(confflags-common)
confflags-osmesa = \
--with-driver=osmesa \
--with-demos= \
$(confflags-common)
confflags-osmesa-static = \
--with-driver=osmesa \
--enable-static \
--with-demos= \
$(confflags-common)
confflags-osmesa16 = \
--with-driver=osmesa \
--with-osmesa-bits=16 \
--with-demos= \
$(confflags-common)
confflags-osmesa16-static = \
--with-driver=osmesa \
--with-osmesa-bits=16 \
--enable-static \
--with-demos= \
$(confflags-common)
confflags-osmesa32 = \
--with-driver=osmesa \
--with-osmesa-bits=32 \
--with-demos= \
$(confflags-common)
confflags-osmesa32-static = \
--with-driver=osmesa \
--with-osmesa-bits=32 \
--enable-static \
--with-demos= \
$(confflags-common)
confflags-swx11+glu = \
--with-driver=xlib \
--disable-gl-osmesa \
--with-demos= \
--disable-glut \
CFLAGS="$(CFLAGS)"
confflags-swx11+glu-static = \
--with-driver=xlib \
--disable-gl-osmesa \
--enable-static \
--with-demos= \
--disable-glut \
CFLAGS="$(CFLAGS)"
confflags-swx11+glu-i386-i686 = \
--with-driver=xlib \
--disable-gl-osmesa \
--with-demos= \
--disable-glut \
--libdir=/usr/lib/i686/cmov \
CFLAGS="$(CFLAGS) -march=i686"
configure: $(QUILT_STAMPFN) configure.ac
autoreconf -vfi
# list the configurations that will built
configs:
@echo Building the following configurations: $(CONFIGS)
$(STAMP_DIR):
$(STAMP_DIR)/stamp:
dh_testdir
mkdir -p $@
$(QUILT_STAMPFN): $(STAMP_DIR)
mkdir -p $(STAMP_DIR)
>$@
$(QUILT_STAMPFN): $(STAMP_DIR)/stamp
build: $(BUILD_STAMPS)
$(STAMP)-build-%: patch
$(STAMP)-build-%: configure
dh_testdir
mkdir -p $(DEB_BUILD_DIR)/$*
find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \
xargs cp -rlf -t $(DEB_BUILD_DIR)/$*
ln -sf $* $(DEB_BUILD_DIR)/$*/configs/current
cd $(DEB_BUILD_DIR)/$* && \
../../configure --prefix=/usr --mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info --sysconfdir=/etc \
--localstatedir=/var $(confflags) $(confflags-$*)
cd $(DEB_BUILD_DIR)/$* && $(MAKE)
touch $@
pre-install:
install:
# Add here commands to install the package into debian/tmp
dh_testdir
dh_testroot
dh_clean -k
rm -rf $(INSTALL_STAMPS)
dh_installdirs
$(MAKE) -f debian/rules $(INSTALL_TARGETS)
install: pre-install $(ARCH_INSTALL_STAMPS)
$(STAMP)-install-%: $(STAMP)-build-%
# Add here commands to install the package into debian/tmp
cd $(DEB_BUILD_DIR)/$* && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
touch $@
$(STAMP_DIR)/install-source: pre-install
# install Mesa source for mesa-swx11-source package
chmod a+x debian/scripts/install-source.sh
debian/scripts/install-source.sh
touch $@
install-%: $(STAMP)-build-%
cd $(DEB_BUILD_DIR)/$* && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
clean: unpatch
dh_testdir
dh_testroot
dh_clean --exclude ./Makefile.orig
rm -rf $(DEB_BUILD_DIR) $(STAMP_DIR)
rm -rf .pc
rm -f config.cache config.log config.status
rm -f */config.cache */config.log */config.status
rm -f conftest* */conftest*
rm -rf autom4te.cache */autom4te.cache
rm -rf obj-*
rm -rf configure config.guess config.sub config.h.in
rm -rf $$(find -name Makefile.in)
rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
rm -rf $(STAMP_DIR)
dh_clean
# Build architecture-independent files here.
binary-indep: build install $(INDEP_INSTALL_STAMPS)
binary-indep: install
dh_testdir
dh_testroot
dh_installchangelogs -i
@@ -112,13 +223,13 @@ binary-indep: build install $(INDEP_INSTALL_STAMPS)
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install
binary-arch: install
dh_testdir
dh_testroot
dh_installchangelogs -s
dh_installdocs -s
dh_installexamples -s
dh_install --sourcedir=debian/tmp --list-missing -s
dh_install -s --sourcedir=debian/tmp --list-missing
dh_installman -s
dh_link -s
dh_strip -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg
@@ -135,5 +246,4 @@ binary-arch: build install
dh_builddeb -s
binary: binary-indep binary-arch
.PHONY: configs build clean binary-indep binary-arch binary install configure
.PHONY: configs build clean binary-indep binary-arch binary install

View File

@@ -8,18 +8,20 @@
# choose an architecture-specific build of swx11 and GLU if a matching
# configuration exists
ifneq ($(wildcard configs/debian-swx11+glu-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS := debian-swx11+glu-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS := debian-swx11+glu-any
endif
#ifneq ($(wildcard configs/debian-swx11+glu-$(DEB_BUILD_ARCH)),)
# SWX11_GLU_CONFIGS := debian-swx11+glu-$(DEB_BUILD_ARCH)
#else
# SWX11_GLU_CONFIGS := debian-swx11+glu-any
#endif
# same for static builds
ifneq ($(wildcard configs/debian-swx11+glu-static-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS += debian-swx11+glu-static-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS += debian-swx11+glu-static-any
endif
#ifneq ($(wildcard configs/debian-swx11+glu-static-$(DEB_BUILD_ARCH)),)
# SWX11_GLU_CONFIGS += debian-swx11+glu-static-$(DEB_BUILD_ARCH)
#else
# SWX11_GLU_CONFIGS += debian-swx11+glu-static-any
#endif
SWX11_GLU_CONFIGS := swx11+glu swx11+glu-static
# and for the GLX/DRI-enabled libGL
ifneq ($(wildcard configs/debian-indirect-$(DEB_BUILD_ARCH)),)
@@ -36,7 +38,7 @@ endif
## CPU-optimized configurations ##############################################
ifeq ($(DEB_BUILD_ARCH), i386)
SWX11_GLU_CONFIGS += debian-swx11+glu-i386-i686
SWX11_GLU_CONFIGS += swx11+glu-i386-i686
# DRI_CONFIGS += debian-dri-i386-i686
endif

View File

@@ -1,46 +0,0 @@
#!/bin/sh
if [ -n "$1" ]; then
TOP="$1"
else
TOP=`pwd`
fi
SOURCE_DIRS='
include/GL/internal
src/glx/x11
src/mesa/drivers/common
src/mesa/drivers/dri/common
src/mesa/drivers/dri/glcore
src/mesa/drivers/x11
src/mesa/glapi
src/mesa/main
src/mesa/math
src/mesa/ppc
src/mesa/shader
src/mesa/sparc
src/mesa/swrast_setup
src/mesa/swrast
src/mesa/tnl_dd
src/mesa/tnl
src/mesa/vbo
src/mesa/x86-64
src/mesa/x86
'
FILTER="-not -path '*/.svn*'"
TARGET=${TOP}/debian/tmp/usr/share/mesa-source
(
find $SOURCE_DIRS $FILTER -name '*.[ch]';
find include/GL $FILTER -name 'xmesa*.h';
) | \
while read x; do
DIRNAME=`dirname "$x"`
mkdir -p "$TARGET/$DIRNAME"
cp -lf "$x" "$TARGET/$DIRNAME"
done
# fix permissions
find "$TARGET" -type f | xargs chmod 0644

1
debian/watch vendored
View File

@@ -1,2 +1,3 @@
version=3
opts="uversionmangle=s/-rc/~rc/" \
http://sf.net/mesa3d/MesaLib-(.*)\.tar\.gz

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

@@ -1,231 +0,0 @@
Name
MESA_packed_depth_stencil
Name Strings
GL_MESA_packed_depth_stencil
Contact
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
Status
Obsolete.
Version
$Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number
???
Dependencies
EXT_abgr affects the definition of this extension
SGIS_texture4D affects the definition of this extension
EXT_cmyka affects the definition of this extension
ARB_packed_pixels affects the definition of this extension
Overview
Provides a mechanism for DrawPixels and ReadPixels to efficiently
transfer depth and stencil image data. Specifically, we defined new
packed pixel formats and types which pack both stencil and depth
into one value.
Issues:
1. Is this the right way to distinguish between 24/8 and 8/24
pixel formats? Should we instead provide both:
GL_DEPTH_STENCIL_MESA
GL_STENCIL_DEPTH_MESA
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
2. If not, is it correct to use _REV to indicate that stencil
preceeds depth in the 1_15 and 8_24 formats?
3. Do we really want the GL_UNSIGNED_SHORT formats?
New Procedures and Functions
None.
New Tokens
Accepted by the <format> parameter of ReadPixels and DrawPixels:
GL_DEPTH_STENCIL_MESA 0x8750
Accepted by the <type> parameter of ReadPixels and DrawPixels:
GL_UNSIGNED_INT_24_8_MESA 0x8751
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
The new table is:
Target
Format Name Buffer Element Meaning and Order
----------- ------ -------------------------
COLOR_INDEX Color Color index
STENCIL_INDEX Stencil Stencil index
DEPTH_COMPONENT Depth Depth component
RED Color R component
GREEN Color G component
BLUE Color B component
ALPHA Color A component
RGB Color R, G, B components
RGBA Color R, G, B, A components
BGRA Color B, G, R, A components
ABGR_EXT Color A, B, G, R components
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
LUMINANCE Color Luminance component
LUMINANCE_ALPHA Color Luminance, A components
DEPTH_STENCIL Depth, Depth component, stencil index.
Stencil
Table 3.5: DrawPixels and ReadPixels formats. The third column
gives a description of and the number and order of elements in a
group.
Add to the description of packed pixel formats:
<type> Parameter Data of Matching
Token Name Type Elements Pixel Formats
---------------- ---- -------- -------------
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_INT_8_24:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------+-----------------------------------------------------------------------+
| | |
+-----------------------+-----------------------------------------------------------------------+
first second
element element
UNSIGNED_INT_24_8:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+----------------------------------------------------------------------+------------------------+
| | |
+----------------------------------------------------------------------+------------------------+
first second
element element
UNSIGNED_SHORT_15_1:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------------------------------------------+---+
| | |
+-----------------------------------------------------------+---+
first second
element element
UNSIGNED_SHORT_1_15_REV:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+---+-----------------------------------------------------------+
| | |
+---+-----------------------------------------------------------+
second first
element element
The assignment of elements to fields in the packed pixel is as
described in the table below:
First Second Third Fourth
Format Element Element Element Element
------ ------- ------- ------- -------
RGB red green blue
RGBA red green blue alpha
BGRA blue green red alpha
ABGR_EXT alpha blue green red
CMYK_EXT cyan magenta yellow black
DEPTH_STENCIL_MESA depth stencil
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
The new format is added to the discussion of Obtaining Pixels from the
Framebuffer. It should read " If the <format> is one of RED, GREEN,
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
the GL is in color index mode, then the color index is obtained."
The new format is added to the discussion of Index Lookup. It should
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
TBD
Errors
None
New State
None
Revision History
Version 1.0 - 23 Sep 2000
Keith's original version.
Version 1.1 - 3 Nov 2000
Brian's edits, assigned values to new enums.

View File

@@ -1,357 +0,0 @@
Name
MESA_program_debug
Name Strings
GL_MESA_program_debug
Contact
Brian Paul (brian.paul 'at' tungstengraphics.com)
Status
XXX - Not complete yet!!!
Version
Last Modified Date: July 20, 2003
Author Revision: 1.0
$Date: 2004/03/25 01:42:41 $ $Revision: 1.4 $
Number
TBD
Dependencies
OpenGL 1.4 is required
The extension is written against the OpenGL 1.4 specification.
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
or NV_fragment_program is required.
Overview
The extension provides facilities for implementing debuggers for
vertex and fragment programs.
The concept is that vertex and fragment program debuggers will be
implemented outside of the GL as a utility package. This extension
only provides the minimal hooks required to implement a debugger.
There are facilities to do the following:
1. Have the GL call a user-specified function prior to executing
each vertex or fragment instruction.
2. Query the current program string's execution position.
3. Query the current values of intermediate program values.
The main feature is the ProgramCallbackMESA function. It allows the
user to register a callback function with the GL. The callback will
be called prior to executing each vertex or fragment program instruction.
From within the callback, the user may issue Get* commands to
query current GL state. The GetProgramRegisterfvMESA function allows
current program values to be queried (such as temporaries, input
attributes, and result registers).
There are flags for enabling/disabling the program callbacks.
The current execution position (as an offset from the start of the
program string) can be queried with
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
IP Status
None
Issues
1. Is this the right model for a debugger?
It seems prudent to minimize the scope of this extension and leave
it up to the developer (or developer community) to write debuggers
that layer on top of this extension.
If the debugger were fully implemented within the GL it's not
clear how terminal and GUI-based interfaces would work, for
example.
2. There aren't any other extensions that register callbacks with
the GL. Isn't there another solution?
If we want to be able to single-step through vertex/fragment
programs I don't see another way to do it.
3. How do we prevent the user from doing something crazy in the
callback function, like trying to call glBegin (leading to
recursion)?
The rule is that the callback function can only issue glGet*()
functions and no other GL commands. It could be difficult to
enforce this, however. Therefore, calling any non-get GL
command from within the callback will result in undefined
results.
4. Is this extension amenable to hardware implementation?
Hopefully, but if not, the GL implementation will have to fall
back to a software path when debugging. This may be acceptable
for debugging.
5. What's the <data> parameter to ProgramCallbackMESA for?
It's a common programming practice to associate a user-supplied
value with callback functions.
6. Debuggers often allow one to modify intermediate program values,
then continue. Does this extension support that?
No.
New Procedures and Functions (and datatypes)
typedef void (*programcallbackMESA)(enum target, void *data)
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName, float *v)
New Tokens
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
GetFloatv and GetIntegerv:
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
Accepted by the <pname> parameter of GetPointerv:
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
None.
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
None.
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
In section 5.4 "Display Lists", page 202, add the following command
to the list of those that are not compiled into display lists:
ProgramCallbackMESA.
Add a new section 5.7 "Callback Functions"
The function
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
registers a user-defined callback function with the GL. <target>
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
callback functions registered with these targets will be called
prior to executing each instruction in the current fragment or
vertex program, respectively. The callbacks are enabled and
disabled by calling Enable or Disable with <cap>
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
The callback function's signature must match the typedef
typedef void (*programcallbackMESA)(enum target, void *data)
When the callback function is called, <target> will either be
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
program is currently executing and <data> will be the value
specified when ProgramCallbackMESA was called.
From within the callback function, only the following GL commands
may be called:
GetBooleanv
GetDoublev
GetFloatv
GetIntegerv
GetProgramLocalParameter
GetProgramEnvParameter
GetProgramRegisterfvMESA
GetProgramivARB
GetProgramStringARB
GetError
Calling any other command from within the callback results in
undefined behaviour.
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
Add a new section 6.1.3 "Program Value Queries":
The command
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName,
float *v)
Is used to query the value of program variables and registers
during program execution. GetProgramRegisterfvMESA may only be
called from within a callback function registered with
ProgramCallbackMESA.
<registerName> and <len> specify the name a variable, input
attribute, temporary, or result register in the program string.
The current value of the named variable is returned as four
values in <v>. If <name> doesn't exist in the program string,
the error INVALID_OPERATION is generated.
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
None.
Additions to the AGL/GLX/WGL Specifications
None.
GLX Protocol
XXX TBD
Dependencies on NV_vertex_program and NV_fragment_program
If NV_vertex_program and/or NV_fragment_program are supported,
vertex and/or fragment programs defined by those extensions may
be debugged as well. Register queries will use the syntax used
by those extensions (i.e. "v[X]" to query vertex attributes,
"o[X]" for vertex outputs, etc.)
Errors
INVALID_OPERATION is generated if ProgramCallbackMESA is called
between Begin and End.
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
a supported vertex or fragment program type.
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
Begin and End when a vertex or fragment program is currently executing.
INVALID_ENUM is generated by ProgramCallbackMESA,
GetProgramRegisterfvMESA if <target> is not a program target supported
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
NV_fragment_program).
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
does not name a known program register or variable.
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
register query is attempted for a program target that's not currently
being executed.
New State
XXX finish
(table 6.N, p. ###)
Initial
Get Value Type Get Command Value Description Sec. Attribute
--------- ---- ----------- ----- ----------- ---- ---------
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
XXX more?
New Implementation Dependent State
None.
Revision History
8 July 2003
Initial draft. (Brian Paul)
11 July 2003
Second draft. (Brian Paul)
20 July 2003
Third draft. Lots of fundamental changes. (Brian Paul)
23 July 2003
Added chapter 5 and 6 spec language. (Brian Paul)
Example Usage
The following is a very simple example of how this extension may
be used to print the values of R0, R1, R2 and R3 while executing
vertex programs.
/* This is called by the GL when the vertex program is executing.
* We can only make glGet* calls from within this function!
*/
void DebugCallback(GLenum target, GLvoid *data)
{
GLint pos;
GLuint i;
/* Get PC and current instruction string */
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
printf("Current position: %d\n", pos);
printf("Current temporary registers:\n");
for (i = 0; i < 4; i++) {
GLfloat v[4];
char s[10];
sprintf(s, "R%d", i);
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
}
}
/*
* elsewhere...
*/
/* Register our debugger callback function */
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
/* define/bind a vertex program */
glEnable(GL_VERTEX_PROGRAM);
/* render something */
glBegin(GL_POINTS);
glVertex2f(0, 0);
glEnd();

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

@@ -1,191 +0,0 @@
Name
MESA_sprite_point
Name Strings
GL_MESA_sprite_point
Contact
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
Status
Obsolete - see GL_ARB_point_sprite.
Version
$Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number
???
Dependencies
GL_EXT_point_parameters effects the definition of this extension
GL_ARB_multitexture effects the definition of this extension
Overview
This extension modifies the way in which points are rendered,
specifically when they're textured. When SPRITE_POINT_MESA is enabled
a point is rendered as if it were a quadrilateral with unique texture
coordinates at each vertex. This extension effectively turns points
into sprites which may be rendered more easily and quickly than using
conventional textured quadrilaterals.
When using point size > 1 or attenuated points this extension is an
effective way to render many small sprite images for particle systems
or other effects.
Issues:
1. How are the texture coordinates computed?
The lower-left corner has texture coordinate (0,0,r,q).
The lower-right, (1,0,r,q). The upper-right, (1,1,r,q).
The upper-left, (0,1,r,q).
2. What about texgen and texture matrices?
Texgen and the texture matrix have no effect on the point's s and t
texture coordinates. The r and q coordinates may have been computed
by texgen or the texture matrix. Note that with a 3D texture and/or
texgen that the r coordinate could be used to select a slice in the
3D texture.
3. What about point smoothing?
When point smoothing is enabled, a triangle fan could be rendered
to approximate a circular point. This could be problematic to
define and implement so POINT_SMOOTH is ignored when drawing sprite
points.
Smoothed points can be approximated by using an appropriate texture
images, alpha testing and blending.
POLYGON_SMOOTH does effect the rendering of the quadrilateral, however.
4. What about sprite rotation?
There is none. Sprite points are always rendered as window-aligned
squares. One could define rotated texture images if desired. A 3D
texture and appropriate texture r coordinates could be used to
effectively specify image rotation per point.
5. What about POLYGON_MODE?
POLYGON_MODE does not effect the rasterization of the quadrilateral.
6. What about POLYGON_CULL?
TBD. Polygon culling is normally specified and implemented in the
transformation stage of OpenGL. However, some rasterization hardware
implements it later during triangle setup.
Polygon culling wouldn't be useful for sprite points since the
quadrilaterals are always defined in counter-clockwise order in
window space. For that reason, polygon culling should probably be
ignored.
7. Should sprite points be alpha-attenuated if their size is below the
point parameter's threshold size?
8. Should there be an advertisized maximum sprite point size?
No. Since we're rendering the point as a quadrilateral there's no
need to limit the size.
New Procedures and Functions
None.
New Tokens
Accepted by the <pname> parameter of Enable, Disable, IsEnabled,
GetIntegerv, GetBooleanv, GetFloatv and GetDoublev:
SPRITE_POINT_MESA 0x????
MAX_SPRITE_POINT_SIZE_MESA 0x???? (need this?)
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
Section ???.
When SPRITE_POINT_MESA is enabled points are rasterized as screen-
aligned quadrilaterals. If the four vertices of the quadrilateral
are labeled A, B, C, and D, starting at the lower-left corner and moving
counter-clockwise around the quadrilateral, then the vertex and
texture coordinates are computed as follows:
vertex window coordinate texture coordinate
A (x-r, y-r, z, w) (0, 0, r, q)
B (x+r, y-r, z, w) (1, 0, r, q)
C (x+r, y+r, z, w) (1, 1, r, q)
D (x-r, y+r, z, w) (0, 1, r, q)
where x, y, z, w are the point's window coordinates, r and q are the
point's 3rd and 4th texture coordinates and r is half the point's
size. The other vertex attributes (such as the color and fog coordinate)
are simply duplicated from the original point vertex.
Point size may either be specified with PointSize or computed
according to the EXT_point_parameters extension.
The new texture coordinates are not effected by texgen or the texture
matrix. Note, however, that the texture r and q coordinates are passed
unchanged and may have been computed with texgen and/or the texture
matrix.
If multiple texture units are present the same texture coordinate is
used for all texture units.
The point is then rendered as if it were a quadrilateral using the
normal point sampling rules. POLYGON_MODE does not effect the
rasterization of the quadrilateral but POLYGON_SMOOTH does.
POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled.
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
None.
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
TBD
Errors
None
New State
Add boolean variable SPRITE_POINT_MESA to the point attribute group.
Revision History
Version 1.0 - 4 Dec 2000
Original draft.

View File

@@ -0,0 +1,804 @@
Name
MESA_texture_array
Name Strings
GL_MESA_texture_array
Contact
Ian Romanick, IBM (idr 'at' us.ibm.com)
IP Status
No known IP issues.
Status
Shipping in Mesa 7.1
Version
Number
TBD
Dependencies
OpenGL 1.2 or GL_EXT_texture3D is required.
Support for ARB_fragment_program is assumed, but not required.
Support for ARB_fragment_program_shadow is assumed, but not required.
Support for EXT_framebuffer_object is assumed, but not required.
Written based on the wording of the OpenGL 2.0 specification and
ARB_fragment_program_shadow but not dependent on them.
Overview
There are a number of circumstances where an application may wish to
blend two textures out of a larger set of textures. Moreover, in some
cases the selected textures may vary on a per-fragment basis within
a polygon. Several examples include:
1. High dynamic range textures. The application stores several
different "exposures" of an image as different textures. On a
per-fragment basis, the application selects which exposures are
used.
2. A terrain engine where the altitude of a point determines the
texture applied to it. If the transition is from beach sand to
grass to rocks to snow, the application will store each texture
in a different texture map, and dynamically select which two
textures to blend at run-time.
3. Storing short video clips in textures. Each depth slice is a
single frame of video.
Several solutions to this problem have been proposed, but they either
involve using a separate texture unit for each texture map or using 3D
textures without mipmaps. Both of these options have major drawbacks.
This extension provides a third alternative that eliminates the major
drawbacks of both previous methods. A new texture target,
TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in
all aspects except the sizes of the non-base level images. In
traditional 3D texturing, the size of the N+1 LOD is half the size
of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target,
the height and width of the N+1 LOD is halved, but the depth is the
same for all levels of detail. The texture then becomes an array of
2D textures. The per-fragment texel is selected by the R texture
coordinate.
References:
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903
http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm
New Procedures and Functions
All functions come directly from EXT_texture_array.
void FramebufferTextureLayerEXT(enum target, enum attachment,
uint texture, int level, int layer);
New Tokens
All token names and values come directly from EXT_texture_array.
Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by
the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
GetTexParameterfv:
TEXTURE_1D_ARRAY_EXT 0x8C18
TEXTURE_2D_ARRAY_EXT 0x8C1A
Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
CompressedTexSubImage2D, GetTexLevelParameteriv, and
GetTexLevelParameterfv:
TEXTURE_1D_ARRAY_EXT
PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
GetTexLevelParameteriv, and GetTexLevelParameterfv:
TEXTURE_2D_ARRAY_EXT
PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
GetFloatv, and GetDoublev
TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
Accepted by the <param> parameter of TexParameterf, TexParameteri,
TexParameterfv, and TexParameteriv when the <pname> parameter is
TEXTURE_COMPARE_MODE_ARB:
COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
(Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the
existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name
reflects the fact that the R coordinate is not always used.)
Accepted by the <internalformat> parameter of TexImage3D and
CompressedTexImage3D, and by the <format> parameter of
CompressedTexSubImage3D:
COMPRESSED_RGB_S3TC_DXT1_EXT
COMPRESSED_RGBA_S3TC_DXT1_EXT
COMPRESSED_RGBA_S3TC_DXT3_EXT
COMPRESSED_RGBA_S3TC_DXT5_EXT
Accepted by the <pname> parameter of
GetFramebufferAttachmentParameterivEXT:
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
(Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in
EXT_framebuffer_object. This extension generalizes the notion of
"<zoffset>" to include layers of an array texture.)
Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
-- Section 3.8.1 "Texture Image Specification"
Change the first paragraph (page 150) to say (spec changes identical to
EXT_texture_array):
"The command
void TexImage3D(enum target, int level, int internalformat,
sizei width, sizei height, sizei depth, int border,
enum format, enum type, void *data);
is used to specify a three-dimensional texture image. target must be one
one of TEXTURE_3D for a three-dimensional texture or
TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture.
Additionally, target may be either PROXY_TEXTURE_3D for a
three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a
two-dimensional proxy array texture."
Change the fourth paragraph on page 151 to say (spec changes identical
to EXT_texture_array):
"Textures with a base internal format of DEPTH_COMPONENT are supported
by texture image specification commands only if target is TEXTURE_1D,
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT,
PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or
PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any
other target will result in an INVALID_OPERATION error."
Change the fourth paragraph on page 156 to say (spec changes identical
to EXT_texture_array):
"The command
void TexImage2D(enum target, int level,
int internalformat, sizei width, sizei height,
int border, enum format, enum type, void *data);
is used to specify a two-dimensional texture image. target must be one
of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a
one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X,
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y,
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally,
target may be either PROXY_TEXTURE_2D for a two-dimensional proxy
texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array
texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the
special case discussed in section 3.8.11. The other parameters match
the corresponding parameters of TexImage3D.
For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and depth
of 1, except that
* The border depth, d_b, is zero, and the depth of the image is
always 1 regardless of the value of border.
* The border height, h_b, is zero if <target> is
TEXTURE_1D_ARRAY_EXT, and <border> otherwise.
* Convolution will be performed on the image (possibly changing its
width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled.
* UNPACK SKIP IMAGES is ignored."
-- Section 3.8.2 "Alternate Texture Image Specification Commands"
Change the second paragraph (page 159) (spec changes identical
to EXT_texture_array):
"The command
void CopyTexImage2D(enum target, int level,
enum internalformat, int x, int y, sizei width,
sizei height, int border);
defines a two-dimensional texture image in exactly the manner of
TexImage2D, except that the image data are taken from the framebuffer
rather than from client memory. Currently, target must be one of
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X,
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y,
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
TEXTURE_CUBE_MAP_NEGATIVE_Z.
Change the last paragraph on page 160 to say (spec changes identical
to EXT_texture_array):
"Currently the target arguments of TexSubImage1D and CopyTexSubImage1D
must be TEXTURE_1D, the target arguments of TexSubImage2D and
CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT,
TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X,
TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y,
TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the
target arguments of TexSubImage3D and CopyTexSubImage3D must be
TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..."
-- Section 3.8.4 "Texture Parameters"
Change the first paragraph (page 166) to say:
"Various parameters control how the texel array is treated when
specified or changed, and when applied to a fragment. Each parameter is
set by calling
void TexParameter{if}(enum target, enum pname, T param);
void TexParameter{if}v(enum target, enum pname, T params);
target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT."
-- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail"
Change the first paragraph (page 172) to say:
"Let s(x,y) be the function that associates an s texture coordinate
with each set of window coordinates (x,y) that lie within a primitive;
define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y),
v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t,
and d_t are as defined by equations 3.15, 3.16, and 3.17 with
w_s, h_s, and d_s equal to the width, height, and depth of the
image array whose level is level_base. For a one-dimensional
texture or a one-dimensional array texture, define v(x,y) = 0 and
w(x,y) = 0; for a two-dimensional texture or a two-dimensional array
texture, define w(x,y) = 0..."
-- Section 3.8.8 "Texture Minification" in the section "Mipmapping"
Change the third paragraph (page 174) to say:
"For a two-dimensional texture, two-dimensional array texture, or
cube map texture,"
Change the fourth paragraph (page 174) to say:
"And for a one-dimensional texture or a one-dimensional array texture,"
After the first paragraph (page 175) add:
"For one-dimensional array textures, h_b and d_b are treated as 1,
regardless of the actual values, when performing mipmap calculations.
For two-dimensional array textures, d_b is always treated as one,
regardless of the actual value, when performing mipmap calculations."
-- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping"
Change the third paragraph (page 176) to say (spec changes identical
to EXT_texture_array):
"The contents of the derived arrays are computed by repeated, filtered
reduction of the level_base array. For one- and two-dimensional array
textures, each layer is filtered independently. ..."
-- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping"
Change first paragraph to say (spec changes identical to
EXT_texture_array):
"Mipmaps can be generated manually with the command
void GenerateMipmapEXT(enum target);
where <target> is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP,
TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation
affects the texture image attached to <target>. ..."
-- Section 3.8.10 "Texture Completeness"
Change the second paragaph (page 177) to say (spec changes identical
to EXT_texture_array):
"For one-, two-, or three-dimensional textures and one- or
two-dimensional array textures, a texture is complete if the following
conditions all hold true:"
-- Section 3.8.11 "Texture State and Proxy State"
Change the second and third paragraphs (page 179) to say (spec changes
identical to EXT_texture_array):
"In addition to image arrays for one-, two-, and three-dimensional
textures, one- and two-dimensional array textures, and the six image
arrays for the cube map texture, partially instantiated image arrays
are maintained for one-, two-, and three-dimensional textures and one-
and two-dimensional array textures. Additionally, a single proxy image
array is maintained for the cube map texture. Each proxy image array
includes width, height, depth, border width, and internal format state
values, as well as state for the red, green, blue, alpha, luminance,
and intensity component resolutions. Proxy image arrays do not include
image data, nor do they include texture properties. When TexImage3D is
executed with target specified as PROXY_TEXTURE_3D, the
three-dimensional proxy state values of the specified level-of-detail
are recomputed and updated. If the image array would not be supported
by TexImage3D called with target set to TEXTURE 3D, no error is
generated, but the proxy width, height, depth, border width, and
component resolutions are set to zero. If the image array would be
supported by such a call to TexImage3D, the proxy state values are set
exactly as though the actual image array were being specified. No pixel
data are transferred or processed in either case.
Proxy arrays for one- and two-dimensional textures and one- and
two-dimensional array textures are operated on in the same way when
TexImage1D is executed with target specified as PROXY_TEXTURE_1D,
TexImage2D is executed with target specified as PROXY_TEXTURE_2D or
PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target
specified as PROXY_TETXURE_2D_ARRAY_EXT."
-- Section 3.8.12 "Texture Objects"
Change section (page 180) to say (spec changes identical to
EXT_texture_array):
"In addition to the default textures TEXTURE_1D, TEXTURE_2D,
TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT,
named one-, two-, and three-dimensional, cube map, and one- and
two-dimensional array texture objects can be created and operated upon.
The name space for texture objects is the unsigned integers, with zero
reserved by the GL.
A texture object is created by binding an unused name to TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT. The binding is effected by calling
void BindTexture(enum target, uint texture);
with <target> set to the desired texture target and <texture> set to
the unused name. The resulting texture object is a new state vector,
comprising all the state values listed in section 3.8.11, set to the
same initial values. If the new texture object is bound to TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-,
three-dimensional, cube map, one- or two-dimensional array texture
respectively until it is deleted.
BindTexture may also be used to bind an existing texture object to
either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error
INVALID_OPERATION is generated if an attempt is made to bind a texture
object of different dimensionality than the specified target. If the
bind is successful no change is made to the state of the bound texture
object, and any previous binding to target is broken.
While a texture object is bound, GL operations on the target to which
it is bound affect the bound object, and queries of the target to which
it is bound return state from the bound object. If texture mapping of
the dimensionality of the target to which a texture object is bound is
enabled, the state of the bound texture object directs the texturing
operation.
In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have
one-, two-, three-dimensional, cube map, and one- and two-dimensional
array texture state vectors respectively associated with them. In order
that access to these initial textures not be lost, they are treated as
texture objects all of whose names are 0. The initial one-, two-,
three-dimensional, cube map, one- and two-dimensional array textures
are therefore operated upon, queried, and applied as TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and
TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding
targets.
Change second paragraph on page 181 to say (spec changes identical to
EXT_texture_array):
"... If a texture that is currently bound to one of the targets
TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as
though BindTexture had been executed with the same target and texture
zero. ..."
Change second paragraph on page 182 to say (spec changes identical to
EXT_texture_array):
"The texture object name space, including the initial one-, two-, and
three dimensional, cube map, and one- and two-dimensional array texture
objects, is shared among all texture units. ..."
-- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes"
Change second through fourth paragraphs (page 188) to say:
"Let D_t be the depth texture value, in the range [0, 1]. For
texture lookups from one- and two-dimesional, rectangle, and
one-dimensional array targets, let R be the interpolated <r>
texture coordinate, clamped to the range [0, 1]. For texture lookups
from two-dimesional array texture targets, let R be the interpolated
<q> texture coordinate, clamped to the range [0, 1]. Then the
effective texture value L_t, I_t, or A_t is computed as follows:
If the value of TEXTURE_COMPARE_MODE is NONE, then
r = Dt
If the value of TEXTURE_COMPARE_MODE is
COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture
comparison function as shown in table 3.27."
-- Section 3.8.15 "Texture Application"
Change the first paragraph (page 189) to say:
"Texturing is enabled or disabled using the generic Enable and Disable
commands, respectively, with the symbolic constants TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube
map, one-dimensional array, or two-dimensional array texture,
respectively. If both two- and one-dimensional textures are enabled,
the two-dimensional texture is used. If the three-dimensional and
either of the two- or one-dimensional textures is enabled, the
three-dimensional texture is used. If the cube map texture and any of
the three-, two-, or one-dimensional textures is enabled, then cube map
texturing is used. If one-dimensional array texture is enabled and any
of cube map, three-, two-, or one-dimensional textures is enabled,
one-dimensional array texturing is used. If two-dimensional array
texture is enabled and any of cube map, three-, two-, one-dimensional
textures or one-dimensional array texture is enabled, two-dimensional
array texturing is used..."
-- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions):
(mostly add to existing grammar rules)
<optionName> ::= "MESA_texture_array"
<texTarget> ::= "1D"
| "2D"
| "3D"
| "CUBE"
| "RECT"
| <arrayTarget> (if program option is present)
| <shadowTarget> (if program option is present)
<arrayTarget> ::= "ARRAY1D"
| "ARRAY2D"
<shadowTarget> ::= "SHADOW1D"
| "SHADOW2D"
| "SHADOWRECT"
| <shadowArrayTarget> (if program option is present)
<shadowArrayTarget> ::= "SHADOWARRAY1D"
| "SHADOWARRAY2D"
-- Add Section 3.11.4.5.4 "Texture Stack Option"
"If a fragment program specifies the "MESA_texture_array" program
option, the <texTarget> rule is modified to add the texture targets
ARRAY1D and ARRAY2D (See Section 3.11.2)."
-- Section 3.11.6 "Fragment Program Texture Instruction Set"
(replace 1st and 2nd paragraphs with the following paragraphs)
"The first three texture instructions described below specify the
mapping of 4-tuple input vectors to 4-tuple output vectors.
The sampling of the texture works as described in section 3.8,
except that texture environments and texture functions are not
applicable, and the texture enables hierarchy is replaced by explicit
references to the desired texture target (i.e., 1D, 2D, 3D, cube map,
rectangle, ARRAY1D, ARRAY2D). These texture instructions specify
how the 4-tuple is mapped into the coordinates used for sampling. The
following function is used to describe the texture sampling in the
descriptions below:
vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit,
enum texTarget);
Note that not all four components of the texture coordinates <coord>
are used by all texture targets. Component usage for each <texTarget>
is defined in table X.
coordinates used
texTarget Texture Type s t r layer shadow
---------------- --------------------- ----- ----- ------
1D TEXTURE_1D x - - - -
2D TEXTURE_2D x y - - -
3D TEXTURE_3D x y z - -
CUBE TEXTURE_CUBE_MAP x y z - -
RECT TEXTURE_RECTANGLE_ARB x y - - -
ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y -
ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z -
SHADOW1D TEXTURE_1D x - - - z
SHADOW2D TEXTURE_2D x y - - z
SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z
SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z
SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w
Table X: Texture types accessed for each of the <texTarget>, and
coordinate mappings. The "coordinates used" column indicate the
input values used for each coordinate of the texture lookup, the
layer selector for array textures, and the reference value for
texture comparisons."
-- Section 3.11.6.2 "TXP: Project coordinate and map to color"
Add to the end of the section:
"A program will fail to load if the TXP instruction is used in
conjunction with the SHADOWARRAY2D target."
Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations)
-- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer"
Add to the end of the section (spec changes identical to
EXT_texture_array):
"The command
void FramebufferTextureLayerEXT(enum target, enum attachment,
uint texture, int level, int layer);
operates identically to FramebufferTexture3DEXT, except that it
attaches a single layer of a three-dimensional texture or a one- or
two-dimensional array texture. <layer> is an integer indicating the
layer number, and is treated identically to the <zoffset> parameter in
FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
<layer> is negative. The error INVALID_OPERATION is generated if
<texture> is non-zero and is not the name of a three dimensional
texture or one- or two-dimensional array texture. Unlike
FramebufferTexture3D, no <textarget> parameter is accepted.
If <texture> is non-zero and the command does not result in an error,
the framebuffer attachment state corresponding to <attachment> is
updated as in the other FramebufferTexture commands, except that
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
-- Section 4.4.4.1 "Framebuffer Attachment Completeness"
Add to the end of the list of completeness rules (spec changes
identical to EXT_texture_array):
"* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or
two-dimensional array texture, then
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the
number of layers in the texture."
Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
-- Section 5.4 "Display Lists"
Change the first paragraphi on page 242 to say (spec changes
identical to EXT_texture_array):
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
executed immediately when called with the corresponding proxy arguments
PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D,
PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT;
PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE,
PROXY_POST_CONVOLUTION_COLOR_TABLE, or
PROXY_POST_COLOR_MATRIX_COLOR_TABLE."
Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests)
-- Section 6.1.3 "Enumerated Queries"
Add after the line beginning "If the value of
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes
identical to EXT_texture_array):
"If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the
texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a
three-dimensional texture or a one- or two-dimensional array texture,
then <params> will contain the number of texture layer attached to the
attachment point. Otherwise, <params> will contain the value zero."
-- Section 6.1.4 "Texture Queries"
Change the first three paragraphs (page 248) to say (spec changes
identical to EXT_texture_array):
"The command
void GetTexImage(enum tex, int lod, enum format,
enum type, void *img);
is used to obtain texture images. It is somewhat different from the
other get commands; tex is a symbolic value indicating which texture
(or texture face in the case of a cube map texture target name) is to
be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT,
and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional
texture, or one- or two-dimensional array texture, respectively.
TEXTURE_CUBE_MAP_POSITIVE_X, ...
GetTexImage obtains... from the first image to the last for
three-dimensional textures. One- and two-dimensional array textures
are treated as two- and three-dimensional images, respectively, where
the layers are treated as rows or images. These groups are then...
For three-dimensional and two-dimensional array textures, pixel storage
operations are applied as if the image were two-dimensional, except
that the additional pixel storage state values PACK_IMAGE_HEIGHT and
PACK_SKIP_IMAGES are applied. ..."
Additions to Appendix A of the OpenGL 2.0 Specification (Invariance)
None
Additions to the AGL/GLX/WGL Specifications
None
GLX Protocol
None
Dependencies on ARB_fragment_program
If ARB_fragment_program is not supported, the changes to section 3.11
should be ignored.
Dependencies on EXT_framebuffer_object
If EXT_framebuffer_object is not supported, the changes to section
3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored.
Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc
(Identical dependency as EXT_texture_array.)
S3TC texture compression is supported for two-dimensional array textures.
When <target> is TEXTURE_2D_ARRAY_EXT, each layer is stored independently
as a compressed two-dimensional textures. When specifying or querying
compressed images using one of the S3TC formats, the images are provided
and/or returned as a series of two-dimensional textures stored
consecutively in memory, with the layer closest to zero specified first.
For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in
the three-dimensional compression format provided in the
EXT_texture_compression_vtc extension. Pixel store parameters, including
those specific to three-dimensional images, are ignored when compressed
image data are provided or returned, as in the
EXT_texture_compression_s3tc extension.
S3TC compression is not supported for one-dimensional texture targets in
EXT_texture_compression_s3tc, and is not supported for one-dimensional
array textures in this extension. If compressed one-dimensional arrays
are needed, use a two-dimensional texture with a height of one.
This extension allows the use of the four S3TC internal format types in
TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls.
Errors
None
New State
(add to table 6.15, p. 276)
Initial
Get Value Type Get Command Value Description Sec. Attribute
---------------------------- ----- ----------- ----- -------------------- ------ ---------
TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
to TEXTURE_1D_ARRAY
TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
to TEXTURE_2D_ARRAY
New Implementation Dependent State
(add to Table 6.32, p. 293)
Minimum
Get Value Type Get Command Value Description Sec. Attribute
---------------------------- ---- ----------- ------- ------------------ ----- ---------
MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 -
layers for texture
arrays
Issues
(1) Is "texture stack" a good name for this functionality?
NO. The name is changed to "array texture" to match the
nomenclature used by GL_EXT_texture_array.
(2) Should the R texture coordinate be treated as normalized or
un-normalized? If it were un-normalized, floor(R) could be thought
of as a direct index into the array texture. This may be more
convenient for applications.
RESOLVED. All texture coordinates are normalized. The issue of
un-normalized texture coordinates has been discussed in the ARB
before and should be left for a layered extension.
RE-RESOLVED. The R coordinate is un-normalized. Accessing an array
using [0, layers-1] coordinates is much more natural.
(3) How does LOD selection work for stacked textures?
RESOLVED. For 2D array textures the R coordinate is ignored, and
the LOD selection equations for 2D textures are used. For 1D
array textures the T coordinate is ignored, and the LOD selection
equations for 1D textures are used. The expected usage is in a
fragment program with an explicit LOD selection.
(4) What is the maximum size of a 2D array texture? Is it the same
as for a 3D texture, or should a new query be added? How about for 1D
array textures?
RESOLVED. A new query is added.
(5) How are array textures exposed in GLSL?
RESOLVED. Use GL_EXT_texture_array.
(6) Should a 1D array texture also be exposed?
RESOLVED. For orthogonality, yes.
(7) How are stacked textures attached to framebuffer objects?
RESOLVED. Layers of both one- and two-dimensional array textures
are attached using FreambufferTextureLayerEXT. Once attached, the
array texture layer behaves exactly as either a one- or
two-dimensional texture.
(8) How is this extension related to GL_EXT_texture_array?
This extension adapats GL_MESAX_texture_stack to the notation,
indexing, and FBO access of GL_EXT_texture_array. This extension
replaces the GLSL support of GL_EXT_texture_array with
GL_ARB_fragment_program support.
Assembly program support is also provided by GL_NV_gpu_program4.
GL_NV_gpu_program4 also adds support for other features that are
specific to Nvidia hardware, while this extension adds only support
for array textures.
Much of text of this extension that has changed since
GL_MESAX_texture_stack comes directly from either
GL_EXT_texture_array or GL_NV_gpu_program4.
Revision History
||2005/11/15||0.1||idr||Initial draft MESAX version.||
||2005/12/07||0.2||idr||Added framebuffer object interactions.||
||2005/12/12||0.3||idr||Updated fragment program interactions.||
||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.||

View File

@@ -1,360 +0,0 @@
Name
MESA_trace
Name Strings
GL_MESA_trace
Contact
Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com
Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com
Status
Obsolete.
Version
$Id: MESA_trace.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
Number
none yet
Dependencies
OpenGL 1.2 is required.
The extension is written against the OpenGL 1.2 Specification
Overview
Provides the application with means to enable and disable logging
of GL calls including parameters as readable text. The verbosity
of the generated log can be controlled. The resulting logs are
valid (but possibly incomplete) C code and can be compiled and
linked for standalone test programs. The set of calls and the
amount of static data that is logged can be controlled at runtime.
The application can add comments and enable or disable tracing of GL
operations at any time. The data flow from the application to GL
and back is unaffected except for timing.
Application-side implementation of these features raises namespace
and linkage issues. In the driver dispatch table a simple
"chain of responsibility" pattern (aka "composable piepline")
can be added.
IP Status
The extension spec is in the public domain. The current implementation
in Mesa is covered by Mesa's XFree86-style copyright by the authors above.
This extension is partially inspired by the Quake2 QGL wrapper.
Issues
(1) Is this Extension obsolete because it can
be implemented as a wrapper DLL?
RESOLVED: No. While certain operating systems (Win32) provide linkers
that facilitate this kind of solution, other operating systems
(Linux) do not support hierarchical linking, so a wrapper solution
would result in symbol collisions.
Further, IHV's might have builtin support for tracing GL execution
that enjoys privileged access, or that they do not wish to separate
the tracing code from their driver code base.
(2) Should the Trace API explicitely support the notion of "frames?
This would require hooking into glXSwapBuffers calls as well.
RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA
and TraceComment along with external parsing tools to split the
trace into frames, in whatever way considered adequate.
(2a) Should GLX calls be traced?
PBuffers and other render-to-texture solutions demonstrate that
context level commands beyond SwapBuffers might have to be
traced. The GL DLL exports the entry points, so this would not
be out of the question.
(3) Should the specification mandate the actual output format?
RESOLVED: No. It is sufficient to guarantee that all data and commands
will be traced as requested by Enable/DisableTraceMESA, in the order
encountered. Whether the resulting trace is available as a readable
text file, binary metafile, compilable source code, much less which
indentation and formatting has been used, is up to the implementation.
For the same reason this specification does not enforce or prohibit
additional information added to the trace (statistics, profiling/timing,
warnings on possible error conditions).
(4) Should the comment strings associated with names and pointer (ranges)
be considered persistent state?
RESOLVED: No. The implementation is not forced to use this information
on subsequent occurences of name/pointer, and is free to consider it
transient state.
(5) Should comment commands be prohibited between Begin/End?
RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA
is transient, the other commands might cause storage of persistent
data in the context. There is no need to have the ability mark names
or pointers between Begin and End.
New Procedures and Functions
void NewTraceMESA( bitfield mask, const ubyte * traceName )
void EndTraceMESA( void )
void EnableTraceMESA( bitfield mask )
void DisableTraceMESA( bitfield mask )
void TraceAssertAttribMESA( bitfield attribMask )
void TraceCommentMESA( const ubyte* comment )
void TraceTextureMESA( uint name, const ubyte* comment )
void TraceListMESA( uint name, const ubyte* comment )
void TracePointerMESA( void* pointer, const ubyte* comment )
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
New Tokens
Accepted by the <mask> parameter of EnableTrace and DisableTrace:
TRACE_ALL_BITS_MESA 0xFFFF
TRACE_OPERATIONS_BIT_MESA 0x0001
TRACE_PRIMITIVES_BIT_MESA 0x0002
TRACE_ARRAYS_BIT_MESA 0x0004
TRACE_TEXTURES_BIT_MESA 0x0008
TRACE_PIXELS_BIT_MESA 0x0010
TRACE_ERRORS_BIT_MESA 0x0020
Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
GetFloatv, and GetDoublev:
TRACE_MASK_MESA 0x8755
Accepted by the <pname> parameter to GetString:
TRACE_NAME_MESA 0x8756
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
Add a new section:
5.7 Tracing
The tracing facility is used to record the execution of a GL program
to a human-readable log. The log appears as a sequence of GL commands
using C syntax. The primary intention of tracing is to aid in program
debugging.
A trace is started with the command
void NewTraceMESA( bitfield mask, const GLubyte * traceName )
<mask> may be any value accepted by PushAttrib and specifies a set of
attribute groups. The state values included in those attribute groups
is written to the trace as a sequence of GL commands.
<traceName> specifies a name or label for the trace. It is expected
that <traceName> will be interpreted as a filename in most implementations.
A trace is ended by calling the command
void EndTraceMESA( void )
It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.
The commands
void EnableTraceMESA( bitfield mask )
void DisableTraceMESA( bitfield mask )
enable or disable tracing of different classes of GL commands.
<mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA,
TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA,
and TRACE_PIXELS_BIT_MESA. The special token TRACE_ALL_BITS_MESA
indicates all classes of commands are to be logged.
TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of
Begin/End, including Begin/End.
TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of
Begin/End, including Begin/End.
TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer,
ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands.
TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by
TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and
TexSubImage3D commands.
TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by
Bitmap and DrawPixels commands.
TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is
set, GetError will be executed whereever applicable, and the result will
be added to the trace as a comment. The error returns are cached and
returned to the application on its GetError calls. If the user does not
wish the additional GetError calls to be performed, this bit should not
be set.
The command
void TraceCommentMESA( const ubyte* comment )
immediately adds the <comment> string to the trace output, surrounded
by C-style comment delimiters.
The commands
void TraceTextureMESA( uint name, const ubyte* comment )
void TraceListMESA( uint name, const ubyte* comment )
associates <comment> with the texture object or display list specified
by <name>. Logged commands which reference the named texture object or
display list will be annotated with <comment>. If IsTexture(name) or
IsList(name) fail (respectively) the command is quietly ignored.
The commands
void TracePointerMESA( void* pointer, const ubyte* comment )
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
associate <comment> with the address specified by <pointer> or with
a range of addresses specified by <first> through <last>.
Any logged commands which reference <pointer> or an address between
<first> and <last> will be annotated with <comment>.
The command
void TraceAssertAttribMESA( bitfield attribMask )
will add GL state queries and assertion statements to the log to
confirm that the current state at the time TraceAssertAttrib is
executed matches the current state when the trace log is executed
in the future.
<attribMask> is any value accepted by PushAttrib and specifies
the groups of state variables which are to be asserted.
The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA,
TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,
TracePointerMESA and TracePointerRangeMESA are not compiled into display lists.
Examples:
The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
Statements equivalent to the following will then be logged:
glEnable(GL_DEPTH_TEST); (if <test> is true)
glDisable(GL_DEPTH_TEST); (if <test> is false)
glDepthFunc(<func>);
glDepthMask(<mask>);
glClearDepth(<clear>);
The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
The resulting trace might then look will like this:
{
GLboolean b;
GLint i;
GLfloat f;
b = glIsEnabled(GL_DEPTH_TEST);
assert(b == <test>);
glGetIntegerv(GL_DEPTH_FUNC, &i);
assert(i == <func>);
glGetIntegerv(GL_DEPTH_MASK, &i);
assert(i == <mask>);
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f);
assert(f == <clear>);
}
Additions to Chapter 6 of the OpenGL 1.2.1 Specification
(State and State Requests)
Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or
GetDoublev returns the current command class trace mask.
Querying TRACE_NAME_MESA with GetString returns the current trace name.
Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
The MESA_trace extension can be used in a way that does not affect data
flow from application to OpenGL, as well as data flow from OpenGL to
application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA
will add additional GetError queries. Setting a trace mask with NewTraceMESA
as well as use of TraceAssertAttribMESA might cause additional state queries.
With the possible exception of performance, OpenGL rendering should not be
affected at all by a properly chosen logging operation.
Additions to the AGL/GLX/WGL Specifications
None.
GLX Protocol
None. The logging operation is carried out client-side, by exporting
entry points to the wrapper functions that execute the logging operation.
Errors
INVALID_OPERATION is generated if any trace command except TraceCommentMESA
is called between Begin and End.
New State
The current trace name and current command class mask are stored
per-context.
New Implementation Dependent State
None.
Revision History
* Revision 0.1 - Initial draft from template (bk000415)
* Revision 0.2 - Draft (bk000906)
* Revision 0.3 - Draft (bk000913)
* Revision 0.4 - Reworked text, fixed typos (bp000914)
* Revision 0.5 - Assigned final GLenum values (bp001103)
* Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916)
* Revision 0.7 - Added MESA postfix (bk010126)

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

@@ -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

@@ -1,163 +1,163 @@
File: docs/README.WIN32
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
directory. The libs and demos build separately, so if you do not care
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
more than one ZIP file, they all need to be unzipped into the same
directory. Don't worry, you will not overwrite anything.
The Windows build system uses Microsoft Visual Studio. Project files
for a specific version of Visual Studio are in their own directory in
the top-level "windows" directory. For example, Visual Studio 8 files
are in windows/VC8.
Support has been dropped for versions of Visual Studio prior to 8. The
main reason is because Microsoft now provides a free compiler and
developer environment. Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
You'll also need the Platform SDK. Instructions for obtaining and
using the SDK with Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
If you are stuck using VC6 or VC7, you may start with these project
files, but you may need to modify them to reflect changes in the
Mesa source code tree. If you sucessfully update the project files,
please submit them to the author of this document so that they may
be included in the next distribution.
The project files to build the core Mesa library, Windows Mesa
drivers, OSMesa, and GLU are in the mesa directory. The project files
to build GLUT and some demo programs are in the progs directory.
Makefiles are no longer shipped or supported, but can be generated
from the projects using Visual Studio.
Windows Drivers
------- -------
At this time, only the GDI driver is known to work. Most of the demos
in progs/demos should work with this driver.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was
recently cleaned up and rewitten and so may have bugs or may be
missing some functionality. The older versions of the CVS source may
be useful in figuring out any problems, or report them to me.
To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at
windows/VC8/mesa/mesa.sln
The osmesa DLL can also be built with the osmesa project.
The build system creates a lib top-level directory and copies
resulting LIB and DLL files to this lib directory. The files are:
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
If the MesaDemos ZIP file was extracted, the DLL files are also copied
to the demos directory. This facilitates running the demos as described
below.
GLUT and Demos
---- --- -----
A Visual Studio workspace can be found at
windows/VC8/progs/progs.sln
It can be used to build GLUT and a few demos. The GLUT lib and DLL
are copied to the top-level lib directory, along with the Mesa libs.
The demo build system expects to find the LIB files in the top level
lib directory, so you must build the Mesa libs first. The demo
executables are placed in the demos directory, because some of them
rely on data files found there. Also, the Mesa lib DLL's were copied
there by the Mesa lib build process. Therefore, you should be able to
simply run the demo executables from the demo directory.
If you want to run the demos from the Visual Studio, you may have to
change the startup directory and explicitly state where the executables are.
You may also build all the demo programs by using a makefile. Go to
the progs/demos directory and make sure you have executed VCVARS32.BAT
or whatever setup script is appropriate for your compiler. Then,
nmake -f Makefile.win
should build all the demos.
Build System Notes
----- ------ -----
VC6 (not actively supported)
---
Visual Studio 6 does not recognize files with the .cc extension as C++
language files, without a lot of unnatural tweaking. So, the VC6
build process uses custom build steps to compile these files in the
GLU library.
Two additional configurations are provided, Debug x86 and Release x86
that activate the shader code compilation by defining SLANG_86. It is
unknown if and how this works.
VC7 (not actively supported)
---
The above-mentioned .cc problem does not exist in this version.
VC8
---
No notes.
General
-------
After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
The DLL files are built so that the external entry points use the
stdcall calling convention.
Static LIB files are not built. The LIB files that are built with are
the linker import files associated with the DLL files.
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to
change all the gl* symbols to mgl*. Because this is easy to do with a
global replace operation in a text editor, no additional mangled
version of mesa.def is maintained or shipped.
If you have a Windows-related build problem or question, it is
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you as
much as I can. I also monitor the Mesa mailing lists and will answer
questions in this area there as well.
Karl Schultz
File: docs/README.WIN32
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
directory. The libs and demos build separately, so if you do not care
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
more than one ZIP file, they all need to be unzipped into the same
directory. Don't worry, you will not overwrite anything.
The Windows build system uses Microsoft Visual Studio. Project files
for a specific version of Visual Studio are in their own directory in
the top-level "windows" directory. For example, Visual Studio 8 files
are in windows/VC8.
Support has been dropped for versions of Visual Studio prior to 8. The
main reason is because Microsoft now provides a free compiler and
developer environment. Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
You'll also need the Platform SDK. Instructions for obtaining and
using the SDK with Visual Studio Express can be found at
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
If you are stuck using VC6 or VC7, you may start with these project
files, but you may need to modify them to reflect changes in the
Mesa source code tree. If you sucessfully update the project files,
please submit them to the author of this document so that they may
be included in the next distribution.
The project files to build the core Mesa library, Windows Mesa
drivers, OSMesa, and GLU are in the mesa directory. The project files
to build GLUT and some demo programs are in the progs directory.
Makefiles are no longer shipped or supported, but can be generated
from the projects using Visual Studio.
Windows Drivers
------- -------
At this time, only the GDI driver is known to work. Most of the demos
in progs/demos should work with this driver.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was
recently cleaned up and rewitten and so may have bugs or may be
missing some functionality. The older versions of the CVS source may
be useful in figuring out any problems, or report them to me.
To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at
windows/VC8/mesa/mesa.sln
The osmesa DLL can also be built with the osmesa project.
The build system creates a lib top-level directory and copies
resulting LIB and DLL files to this lib directory. The files are:
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
If the MesaDemos ZIP file was extracted, the DLL files are also copied
to the demos directory. This facilitates running the demos as described
below.
GLUT and Demos
---- --- -----
A Visual Studio workspace can be found at
windows/VC8/progs/progs.sln
It can be used to build GLUT and a few demos. The GLUT lib and DLL
are copied to the top-level lib directory, along with the Mesa libs.
The demo build system expects to find the LIB files in the top level
lib directory, so you must build the Mesa libs first. The demo
executables are placed in the demos directory, because some of them
rely on data files found there. Also, the Mesa lib DLL's were copied
there by the Mesa lib build process. Therefore, you should be able to
simply run the demo executables from the demo directory.
If you want to run the demos from the Visual Studio, you may have to
change the startup directory and explicitly state where the executables are.
You may also build all the demo programs by using a makefile. Go to
the progs/demos directory and make sure you have executed VCVARS32.BAT
or whatever setup script is appropriate for your compiler. Then,
nmake -f Makefile.win
should build all the demos.
Build System Notes
----- ------ -----
VC6 (not actively supported)
---
Visual Studio 6 does not recognize files with the .cc extension as C++
language files, without a lot of unnatural tweaking. So, the VC6
build process uses custom build steps to compile these files in the
GLU library.
Two additional configurations are provided, Debug x86 and Release x86
that activate the shader code compilation by defining SLANG_86. It is
unknown if and how this works.
VC7 (not actively supported)
---
The above-mentioned .cc problem does not exist in this version.
VC8
---
No notes.
General
-------
After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
The DLL files are built so that the external entry points use the
stdcall calling convention.
Static LIB files are not built. The LIB files that are built with are
the linker import files associated with the DLL files.
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to
change all the gl* symbols to mgl*. Because this is easy to do with a
global replace operation in a text editor, no additional mangled
version of mesa.def is maintained or shipped.
If you have a Windows-related build problem or question, it is
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you as
much as I can. I also monitor the Mesa mailing lists and will answer
questions in this area there as well.
Karl Schultz

View File

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

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