Commit graph

22853 commits

Author SHA1 Message Date
Corbin Simpson
49de8ec2ea r300-gallium: Properly split up RS into r300 and r500 variants. 2009-02-27 12:25:09 -08:00
Corbin Simpson
991c945e72 radeon: Add DRM stubs.
Nothing really of note, unfortunately.
2009-02-27 12:25:09 -08:00
Corbin Simpson
7a10fcb7b6 Include p_compiler.h in drm_api.h for boolean typedef. 2009-02-27 12:25:09 -08:00
Corbin Simpson
fd5411fe36 r300-gallium: Turn true and false into TRUE and FALSE.
Match the rest of Gallium.
2009-02-27 12:25:09 -08:00
Brian Paul
67025f7893 mesa: set bufObj->Pointer = NULL after unmapping
Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.
2009-02-27 13:10:45 -07:00
Brian Paul
a7f434b486 mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap it 2009-02-27 13:04:38 -07:00
Brian Paul
395bcad8c0 mesa: updated comments 2009-02-27 12:56:07 -07:00
Brian Paul
75e3ccf6a5 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.
2009-02-27 12:56:07 -07:00
Shaohua Li
40290745ea 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>
2009-02-27 11:49:10 -08:00
Keith Whitwell
43714e92e3 tgsi: don't dump interpolation info except for fragment shader inputs
Don't print the meaningless and confusing CONSTANT interpolation
attribute after everything else.
2009-02-27 19:34:27 +00:00
Brian Paul
b6e2dd6e06 tests: new mapvbo.c test
Test that glDrawArrays() isn't effected by a glMapBuffer()/modify/glUnmapBuffer()
immediately afterward.
2009-02-27 11:46:38 -07:00
Corbin Simpson
c28298855b r300-gallium: Add RS block setup.
This is still icky, and only compile-tested.
2009-02-27 10:19:22 -08:00
Corbin Simpson
4ef8c047ea r300-gallium: Add RS600 chipsets. 2009-02-27 10:19:22 -08:00
Corbin Simpson
65021162a4 r300-gallium: A handful of tiny vfmt fixups.
Using a tab of inputs should work, but I keep getting bad results.
If only Rawhide's GDB wasn't broken...
2009-02-27 10:19:22 -08:00
Robert Ellison
17c7852bf9 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.)
2009-02-27 10:11:37 -07:00
Brian Paul
026465b9b1 gallium: fix state tracker's stencil buffer test
Need to check ctx->DrawBuffer->Visual.stencilBits not ctx->Visual.stencilBits
because the later only applies to the window system buffers, not user-created
FBOs.

This, plus the previous commit, fixes progs/tests/fbotexture.c
2009-02-27 10:08:46 -07:00
Brian Paul
5fc74734d9 gallium: add st_validate_framebuffer() driver function
Gallium only supports combined depth/stencil buffers, not separate ones.
If the user tries to create create a FBO with separate depth/stencil
renderbuffers mark the FBO as unsupported.
2009-02-27 10:08:46 -07:00
Keith Whitwell
b747e1dec4 util: set vbuf.max_index in draw_vertex_buffer()
(cherry picked from commit 1350f2efba5eeceebe0e711db6152c29e9889ce7)
2009-02-27 15:30:34 +00:00
Keith Whitwell
a321b8ed6e softpipe: add dumping of post-tranfsormed vertices (disabled) 2009-02-27 15:23:21 +00:00
David Miller
cf89f06363 mesa: Fix and re-enable sparc normal asm.
Fix a bug reported in 2003 :-)

The output vector has 4 entries, not 3.

Unconditionally emit .register directives.

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-27 07:54:02 -07:00
David Miller
bde27b0d94 mesa: Fix Sparc cliptest asm code and re-enable.
Stop using register %g7 since that is used by the "system" (ie. the
pthread implementation makes use of it).

Also, the projection vector can be NULL and we shouldn't try to access
it at all in _mesa_sparc_cliptest_points4_np().  ioquake3 would crash
due to this bug.

Finally, unconditionally emit the register directives and re-enable in
_mesa_init_all_sparc_transform_asm().

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-27 07:53:37 -07:00
Jakob Bornecrantz
e1d276f935 intel: Use flink for global buffer ids
Also fix minor drm api change
2009-02-27 03:36:48 +01:00
Jakob Bornecrantz
6a72a2d3f4 egl: Fix for minor api change 2009-02-27 03:35:01 +01:00
Jakob Bornecrantz
24a94d13c9 st/drm: Seperate get handle for global buffer ids 2009-02-27 03:35:01 +01:00
David S. Miller
18e01393b8 mesa: Fix DEBUG_MATH build on sparc.
Need to use '__asm__' instead of plain 'asm'.

math/m_debug_clip.c: In function ‘test_cliptest_function’:
math/m_debug_clip.c:253: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘asm’
math/m_debug_clip.c:253: warning: implicit declaration of function ‘asm’

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-26 18:59:58 -07:00
Brian Paul
7d399bf062 docs: add SPARC assembly updates 2009-02-26 18:59:58 -07:00
Brian Paul
4f8ed56d16 intel: no-op the intel_finish_render_texture() function
It doesn't have to do anything.  See comments for more details.
2009-02-26 18:48:36 -07:00
Brian Paul
f77b720cde intel: check texture formats in intel_validate_framebuffer()
We can't render into any texture format; only certain formats.
Check that render-to-texture's format is renderable in the
intel_validate_framebuffer()

