mesa.git
14 years agoutil: Init half-float tables on demand.
Corbin Simpson [Thu, 1 Apr 2010 21:41:18 +0000 (14:41 -0700)]
util: Init half-float tables on demand.

Gets rid of unnecessary delays on startup and compiler-specific hax.

14 years agollvmpipe: Support sampling from PIPE_FORMAT_R32_FLOAT.
José Fonseca [Thu, 1 Apr 2010 18:00:03 +0000 (19:00 +0100)]
llvmpipe: Support sampling from PIPE_FORMAT_R32_FLOAT.

14 years agoutil: Declare .CRT$XCU data segment.
Michal Krol [Thu, 1 Apr 2010 17:25:25 +0000 (19:25 +0200)]
util: Declare .CRT$XCU data segment.

14 years agoscons: Remove `util/u_gctors.cpp'.
Michal Krol [Thu, 1 Apr 2010 17:06:05 +0000 (19:06 +0200)]
scons: Remove `util/u_gctors.cpp'.

14 years agogallium/util: rewrite global constructor system for half floats (GCC/MSVC only!)
Luca Barbieri [Thu, 1 Apr 2010 16:40:27 +0000 (18:40 +0200)]
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.

14 years agollvmpipe: Support sampling from signed and mixed siged formats.
José Fonseca [Thu, 1 Apr 2010 16:45:29 +0000 (17:45 +0100)]
llvmpipe: Support sampling from signed and mixed siged formats.

14 years agopython/tests: We're using a rgba8 rendertarget so sample only in the [0, 1] range.
José Fonseca [Thu, 1 Apr 2010 16:36:37 +0000 (17:36 +0100)]
python/tests: We're using a rgba8 rendertarget so sample only in the [0, 1] range.

14 years agost/python: Allow to sample only in the [0,1] range.
José Fonseca [Thu, 1 Apr 2010 16:35:46 +0000 (17:35 +0100)]
st/python: Allow to sample only in the [0,1] range.

14 years agopython/tests: Several cleanups.
José Fonseca [Thu, 1 Apr 2010 16:26:50 +0000 (17:26 +0100)]
python/tests: Several cleanups.

14 years agost/python: Always use softpipe as reference driver.
José Fonseca [Thu, 1 Apr 2010 15:38:01 +0000 (16:38 +0100)]
st/python: Always use softpipe as reference driver.

14 years agogallium/util: add copyright header to u_half.c
Luca Barbieri [Thu, 1 Apr 2010 15:29:48 +0000 (17:29 +0200)]
gallium/util: add copyright header to u_half.c

14 years agoUpdate DEMO_FILES for demos using EGL.
Chia-I Wu [Thu, 1 Apr 2010 06:25:15 +0000 (14:25 +0800)]
Update DEMO_FILES for demos using EGL.

Reflect the recent addtion of eglut and reorganization of the EGL demos.
This helps remove ~2k lines of duplicated code

$ git diff --shortstat -M 57cc1db87b5cacffd3344c49062c8289b7d46e78
 18 files changed, 298 insertions(+), 2178 deletions(-)

14 years agoprogs/egl: Port OpenVG lion and sp to eglut.
Chia-I Wu [Thu, 1 Apr 2010 14:03:54 +0000 (22:03 +0800)]
progs/egl: Port OpenVG lion and sp to eglut.

14 years agoprogs/egl: Port ES1 gears to eglut.
Chia-I Wu [Thu, 1 Apr 2010 06:03:30 +0000 (14:03 +0800)]
progs/egl: Port ES1 gears to eglut.

As gears in the last demo under "screen" subdirectory, this also removes
the directory.

14 years agoprogs/egl: Port ES1 tri to eglut.
Chia-I Wu [Thu, 1 Apr 2010 05:47:53 +0000 (13:47 +0800)]
progs/egl: Port ES1 tri to eglut.

