Commit graph

30679 commits

Author SHA1 Message Date
Luca Barbieri
ecaaf8c15f gallium/util: add one-time initialization helper 2010-04-02 02:01:25 +02:00
Zack Rusin
ab5c097387 draw llvm: a lot better storing implementation 2010-04-01 18:58:51 -04:00
Luca Barbieri
3040462c10 gallium/util: use #pragma section instead of #pragma data_seg
They apparently both declare the section, but #pragma data_seg
also puts all subsequent definitions in the section, which is
undesirable.

This should be the correct solution, and is actually used by the
reference I cited (but I forgot to do it in my code).

Untested, let me know if it doesn't work.
2010-04-02 00:48:27 +02:00
Luca Barbieri
6c5f444f59 gallium/util: reindent u_half.c and u_half.h with Mesa coding style
Sorry, forgout about that.
2010-04-02 00:48:27 +02:00
Luca Barbieri
7bb54c99a4 Revert "util: Init half-float tables on demand."
This reverts commit 950300eb25.
2010-04-02 00:47:11 +02:00
Corbin Simpson
950300eb25 util: Init half-float tables on demand.
Gets rid of unnecessary delays on startup and compiler-specific hax.
2010-04-01 14:41:18 -07:00
Jeremy Huddleston
69ea4e7718 apple: Use mesa gl.h rather than generating one.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-04-01 12:33:47 -07:00
Jeremy Huddleston
dbe8b01393 apple: Integrate our libGL into the existing build system better
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 12:33:47 -07:00
Jeremy Huddleston
23215ef4d6 apple: Change ifdefs for DRI to be DRI && !APPLE
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 12:33:46 -07:00
Jeremy Huddleston
9495e37030 apple: Remove duplicate headers that already exist in mesa.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-04-01 12:33:46 -07:00
Jeremy Huddleston
0594cf7088 apple: Initial import of libGL for OSX from AppleSGLX svn repository.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 12:33:45 -07:00
José Fonseca
7e1aceaf0a llvmpipe: Support sampling from PIPE_FORMAT_R32_FLOAT. 2010-04-01 19:01:46 +01:00
Michal Krol
13d2f3c738 util: Declare .CRT$XCU data segment. 2010-04-01 19:25:25 +02:00
Michal Krol
8c519e5f87 scons: Remove `util/u_gctors.cpp'. 2010-04-01 19:06:05 +02:00
Luca Barbieri
4edffe026e gallium/util: rewrite global constructor system for half floats (GCC/MSVC only!)
NOTE: this commit will cause Gallium to fail to build on any compiler
      except GCC, the Microsoft C compiler and compatible compilers that
      claim to be one of those.

This commit removes the u_gctors.cpp mechanism, in favor of using
compiler-specific syntax to add global constructors from C files.

This solves the problem of u_gctors.o not being pulled from static
libraries and avoids using C++.

However, it needs compiler-specific support for every compiler.

The Microsoft C compiler support has not been tested.
2010-04-01 18:52:02 +02:00
José Fonseca
8f38135e28 llvmpipe: Support sampling from signed and mixed siged formats. 2010-04-01 17:46:59 +01:00
José Fonseca
f14c5adbc7 st/python: Allow to sample only in the [0,1] range. 2010-04-01 17:46:59 +01:00
José Fonseca
e011272fa3 st/python: Always use softpipe as reference driver. 2010-04-01 17:46:58 +01:00
Luca Barbieri
38afd1e445 gallium/util: add copyright header to u_half.c 2010-04-01 17:31:31 +02:00
José Fonseca
2da7ef077a llvmpipe: More tweaks to the supported texture formats. 2010-04-01 15:16:26 +01:00
José Fonseca
89034b8ae7 util: Declare util_half_init_tables only once. 2010-04-01 15:15:28 +01:00
José Fonseca
982d36667d util: Use u_math.h's union fi instead of redefining it. 2010-04-01 15:11:05 +01:00
José Fonseca
08eb07bc83 util: Add support for other DXTn RGBA formats. 2010-04-01 15:07:14 +01:00
José Fonseca
8548efbe1d util: Get DXT1_RGB format working correctly. 2010-04-01 14:43:35 +01:00
José Fonseca
ca6aacf842 util: Add test case for PIPE_FORMAT_DXT1_RGB. 2010-04-01 13:34:24 +01:00
José Fonseca
9899ebd2fc llvmpipe: Fix build... 2010-04-01 13:20:00 +01:00
José Fonseca
d099554492 util: Allow to have block format test cases 2010-04-01 13:12:43 +01:00
Michal Krol
943408533d util: Generate correct format conversions for half floats. 2010-04-01 13:56:03 +02:00
Michal Krol
b7bca4b28c util: Use u_half to perform half <--> float conversions. 2010-04-01 13:33:08 +02:00
Michal Krol
5a359df219 gallium: Integrate util_half with scons. 2010-04-01 13:33:08 +02:00
Luca Barbieri
3ff175d6de gallium/util: add fast half float conversion functions
This adds a fast half float conversion facility to Gallium.

Mesa already contains such a facility, but using a much worse algorithm.

This one is an implementation of
www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf
and uses a branch-less algorithm with some lookup tables small enough
to fit in the L1 cache.

Ideally, Mesa should start using these functions too, but I'm not sure
how to arrange that with the current build system.

A new "u_gctors.cpp" is added that defines a global C++ constructor
allowing to initialize to conversion lookup tables at library init.
2010-04-01 13:33:07 +02:00
José Fonseca
f706f12bbf util: Add half float test cases. 2010-04-01 11:52:00 +01:00
José Fonseca
898ddd6b00 llvmpipe: Fix (un)swizzling, broken due to use of VOID channels. 2010-04-01 11:31:27 +01:00
Vinson Lee
16f568a183 glx: Fix compilation errors on non-GLX_DIRECT_RENDERING builds.
driContext field for __GLXcontextRec struct is only defined if
GLX_DIRECT_RENDERING is set.
2010-04-01 00:10:28 -07:00
Vinson Lee
bef912abd3 mesa: Remove unnecessary header. 2010-03-31 23:44:29 -07:00
Vinson Lee
e6be593fbf r300g: Remove unnecessary header. 2010-03-31 23:36:06 -07:00
Luca Barbieri
7326851757 util/format: fix big endian compilation by not trying to byteswap single bytes
Conceivably, we could also have a dummy util_bswap8, but it seems better
to not emit it in the first place.
2010-04-01 06:23:30 +02:00
Zack Rusin
b6d052e4fd Merge remote branch 'origin/master' into gallium_draw_llvm 2010-03-31 22:16:09 -04:00
Zack Rusin
ae5487d427 draw llvm: fix iteration over buffers
fetching was converting garbage
2010-03-31 22:15:12 -04:00
Zack Rusin
2fb655d1db gallivm: convert floats to doubles
printf can't handle floats, convert them to doubles so that we can
actually print floats.
2010-03-31 21:30:37 -04:00
Marek Olšák
2ab7375572 r300g: add RGBA16F colorbuffer support
Disabled by default due to unresolved IP issues.
2010-04-01 02:21:06 +02:00
Marek Olšák
3252651fb2 r300g: add RGTC texture support
The CS checker already knows about this.
2010-04-01 02:14:52 +02:00
Marek Olšák
39e116e3a0 r300g: format handling cleanup 2010-04-01 01:13:26 +02:00
José Fonseca
f45d43a17f softpipe: Use S3TC when avaiilable, 2010-03-31 22:47:11 +01:00
José Fonseca
9388ce4191 util: Hook into libtxc_dxtn.so (WIP). 2010-03-31 22:46:42 +01:00
José Fonseca
b5d073b39d llvmpipe: Don't call unused generate_clamp(). 2010-03-31 21:37:57 +01:00
José Fonseca
36e92a0494 libgl-xlib: Fix missing X11 symbols. 2010-03-31 21:27:47 +01:00
José Fonseca
018aae950d util: Make the accessors bidimensional again.
Otherwise there's no way to unpack blocks with height >1
2010-03-31 21:27:47 +01:00
Michal Krol
b8012643e1 util: First stab at half-float conversion. 2010-03-31 21:55:31 +02:00
José Fonseca
329814c6ee util: Describe PIPE_FORMAT_NONE as PIPE_FORMAT_R8_USCALED.
Avoids the need to special case PIPE_FORMAT_NONE so often.

Conflicts:

	src/gallium/auxiliary/util/u_format_table.py
2010-03-31 20:19:14 +01:00