There seems to be a bug somewhere that causes rendering to rgb565 textures
to be corrupted so disallow that for now.  This will be revisted.
2009-02-26 18:48:36 -07:00
Brian Paul
645f220710 intel: updated comment, some debug code (disabled) 2009-02-26 18:48:35 -07:00
root
cdc63901df i965: rename draw_regions -> color_regions
Be a little more specific about what these are.
2009-02-26 18:48:35 -07:00
Brian Paul
c710077807 demos: add a fourth test case to VBO test for position/color in different VBOs 2009-02-26 18:48:35 -07:00
Brian Paul
1614463235 mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()
Only call this driver function when we really need to bind different buffers.
2009-02-26 18:48:35 -07:00
Brian Paul
ecdf3ce436 i965: add missing init for region->width
This doesn't seem to really effect anything but seeing width=0 in drawing
regions was confusing.
2009-02-26 18:48:35 -07:00
Brian Paul
8ae7e7749b mesa: replace old prog_instruction::Sampler field with Aux field
The i965 driver needs an extra instruction field for color output information.
It was using the Sampler field for this.  Use the Aux field instead.  This
will probaby be revisited at some point...
2009-02-26 18:48:35 -07:00
Brian Paul
9b78d9f651 i965: whitespace/indentation fixes 2009-02-26 18:48:35 -07:00
David S. Miller
857ac1e817 mesa: Resurrect SPARC asm code.
This rewrites the sparc GLAPI code so that it's PIC friendly and works
with all of the TLS/PTHREADS/64-bit/32-bit combinations properly.

As a result we can turn SPARC asm back on.  Currently it's only
enabled on Linux, as that's the only place where I can test this
stuff out.

For the moment the cliptest SPARC asm routines are disabled as they
are non-working.  The problem is that they use register %g7 as a
temporary which is where the threading libraries store the thread
pointer on SPARC.  I will fix that code up in a future change as it's
a pretty important routine to optimize.

Like x86 we do the runtime patch as a pthread once-invoked initializer
in init_glapi_relocs().

Unlike x86, however, our GLAPI stubs on SPARC are just two instruction
sequences that branch to a trampoline and put the GLAPI offset into a
register.  The trampoline is what we run-time patch.  The stubs thus
all look like:

glFoo:
	ba		__glapi_sparc_foo_stub
	 sethi		GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3

This actually makes generate_entrypoint() a lot simpler on SPARC.  For
this case in generate_entrypoint() we generate stubs using a 'call'
instead of the 'ba' above to make sure it can reach.

In order to get a proper tail call going here, in the unpatched case,
we do several tricks.  To get the current PC, for example, we save the
return address register into a temporary, do a call, save the return
address register written by the call to another temporary, then
restore the original return address register value.  This is to
avoid having to allocate a stack frame.

This is necessary for PIC address formation.

This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in
__glXInitialize() and one_time_init().

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-26 18:29:48 -07:00
Eric Anholt
b12dc74f86 intel: Revert disable of accelerated Bitmap, which slipped in with spans stuff. 2009-02-26 11:46:36 -08:00
Tomas Carnecky
5add2c88bd Fix "cast to pointer from integer of different size"
The script generates code like:
   pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 80);
which causes the above mentioned warning. Add parenthesis around the
whole expression to fix it.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
2009-02-26 09:20:09 -08:00
José Fonseca
34e719c9b3 scons: Don't build the DRI drivers in a seperate dir.
DRI drivers can be build side by side with other non-DRI drivers, therefore
there is no need to build gallium twice.
2009-02-26 13:45:47 +00:00
José Fonseca
af3ab2d9f3 scons: Use a cache for built files.
Like ccache, but works on all OSes.
2009-02-26 13:43:44 +00:00
Xiang, Haihao
68915fd6fa 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
2009-02-26 17:31:01 +08:00
Eric Anholt
160c3617fc intel: Disable creating DRI2 FBconfigs with depth size != color size.
While it's a nice idea to be able to allow clients to choose a smaller
(or bigger for 16bpp screens!) depth size, right now DRI2 hands back a buffer
with a size that matches the drawable, rather than being based off of the
visual.  This led to problems in readback as parts of the driver disagreed
on what format the depth buffer was really in.

Fixes the remainder of bug #19447.
2009-02-26 00:20:39 -08:00
Eric Anholt
2b34275a78 intel: Add span code for z24 without stencil.
It seems that in this case the Mesa code is handing us x8z24 values instead
of z24s8 values, so we need to not do the rotation.  Fixes half of OGLconform
depthrange.c.

Bug #19447.
2009-02-26 00:13:26 -08:00
Eric Anholt
43a4543946 intel: make template wrappers for the spans templates.
This is insanity, but so is copying the same blocks containing the actual
interesting code in the file three times each for the different tile formats.
2009-02-25 23:57:00 -08:00
Eric Anholt
119f34e2a5 intel: Fix up x8r8g8b8 renderbuffer format so that alpha=1 spans code happens.
I was lured into a false sense of security by the fact that the spans code was
already there, and a bunch of tests didn't catch the problem.  oglconform's
mask.c did, though.

Bug #19970.
2009-02-25 23:01:57 -08:00
Dan Nicholson
53b3734511 autoconf: Fixup EGL build
This gets the needed libraries pulled in for libEGL for autoconf.
2009-02-25 17:45:34 -08:00
Eric Anholt
d0415a5a01 i965: Rename CMD_CONST_BUFFER_STATE to the CS_URB_STATE used in the docs. 2009-02-25 16:17:44 -08:00
Alex Deucher
69f080cefc R300: Add support for RS600 chips 2009-02-25 17:30:56 -05:00
Younes Manton
a0dc286b5f nouveau: nv04-nv40 texture transfer. 2009-02-25 12:56:00 -05:00
Younes Manton
5726a5afa5 g3dvl: Update winsys stuff. 2009-02-25 12:56:00 -05:00