This also removes EGL_MESA_screen_surface version of ES1 tri as eglut
supports the extension.

14 years agoprogs/egl: Replace egltri by xegl_tri.
Chia-I Wu [Thu, 1 Apr 2010 05:16:06 +0000 (13:16 +0800)]
progs/egl: Replace egltri by xegl_tri.

With the switch to eglut, xegl_tri supports both X11 and
EGL_MESA_screen_surface.  Have it replace egltri.

14 years agoprogs/egl: Porg xegl_tri to eglut.
Chia-I Wu [Thu, 1 Apr 2010 05:12:16 +0000 (13:12 +0800)]
progs/egl: Porg xegl_tri to eglut.

14 years agoprogs/egl: Port eglgears to eglut.
Chia-I Wu [Thu, 1 Apr 2010 04:21:06 +0000 (12:21 +0800)]
progs/egl: Port eglgears to eglut.

14 years agoprogs/egl: Add eglut.
Chia-I Wu [Thu, 1 Apr 2010 04:19:47 +0000 (12:19 +0800)]
progs/egl: Add eglut.

eglut is a simple library with GLUT-like API.  It is intended to be used
by simple EGL demos.

14 years agoprogs/openvg: Move OpenVG demos to a subdirectory of progs/egl.
Chia-I Wu [Thu, 1 Apr 2010 06:20:24 +0000 (14:20 +0800)]
progs/openvg: Move OpenVG demos to a subdirectory of progs/egl.

That is, move

  progs/openvg/demos to progs/egl/openvg,
  progs/openvg/trivial to progs/egl/openvg/trivial.

14 years agoprogs/es: Move OpenGL ES demos to subdirectories of progs/egl.
Chia-I Wu [Thu, 1 Apr 2010 05:43:33 +0000 (13:43 +0800)]
progs/es: Move OpenGL ES demos to subdirectories of progs/egl.

Move

  progs/es1/xegl -> progs/egl/opengles1,
  progs/es1/screen -> progs/egl/opengles1/screen,
  progs/es2/xegl -> progs/egl/opengles2.

14 years agoprogs/egl: Move demos a level deeper.
Chia-I Wu [Thu, 1 Apr 2010 03:17:43 +0000 (11:17 +0800)]
progs/egl: Move demos a level deeper.

Move the demos to "opengl" subdirectory.

14 years agollvmpipe: More tweaks to the supported texture formats.
José Fonseca [Thu, 1 Apr 2010 14:16:26 +0000 (15:16 +0100)]
llvmpipe: More tweaks to the supported texture formats.

14 years agogallium/unit: Invoke util_half_init_tables().
José Fonseca [Thu, 1 Apr 2010 14:15:57 +0000 (15:15 +0100)]
gallium/unit: Invoke util_half_init_tables().

half float formats now pass the tests.

14 years agoutil: Declare util_half_init_tables only once.
José Fonseca [Thu, 1 Apr 2010 14:15:28 +0000 (15:15 +0100)]
util: Declare util_half_init_tables only once.

14 years agoutil: Use u_math.h's union fi instead of redefining it.
José Fonseca [Thu, 1 Apr 2010 14:11:05 +0000 (15:11 +0100)]
util: Use u_math.h's union fi instead of redefining it.

14 years agoutil: Add support for other DXTn RGBA formats.
José Fonseca [Thu, 1 Apr 2010 14:07:14 +0000 (15:07 +0100)]
util: Add support for other DXTn RGBA formats.

14 years agoutil: Get DXT1_RGB format working correctly.
José Fonseca [Thu, 1 Apr 2010 13:43:35 +0000 (14:43 +0100)]
util: Get DXT1_RGB format working correctly.

14 years agoutil: Add test case for PIPE_FORMAT_DXT1_RGB.
José Fonseca [Thu, 1 Apr 2010 12:34:24 +0000 (13:34 +0100)]
util: Add test case for PIPE_FORMAT_DXT1_RGB.

