Luca Barbieri [Wed, 24 Mar 2010 17:12:45 +0000 (18:12 +0100)]
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.
José Fonseca [Thu, 1 Apr 2010 10:52:54 +0000 (11:52 +0100)]
gallium/unit: Install test in build/xxx/bin
José Fonseca [Thu, 1 Apr 2010 10:52:00 +0000 (11:52 +0100)]
util: Add half float test cases.
José Fonseca [Thu, 1 Apr 2010 10:31:03 +0000 (11:31 +0100)]
llvmpipe: Fix (un)swizzling, broken due to use of VOID channels.
Vinson Lee [Thu, 1 Apr 2010 06:44:29 +0000 (23:44 -0700)]
mesa: Remove unnecessary header.
Vinson Lee [Thu, 1 Apr 2010 06:36:06 +0000 (23:36 -0700)]
r300g: Remove unnecessary header.
Luca Barbieri [Thu, 1 Apr 2010 04:17:10 +0000 (06:17 +0200)]
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.
Zack Rusin [Thu, 1 Apr 2010 01:30:37 +0000 (21:30 -0400)]
gallivm: convert floats to doubles
printf can't handle floats, convert them to doubles so that we can
actually print floats.
Marek Olšák [Thu, 1 Apr 2010 00:21:06 +0000 (02:21 +0200)]
r300g: add RGBA16F colorbuffer support
Disabled by default due to unresolved IP issues.
Marek Olšák [Thu, 1 Apr 2010 00:14:52 +0000 (02:14 +0200)]
r300g: add RGTC texture support
The CS checker already knows about this.
Marek Olšák [Wed, 31 Mar 2010 23:13:26 +0000 (01:13 +0200)]
r300g: format handling cleanup
José Fonseca [Wed, 31 Mar 2010 21:47:11 +0000 (22:47 +0100)]
softpipe: Use S3TC when avaiilable,
José Fonseca [Wed, 31 Mar 2010 21:46:42 +0000 (22:46 +0100)]
util: Hook into libtxc_dxtn.so (WIP).
José Fonseca [Wed, 31 Mar 2010 20:37:57 +0000 (21:37 +0100)]
llvmpipe: Don't call unused generate_clamp().
José Fonseca [Wed, 31 Mar 2010 20:27:07 +0000 (21:27 +0100)]
libgl-xlib: Fix missing X11 symbols.
José Fonseca [Wed, 31 Mar 2010 20:16:16 +0000 (21:16 +0100)]
util: Make the accessors bidimensional again.
Otherwise there's no way to unpack blocks with height >1
Michal Krol [Wed, 31 Mar 2010 19:54:54 +0000 (21:54 +0200)]
util: First stab at half-float conversion.
José Fonseca [Thu, 18 Mar 2010 11:27:29 +0000 (11:27 +0000)]
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
José Fonseca [Wed, 17 Mar 2010 19:50:33 +0000 (19:50 +0000)]
util: Silence pointer to integer size mismatch errors.
José Fonseca [Wed, 31 Mar 2010 19:15:17 +0000 (20:15 +0100)]
util: Add callback to fetch a single pixel.
José Fonseca [Wed, 31 Mar 2010 19:05:10 +0000 (20:05 +0100)]
python/tests: Read the number of tests to execute from command line.
José Fonseca [Wed, 31 Mar 2010 18:53:25 +0000 (19:53 +0100)]
mesa: Use a consistent name of the external s3tc library for all windows compilers.
José Fonseca [Wed, 31 Mar 2010 18:43:57 +0000 (19:43 +0100)]
scons: Force to consider the util/u_format_pack.py for util/u_format_table.c.
José Fonseca [Thu, 11 Mar 2010 17:52:34 +0000 (17:52 +0000)]
scons: Don't always include/links X11 headers/libs.
Move it into a separate tool.
TODO: Needs to be "tooled" in each SConscript that uses it.
José Fonseca [Thu, 11 Mar 2010 16:50:37 +0000 (16:50 +0000)]
scons: Don't always link expat.
Only needed for DRI. Should be linked in DRI specific subdirectories.
José Fonseca [Wed, 10 Mar 2010 16:34:09 +0000 (16:34 +0000)]
llvmpipe: Disable threads by default on embedded.
Kurt Daverman [Wed, 10 Mar 2010 16:30:22 +0000 (16:30 +0000)]
os: Temporarily use posix thread for embedded too.
José Fonseca [Mon, 8 Mar 2010 19:58:34 +0000 (19:58 +0000)]
scons: Allow any toolchain to be specified in the command line.
José Fonseca [Wed, 31 Mar 2010 16:29:51 +0000 (17:29 +0100)]
util: Remove the hand written u_tile.c functions for the ones that are code generated correctly.
Not that the code generated are any better, but to quickly detect any regression
in the code generated ones from now on.
José Fonseca [Wed, 31 Mar 2010 16:26:31 +0000 (17:26 +0100)]
util: Use u_format_pack.py's code instead of u_format_access.py.
José Fonseca [Wed, 31 Mar 2010 15:58:05 +0000 (16:58 +0100)]
llvmpipe: Don't rely on u_format_access.py
Roland Scheidegger [Wed, 31 Mar 2010 14:57:05 +0000 (16:57 +0200)]
Merge branch 'gallium-new-formats'
Conflicts:
src/gallium/auxiliary/util/u_format.csv
src/gallium/auxiliary/util/u_format_access.py
src/gallium/auxiliary/util/u_format_pack.py
José Fonseca [Wed, 31 Mar 2010 14:30:14 +0000 (15:30 +0100)]
util: Put the format pack/unpack functions in the description table.
José Fonseca [Wed, 31 Mar 2010 13:43:09 +0000 (14:43 +0100)]
util: Make pack/unpack operate on spans.
Ben Skeggs [Wed, 31 Mar 2010 05:44:25 +0000 (15:44 +1000)]
st/mesa: use BITFIELD64_BIT to access shader OutputsWritten in more places
José Fonseca [Wed, 31 Mar 2010 13:31:29 +0000 (14:31 +0100)]
util: Make util_format_xxx_pack_xxx take pointer as arguments.
José Fonseca [Wed, 31 Mar 2010 13:28:54 +0000 (14:28 +0100)]
util: Fix PIPE_FORMAT_B5G5R5X1_UNORM test case.
José Fonseca [Wed, 31 Mar 2010 13:28:34 +0000 (14:28 +0100)]
util: Use VOID type for X channels in format descriptions.
José Fonseca [Wed, 31 Mar 2010 13:05:55 +0000 (14:05 +0100)]
python/tests: Run trhough tests randomly.
José Fonseca [Wed, 31 Mar 2010 13:05:21 +0000 (14:05 +0100)]
gallivm: Fix USCALED translation. Minor Cleanups.
José Fonseca [Wed, 31 Mar 2010 13:00:46 +0000 (14:00 +0100)]
llvmpipe: More accurate format capability exporting.
José Fonseca [Wed, 31 Mar 2010 12:59:59 +0000 (13:59 +0100)]
llvmpipe: Drop the aos format conversion.
It's unused and incomplete. Still in git history if necessary in future.
José Fonseca [Wed, 31 Mar 2010 12:55:12 +0000 (13:55 +0100)]
util: Generalize lp_format_is_rgba8 into util_format_is_rgba8_variant.
José Fonseca [Wed, 31 Mar 2010 12:28:36 +0000 (13:28 +0100)]
python/tests: Rename test name.
We only test blitting from a surface -- we don't test any sampler state.
José Fonseca [Wed, 31 Mar 2010 12:27:08 +0000 (13:27 +0100)]
python/tests: Test all existing gallium formats.
José Fonseca [Wed, 31 Mar 2010 12:12:08 +0000 (13:12 +0100)]
python/tests: Speed up the tests by reusing the same pipe context.
José Fonseca [Wed, 31 Mar 2010 11:28:49 +0000 (12:28 +0100)]
python/tests: Get the tests running again.
José Fonseca [Wed, 31 Mar 2010 11:28:12 +0000 (12:28 +0100)]
st/python: Generate binding for u_format utility functions too.
Vinson Lee [Wed, 31 Mar 2010 06:46:51 +0000 (23:46 -0700)]
i965g: Fix assertion that was always true.
surface_format field is a 9-bit field and the value of
BRW_SURFACEFORMAT_INVALID exceeds 9 bits.
Vinson Lee [Wed, 31 Mar 2010 06:35:32 +0000 (23:35 -0700)]
st/dri: Remove unnecessary header.
Vinson Lee [Wed, 31 Mar 2010 05:42:45 +0000 (22:42 -0700)]
identity: Remove unnecessary header.
Vinson Lee [Wed, 31 Mar 2010 05:35:23 +0000 (22:35 -0700)]
st/dri: Remove unnecessary header.
Brian Paul [Wed, 31 Mar 2010 01:55:08 +0000 (19:55 -0600)]
mesa: added glGet queries for transform_feedback
Brian Paul [Wed, 31 Mar 2010 01:54:51 +0000 (19:54 -0600)]
mesa: added glEnable/Disable state for transform feedback
Brian Paul [Wed, 31 Mar 2010 01:53:01 +0000 (19:53 -0600)]
mesa: add new query/buffer targets for transform feedback
Brian Paul [Wed, 31 Mar 2010 01:51:26 +0000 (19:51 -0600)]
mesa: plug in transform feedback functions, set limits
Brian Paul [Wed, 31 Mar 2010 01:50:49 +0000 (19:50 -0600)]
mesa: add transformfeedback.c to build
Brian Paul [Wed, 31 Mar 2010 01:50:11 +0000 (19:50 -0600)]
mesa: initial check-in of transform feedback functions
Brian Paul [Wed, 31 Mar 2010 01:54:02 +0000 (19:54 -0600)]
mesa: add transform feedback queries
And make _mesa_copy_string() non-static.
Brian Paul [Wed, 31 Mar 2010 01:53:28 +0000 (19:53 -0600)]
mesa: add EXT_transform_feedback to extension list
Brian Paul [Wed, 31 Mar 2010 01:59:51 +0000 (19:59 -0600)]
mesa: initial data structures for transform feedback
Brian Paul [Tue, 30 Mar 2010 17:33:51 +0000 (11:33 -0600)]
mesa: simplify query code with get_query_binding_point()
Ian Romanick [Tue, 30 Mar 2010 22:38:03 +0000 (15:38 -0700)]
intel: Bump intel driver date to later than the date on the 7.8 branch
Kristian Høgsberg [Tue, 30 Mar 2010 18:41:27 +0000 (14:41 -0400)]
dri: Drop another unused __DRIscreen field
Kristian Høgsberg [Tue, 30 Mar 2010 18:38:52 +0000 (14:38 -0400)]
dri: Drop the unused dummyContext
Kristian Høgsberg [Tue, 30 Mar 2010 18:37:02 +0000 (14:37 -0400)]
dri: Drop an unused __DRIcontext field
Kristian Høgsberg [Tue, 30 Mar 2010 18:32:10 +0000 (14:32 -0400)]
intel: Remove redundant fields from struct intel_context
All these pointers are in the __DRIcontext struct, which we point to.
Kristian Høgsberg [Tue, 30 Mar 2010 18:05:47 +0000 (14:05 -0400)]
intel: Use fb->Height when flipping read buffer orientation
With DRI2, x and y are always zero and fb->Height is always up to date
with the drawable height.
Corbin Simpson [Tue, 30 Mar 2010 17:43:51 +0000 (10:43 -0700)]
r300/compiler: Unbreak DDX/DDY.
Fixes progs/glsl/deriv.
Zack Rusin [Tue, 30 Mar 2010 12:55:17 +0000 (08:55 -0400)]
gallivm: cleanup the code (found by coverity)
the condition can't be false, declerations are ok even if we don't
emit any.
George Sapountzis [Tue, 30 Mar 2010 10:09:16 +0000 (13:09 +0300)]
drisw: fix use after free (bug 27370)
Michel Dänzer [Tue, 30 Mar 2010 10:01:31 +0000 (12:01 +0200)]
Merge branch '7.8'
Conflicts:
Makefile
src/mesa/main/version.h
Resolved by keeping version strings from master (also in the intel driver).
Michel Dänzer [Tue, 30 Mar 2010 09:50:13 +0000 (11:50 +0200)]
glx/dri2: Fix debug build with old dri2proto.
Apparently the higher compiler optimization level in non-debug builds was
eliminating the unused functions referencing the unresolved DRI2 symbols...
Chia-I Wu [Tue, 30 Mar 2010 07:41:31 +0000 (15:41 +0800)]
st/dri: Fix a memory leak in dri1_init_screen.
Free the returned configs upon errors.
Chia-I Wu [Tue, 30 Mar 2010 05:19:59 +0000 (13:19 +0800)]
mesa/es: Use core mesa's mfeatures.h.
Remove mfeatures_es1.h and mfeatures_es2.h. Build the overlay with
either FEATURE_ES1 or FEATURE_ES2 defined.
Chia-I Wu [Tue, 30 Mar 2010 05:13:20 +0000 (13:13 +0800)]
mesa: Add missing features.
Add features tested in the code but missing from mfeatures.h.
This also fixes some tests of features. They should be tested with
"#if", not "#ifdef".
Chia-I Wu [Tue, 30 Mar 2010 04:38:25 +0000 (12:38 +0800)]
mesa: Add umbrella features.
Add FEATURE_GL, FEATURE_ES1, and FEATURE_ES2 for OpenGL, OpenGL ES 1.x,
and OpenGL ES 2.x respectively. Define individual features through the
new umbrella features. There is no real change introduced by this
commit.
Vinson Lee [Tue, 30 Mar 2010 06:11:26 +0000 (23:11 -0700)]
drisw: Remove unnecessary header.
Vinson Lee [Tue, 30 Mar 2010 05:54:35 +0000 (22:54 -0700)]
swrastg: Silence unused value warning.
Vinson Lee [Tue, 30 Mar 2010 05:19:28 +0000 (22:19 -0700)]
r300g: Remove unused variable.
Vinson Lee [Tue, 30 Mar 2010 05:11:37 +0000 (22:11 -0700)]
r300g: Remove unnecessary header.
Corbin Simpson [Mon, 29 Mar 2010 22:10:18 +0000 (15:10 -0700)]
r300g: Bind constantbuf to Draw immediately, don't wait for render.
Doesn't hurt, and reduces code duplication.
Chia-I Wu [Tue, 30 Mar 2010 01:17:20 +0000 (09:17 +0800)]
st/glx: Remove a wrong assertion in choose_pixel_format.
There are X visuals that Gallium or the code does not support. We could
not assert the color format to be supported. Return PIPE_FORMAT_NONE in
such cases and let the caller handle it.
Brian Paul [Tue, 30 Mar 2010 00:13:31 +0000 (18:13 -0600)]
gallivm: use constant size array, added assertion check
Roland Scheidegger [Tue, 30 Mar 2010 00:01:11 +0000 (02:01 +0200)]
gallium/util: use other layout instead of the old compressed
Roland Scheidegger [Mon, 29 Mar 2010 23:52:13 +0000 (01:52 +0200)]
Merge branch 'master' into gallium-new-formats
Conflicts:
src/gallium/auxiliary/util/u_format.csv
Roland Scheidegger [Mon, 29 Mar 2010 23:35:49 +0000 (01:35 +0200)]
gallium: adapt all code to the renamed depth/stencil formats
Roland Scheidegger [Mon, 29 Mar 2010 23:33:28 +0000 (01:33 +0200)]
gallium: make the python scripts for format parsing not fail on new formats
they won't generate any useful conversion code for some of the new formats
but at least don't assert. Also needed some more hacks so they don't generate
code for some of the new formats, as gcc was not impressed.
Also declare unused channels as void, and change the scripts to not fail if
the first channel happened to be unused.
Needs serious fixing.
Chris Li [Fri, 26 Mar 2010 17:24:34 +0000 (10:24 -0700)]
Add test case for lp_bld_printf()
Chris Li [Fri, 26 Mar 2010 17:23:03 +0000 (10:23 -0700)]
gallivm: added lp_bld_printf() function
Vinson Lee [Mon, 29 Mar 2010 21:56:12 +0000 (14:56 -0700)]
progs/glsl: Add workarounds for Apple GLSL compiler crash.
fsraytrace and vsraytrace were crashing on Mac OS X 10.6.3 in the Apple
GLSL compiler function TPPStreamCompiler::assignOperands. Removing some
const qualifers made the crashes go away.
Vinson Lee [Mon, 29 Mar 2010 20:58:39 +0000 (13:58 -0700)]
progs/glsl: Remove inline keyword.
Fixes MSVC build.
José Fonseca [Mon, 29 Mar 2010 20:10:03 +0000 (21:10 +0100)]
progs/gallium/python: Get tri.py sample working again.
José Fonseca [Mon, 29 Mar 2010 20:09:37 +0000 (21:09 +0100)]
st/python: Update for util_draw_vertex_buffer changes.
José Fonseca [Mon, 29 Mar 2010 20:09:21 +0000 (21:09 +0100)]
st/python: Move surface read/write methods to context.
Zack Rusin [Mon, 29 Mar 2010 20:17:17 +0000 (16:17 -0400)]
gallivm: make sure that the alloca's are the very first thing in the function
otherwise mem2reg can't put them in registers
George Sapountzis [Mon, 29 Mar 2010 18:06:54 +0000 (21:06 +0300)]
st/dri/sw: add drisw_api similarly to dri1_api
I am pretty sure that this is in gallium spirit, so commit. Thanks to Chia-I
for suggesting this.
George Sapountzis [Mon, 29 Mar 2010 18:06:53 +0000 (21:06 +0300)]
ws/sw/dri: s/xm/dri_sw/
Brian Paul [Mon, 29 Mar 2010 18:01:28 +0000 (12:01 -0600)]
docs: fix 7.7.1 release date
(cherry picked from commit
e6f5ca0fa3bff975f2acb3a825d77f095bc9f43e)
Roland Scheidegger [Mon, 29 Mar 2010 18:00:41 +0000 (20:00 +0200)]
gallium: fix bogus depth/stencil format names (and channel descriptions)
only the depth part is normalized, stencil part isn't.