Commit graph

34060 commits

Author SHA1 Message Date
Brian Paul
a965ef59b5 st/mesa: call is_format_supported() for compressed formats
These compressed format switch cases shouldn't be hit if we don't
support the compressed texture extensions, but let's be safe and
ask the driver if they're supported as we do in other cases.
2010-04-27 09:19:02 -06:00
Brian Paul
85d3687ee7 st/mesa: 80-column wrapping 2010-04-27 09:14:32 -06:00
Brian Paul
29edc2a8b5 st/mesa: try to get actual compressed format for GL_COMPRESSED_RGB[A] formats 2010-04-27 09:11:53 -06:00
Brian Paul
7567f05199 Merge branch '7.8'
Conflicts:

	src/gallium/drivers/nv30/nv30_context.c
	src/gallium/drivers/nv40/nv40_context.c
	src/gallium/drivers/nv40/nv40_state_emit.c
2010-04-27 08:34:06 -06:00
Brian Paul
db14a8022a st/mesa: fix strides in (de)compress_image() functions
Mipmap generation for compressed textures works now.
2010-04-27 08:28:55 -06:00
Brian Paul
15c53d1245 util: fix assorted problems in the image packing functions 2010-04-27 08:28:22 -06:00
Pedro Maia
ea373df069 nv30/40g: fix calls to draw_create(), draw_set_rasterizer_state()
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-04-27 08:22:11 -06:00
José Fonseca
992fc62d59 gallivm: Disable llvm.cos.v4f32 and llvm.sin.v4f32 instrinsics on Windows.
Runtime linking doesn't quite work.

Just comment then out for now to prevent crashes. These will go away in
the future because calling 4 times CRT's cosf()/sinf() is over-precise
and under-performing.
2010-04-27 14:27:24 +01:00
José Fonseca
a18c210a95 gallivm: Ensure all allocas are in the first block.
Refactor the code to make this easier.
2010-04-27 13:20:51 +01:00
Jakob Bornecrantz
96df6064b5 i965g: Fix scons build of winsys 2010-04-27 12:17:11 +01:00
Jakob Bornecrantz
8fbd66d75a st/dri: Don't check for null when user ensures non-null 2010-04-27 12:17:11 +01:00
Jakob Bornecrantz
64fa717b18 dri_util: Assume error checking is done properly in glXMakeCurrent
In short what the code did before:

    __DRIscreen *psp = NULL;
    if (pcp)
       psp = pcp->psb;

    assert(psp);
    if (psp->stuff)
       other_stuff();

    return psb->even_more(pcp);