14 years agollvmpipe: Fix build...
José Fonseca [Thu, 1 Apr 2010 12:20:00 +0000 (13:20 +0100)]
llvmpipe: Fix build...

14 years agoutil: Allow to have block format test cases
José Fonseca [Thu, 1 Apr 2010 12:12:43 +0000 (13:12 +0100)]
util: Allow to have block format test cases

14 years agoutil: Generate correct format conversions for half floats.
Michal Krol [Thu, 1 Apr 2010 11:56:03 +0000 (13:56 +0200)]
util: Generate correct format conversions for half floats.

14 years agoutil: Use u_half to perform half <--> float conversions.
Michal Krol [Thu, 1 Apr 2010 07:52:40 +0000 (09:52 +0200)]
util: Use u_half to perform half <--> float conversions.

14 years agogallium: Integrate util_half with scons.
Michal Krol [Thu, 1 Apr 2010 07:51:54 +0000 (09:51 +0200)]
gallium: Integrate util_half with scons.

14 years agogallium/util: add fast half float conversion functions
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.

14 years agogallium/unit: Install test in build/xxx/bin
José Fonseca [Thu, 1 Apr 2010 10:52:54 +0000 (11:52 +0100)]
gallium/unit: Install test in build/xxx/bin

14 years agoutil: Add half float test cases.
José Fonseca [Thu, 1 Apr 2010 10:52:00 +0000 (11:52 +0100)]
util: Add half float test cases.

14 years agollvmpipe: Fix (un)swizzling, broken due to use of VOID channels.
José Fonseca [Thu, 1 Apr 2010 10:31:03 +0000 (11:31 +0100)]
llvmpipe: Fix (un)swizzling, broken due to use of VOID channels.

14 years agomesa: Remove unnecessary header.
Vinson Lee [Thu, 1 Apr 2010 06:44:29 +0000 (23:44 -0700)]
mesa: Remove unnecessary header.

14 years agor300g: Remove unnecessary header.
Vinson Lee [Thu, 1 Apr 2010 06:36:06 +0000 (23:36 -0700)]
r300g: Remove unnecessary header.

14 years agoutil/format: fix big endian compilation by not trying to byteswap single bytes
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.

14 years agogallivm: convert floats to doubles
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.

14 years agor300g: add RGBA16F colorbuffer support
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.

14 years agor300g: add RGTC texture support
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.

14 years agor300g: format handling cleanup
Marek Olšák [Wed, 31 Mar 2010 23:13:26 +0000 (01:13 +0200)]
r300g: format handling cleanup

14 years agosoftpipe: Use S3TC when avaiilable,
José Fonseca [Wed, 31 Mar 2010 21:47:11 +0000 (22:47 +0100)]
softpipe: Use S3TC when avaiilable,

14 years agoutil: Hook into libtxc_dxtn.so (WIP).
José Fonseca [Wed, 31 Mar 2010 21:46:42 +0000 (22:46 +0100)]
util: Hook into libtxc_dxtn.so (WIP).

14 years agollvmpipe: Don't call unused generate_clamp().
José Fonseca [Wed, 31 Mar 2010 20:37:57 +0000 (21:37 +0100)]
llvmpipe: Don't call unused generate_clamp().

14 years agolibgl-xlib: Fix missing X11 symbols.
José Fonseca [Wed, 31 Mar 2010 20:27:07 +0000 (21:27 +0100)]
libgl-xlib: Fix missing X11 symbols.

14 years agoutil: Make the accessors bidimensional again.
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

14 years agoutil: First stab at half-float conversion.
Michal Krol [Wed, 31 Mar 2010 19:54:54 +0000 (21:54 +0200)]
util: First stab at half-float conversion.

14 years agoutil: Describe PIPE_FORMAT_NONE as PIPE_FORMAT_R8_USCALED.
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

14 years agoutil: Silence pointer to integer size mismatch errors.
José Fonseca [Wed, 17 Mar 2010 19:50:33 +0000 (19:50 +0000)]
util: Silence pointer to integer size mismatch errors.

14 years agoutil: Add callback to fetch a single pixel.
José Fonseca [Wed, 31 Mar 2010 19:15:17 +0000 (20:15 +0100)]
util: Add callback to fetch a single pixel.

14 years agopython/tests: Read the number of tests to execute from command line.
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.

14 years agomesa: Use a consistent name of the external s3tc library for all windows compilers.
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.

14 years agoscons: Force to consider the util/u_format_pack.py for util/u_format_table.c.
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.

14 years agoscons: Don't always include/links X11 headers/libs.
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.

14 years agoscons: Don't always link expat.
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.

14 years agollvmpipe: Disable threads by default on embedded.
José Fonseca [Wed, 10 Mar 2010 16:34:09 +0000 (16:34 +0000)]
llvmpipe: Disable threads by default on embedded.

14 years agoos: Temporarily use posix thread for embedded too.
Kurt Daverman [Wed, 10 Mar 2010 16:30:22 +0000 (16:30 +0000)]
os: Temporarily use posix thread for embedded too.

14 years agoscons: Allow any toolchain to be specified in the command line.
José Fonseca [Mon, 8 Mar 2010 19:58:34 +0000 (19:58 +0000)]
scons: Allow any toolchain to be specified in the command line.

14 years agoutil: Remove the hand written u_tile.c functions for the ones that are code generated...
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.

14 years agoutil: Use u_format_pack.py's code instead of u_format_access.py.
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.

14 years agollvmpipe: Don't rely on 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

14 years agoMerge branch 'gallium-new-formats'
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

14 years agoutil: Put the format pack/unpack functions in the description table.
José Fonseca [Wed, 31 Mar 2010 14:30:14 +0000 (15:30 +0100)]
util: Put the format pack/unpack functions in the description table.

14 years agoutil: Make pack/unpack operate on spans.
José Fonseca [Wed, 31 Mar 2010 13:43:09 +0000 (14:43 +0100)]
util: Make pack/unpack operate on spans.

14 years agost/mesa: use BITFIELD64_BIT to access shader OutputsWritten in more places
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

14 years agoutil: Make util_format_xxx_pack_xxx take pointer as arguments.
José Fonseca [Wed, 31 Mar 2010 13:31:29 +0000 (14:31 +0100)]
util: Make util_format_xxx_pack_xxx take pointer as arguments.

14 years agoutil: Fix PIPE_FORMAT_B5G5R5X1_UNORM test case.
José Fonseca [Wed, 31 Mar 2010 13:28:54 +0000 (14:28 +0100)]
util: Fix PIPE_FORMAT_B5G5R5X1_UNORM test case.

14 years agoutil: Use VOID type for X channels in format descriptions.
José Fonseca [Wed, 31 Mar 2010 13:28:34 +0000 (14:28 +0100)]
util: Use VOID type for X channels in format descriptions.

14 years agopython/tests: Run trhough tests randomly.
José Fonseca [Wed, 31 Mar 2010 13:05:55 +0000 (14:05 +0100)]
python/tests: Run trhough tests randomly.

14 years agogallivm: Fix USCALED translation. Minor Cleanups.
José Fonseca [Wed, 31 Mar 2010 13:05:21 +0000 (14:05 +0100)]
gallivm: Fix USCALED translation. Minor Cleanups.

14 years agollvmpipe: More accurate format capability exporting.
José Fonseca [Wed, 31 Mar 2010 13:00:46 +0000 (14:00 +0100)]
llvmpipe: More accurate format capability exporting.

14 years agollvmpipe: Drop the aos format conversion.
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.

14 years agoutil: Generalize lp_format_is_rgba8 into util_format_is_rgba8_variant.
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.