Remove all that stupid checking which still segfaults/asserts later on and
just do what we do in driUnbindContext. Also limited testing show libGL never
call driUnbindContext or driBindContext with cPriv == NULL.
2010-04-27 12:17:11 +01:00
Jakob Bornecrantz
ae79e778f7 st/dri: Use flush function of old context not new 2010-04-27 12:17:11 +01:00
Marek Olšák
b7fa7e8da6 r300g: fix mipmapped texture3D size calculation
I accidentally inverted the condition. :(
Broken since the commit 2579fe4044.
FDO bug #27851.
2010-04-27 12:25:23 +02:00
Marek Olšák
847a24c011 r300g: compensate for non-atomized emit_query_end in the CS
And reserve a little more space just in case.
2010-04-27 12:25:22 +02:00
Vinson Lee
35d52a0626 progs/tests: Remove meaningless const qualifier in arraytexture.c. 2010-04-27 01:22:26 -07:00
Vinson Lee
a7b6a06bf1 nvfx: Move src/gallium/drivers to beginning of SCons include path.
libdrm-2.4.20 and earlier include the nouveau/nouveau_class.h header. A
later version of libdrm will not ship this header. Mesa also has this
header at src/gallium/drivers.

The symbol NV34TCL_VTXFMT_TYPE_HALF is needed by nvfx_vbo.c. This symbol
is not in the libdrm copy of the header but is in the Mesa copy of the
header. This patch moves src/gallium/drivers to the beginning of the
include paths such that when building on hosts with libdrm-2.4.20 or
ealier the build uses the copy in Mesa.
2010-04-27 00:46:00 -07:00
Chia-I Wu
fbfecda6ae progs/egl: Add egl/eglut to PROGRAM_DIRS.
Make sure eglut is built before the demos.  This should work more
reliably with make -j<N>.
2010-04-27 14:19:24 +08:00
Brian Paul
0fcea8a411 docs: update some GL3 status 2010-04-26 20:35:55 -06:00
Brian Paul
84407d7365 mesa: start adding GL 3.1 signed normalized texture formats 2010-04-26 20:35:19 -06:00
Brian Paul
b0e2c5f8aa docs: document updated glext.h and glxext.h files 2010-04-26 20:32:24 -06:00
Brian Paul
4eb803975d glxext.h: upgraded to 2010/02/10 version 2010-04-26 20:32:02 -06:00
Brian Paul
273058b677 glext: upgraded to version 61 2010-04-26 20:31:19 -06:00
Marek Olšák
b1ceadf2ee r300g: reserve CS space for index offset
This has caused CS overflow since the commit
671f1e1229.

TA3D works here again.
2010-04-27 02:45:51 +02:00
Vinson Lee
03b3c10774 llvmpipe: Remove unused variable. 2010-04-26 16:31:05 -07:00
Marek Olšák
307f28cf1e r300g: add support for more unaligned vertex formats
An aligned stride is still needed for it to work.

I am slowly approaching the Sauerbraten milestone!
2010-04-27 00:14:58 +02:00
Marek Olšák
a961431285 r300g: setup PSC first, then align vertex formats
This allows us to put correct swizzles for undefined components in PSC.
2010-04-27 00:06:07 +02:00
Marek Olšák
83b76657b3 r300g: set undefined vertex swizzles to (0,0,0,1) respectively 2010-04-27 00:01:03 +02:00
Zack Rusin
52f145a186 draw/llvm: implement fetch elts paths
we were only running the llvm paths when the input elts were linear,
now we can handle abritrary fetch elts arrays. we do this by generating
two paths - linear and fetch_elts one and just selecting the right one
at run time.
2010-04-26 15:34:16 -04:00
Alex Deucher
3a9717f7c2 r600: add support for more rendering formats 2010-04-26 15:02:13 -04:00
Marek Olšák
3e0f1719d4 r300g: disable point sprites (again)
They cause lockups. The users doesn't seem to like them.
2010-04-26 20:53:17 +02:00
Marek Olšák
304b9e2ccc r300g: fix warnings when printing uint64_t
Though not nice, this is the correct way.
2010-04-26 20:32:38 +02:00
Marek Olšák
7d164fc359 r300g: fix warnings by using the const qualifier
See also the libdrm commit af98ccf4dd5dcb1b904ec32b9bd1521e6bf7dda5.
2010-04-26 20:31:17 +02:00
Matt Turner
30c9bca502 r300g: use CS_OUT_TABLE better
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-04-26 20:30:37 +02:00
Alex Deucher
a53e8b7def r600: avoid setting invalid bit on r7xx for blits 2010-04-26 13:45:01 -04:00
Alan Hourihane
06574e45b4 gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOP 2010-04-26 17:42:51 +01:00
José Fonseca
6ecbbc3c05 draw: Always use the llvm middle end when available & enabled. 2010-04-26 16:05:06 +01:00
José Fonseca
7fd9e3cfb0 svga: Pass-through max_index to translate. 2010-04-26 16:05:06 +01:00
José Fonseca
2a30d3d74a draw: Pass-through pipe_buffer::max_index to translate.
max_index must be observed to prevent crashes due to bad index data.

I've been using this patch for some time without regressions.

Some places, where we use internal vertex buffer, it is not entirely
clear what max_index should be, so passing just ~0 to avoid regressions
for now.
2010-04-26 16:05:06 +01:00
José Fonseca
fc431a58dc translate: Take and respect a max_index argument. 2010-04-26 16:05:06 +01:00
Corbin Simpson
b02f1c86f5 r300g: Rudimentary stats, printed on exit.
Whoo!
2010-04-26 07:13:51 -07:00
Corbin Simpson
bf98d61708 r300g: Add stats debug flag. 2010-04-26 07:13:51 -07:00
Andre Maasikas
12172071b5 r600: enable VERT_RESULT_PSIZ - makes point size & attenuation work
doc additions: shader export ARRAY_BASE for EXPORT_POS: 60 is position,
61 is misc vec(VS_OUT_MISC_VEC - used here),
62, 63 are clip distance vectors(VS_OUT_CCDIST#)

sorry for formating - there seem to be so many different styles in r600
2010-04-26 13:30:01 +03:00
Andre Maasikas
04a148629f r600: adjust point sprites after 911fa4a4a1
there's no more vp results for point coords so we cannot iterate
over vp outputs. Use only Point.CoordReplace[i]
2010-04-26 13:30:01 +03:00
Vinson Lee
5fd97573e3 scons: Include headers from the local include directory first.
Certain headers, such as GL/glew.h, are in both the Mesa include and the
default installed include directories. On recent distros the needed
symbols can be found in both places. On older distros the installed
headers could be lacking symbols, so for a header that exists in both
places, the local one should be found first.
2010-04-26 01:08:34 -07:00
Vinson Lee
31db310be4 os: Check for spurious wakeups in pipe_barrier_wait.
The POSIX function pthread_cond_wait can have spurious wakeups when
waiting on a condition variable.

Add a 64-bit counter that is incremented whenever the barrier becomes
full. A woken thread checks the counter. If the counter has not changed
then it has been spuriously woken and goes back to sleep. If the counter
has changed then it was properly signaled and exits the barrier.

Tested on Mac OS X.

This patch was based on ideas from Luca Barbieri.
2010-04-26 00:31:20 -07:00
Corbin Simpson
59fcbc0ac5 r300g: Use table CS writing when applicable.
I just broke the 2000 fps barrier on glxgears. Yay?
2010-04-26 00:24:26 -07:00
Corbin Simpson
c53142c3f4 r300g: Add CS table writing. 2010-04-26 00:24:26 -07:00
Vinson Lee
2d1b95477f et/egl: Remove dead code.
proc_name cannot be NULL after the switch statement. proc_name is
assigned a value or the function has already returned.
2010-04-26 00:19:14 -07:00
Vinson Lee
310ec9a17c nvfx: Add include path to SCons build. 2010-04-25 22:51:14 -07:00