14 years agopython/tests: Rename test name.
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.

14 years agopython/tests: Test all existing gallium formats.
José Fonseca [Wed, 31 Mar 2010 12:27:08 +0000 (13:27 +0100)]
python/tests: Test all existing gallium formats.

14 years agopython/tests: Speed up the tests by reusing the same pipe context.
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.

14 years agopython/tests: Get the tests running again.
José Fonseca [Wed, 31 Mar 2010 11:28:49 +0000 (12:28 +0100)]
python/tests: Get the tests running again.

14 years agost/python: Generate binding for u_format utility functions too.
José Fonseca [Wed, 31 Mar 2010 11:28:12 +0000 (12:28 +0100)]
st/python: Generate binding for u_format utility functions too.

14 years agoi965g: Fix assertion that was always true.
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.

14 years agost/dri: Remove unnecessary header.
Vinson Lee [Wed, 31 Mar 2010 06:35:32 +0000 (23:35 -0700)]
st/dri: Remove unnecessary header.

14 years agoidentity: Remove unnecessary header.
Vinson Lee [Wed, 31 Mar 2010 05:42:45 +0000 (22:42 -0700)]
identity: Remove unnecessary header.

14 years agost/dri: Remove unnecessary header.
Vinson Lee [Wed, 31 Mar 2010 05:35:23 +0000 (22:35 -0700)]
st/dri: Remove unnecessary header.

14 years agomesa: added glGet queries for transform_feedback
Brian Paul [Wed, 31 Mar 2010 01:55:08 +0000 (19:55 -0600)]
mesa: added glGet queries for transform_feedback

14 years agomesa: added glEnable/Disable state for transform feedback
Brian Paul [Wed, 31 Mar 2010 01:54:51 +0000 (19:54 -0600)]
mesa: added glEnable/Disable state for transform feedback

14 years agomesa: add new query/buffer targets 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

14 years agomesa: plug in transform feedback functions, set limits
Brian Paul [Wed, 31 Mar 2010 01:51:26 +0000 (19:51 -0600)]
mesa: plug in transform feedback functions, set limits

14 years agomesa: add transformfeedback.c to build
Brian Paul [Wed, 31 Mar 2010 01:50:49 +0000 (19:50 -0600)]
mesa: add transformfeedback.c to build

14 years agomesa: initial check-in of transform feedback functions
Brian Paul [Wed, 31 Mar 2010 01:50:11 +0000 (19:50 -0600)]
mesa: initial check-in of transform feedback functions

14 years agomesa: add transform feedback queries
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.

14 years agomesa: add EXT_transform_feedback to extension list
Brian Paul [Wed, 31 Mar 2010 01:53:28 +0000 (19:53 -0600)]
mesa: add EXT_transform_feedback to extension list

14 years agomesa: initial data structures for transform feedback
Brian Paul [Wed, 31 Mar 2010 01:59:51 +0000 (19:59 -0600)]
mesa: initial data structures for transform feedback

14 years agomesa: simplify query code with get_query_binding_point()
Brian Paul [Tue, 30 Mar 2010 17:33:51 +0000 (11:33 -0600)]
mesa: simplify query code with get_query_binding_point()

14 years agointel: Bump intel driver date to later than the date on the 7.8 branch
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

14 years agodri: Drop another unused __DRIscreen field
Kristian Høgsberg [Tue, 30 Mar 2010 18:41:27 +0000 (14:41 -0400)]
dri: Drop another unused __DRIscreen field

14 years agodri: Drop the unused dummyContext
Kristian Høgsberg [Tue, 30 Mar 2010 18:38:52 +0000 (14:38 -0400)]
dri: Drop the unused dummyContext

14 years agodri: Drop an unused __DRIcontext field
Kristian Høgsberg [Tue, 30 Mar 2010 18:37:02 +0000 (14:37 -0400)]
dri: Drop an unused __DRIcontext field