mesa.git
14 years agor300g: fix TFP stride override.
Dave Airlie [Sun, 4 Apr 2010 10:31:42 +0000 (20:31 +1000)]
r300g: fix TFP stride override.

We should use pitch for the overriden state, fixes one half of the tfp test.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agor300g: add conditional rendering
Marek Olšák [Sun, 4 Apr 2010 06:59:09 +0000 (08:59 +0200)]
r300g: add conditional rendering

14 years agor300g: add r4xx fragment shader registers
Marek Olšák [Sun, 21 Feb 2010 17:22:18 +0000 (18:22 +0100)]
r300g: add r4xx fragment shader registers

In case anyone needs it, it's here.

14 years agor300g: do not use the c++ template keyword
Marek Olšák [Sun, 4 Apr 2010 01:54:09 +0000 (03:54 +0200)]
r300g: do not use the c++ template keyword

It makes life for some code browsing utilites easier.

14 years agor300g: properly setup textures from X server
Marek Olšák [Sat, 3 Apr 2010 15:08:45 +0000 (17:08 +0200)]
r300g: properly setup textures from X server

The setup needs be done after querying tiling flags.

14 years agor300g: fix color tiling for buffer from X server.
Dave Airlie [Sat, 3 Apr 2010 11:52:09 +0000 (21:52 +1000)]
r300g: fix color tiling for buffer from X server.

The tiling setup needs a bit of work, but this should be good enough for now,
when we get buffers from the kernel we need to store their tiling properties.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agomesa: display list support for GL_EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:38:18 +0000 (22:38 -0600)]
mesa: display list support for GL_EXT_transform_feedback

14 years agomesa: plug in GL_EXT_transform_feedback functions into dispatch
Brian Paul [Sat, 3 Apr 2010 04:38:00 +0000 (22:38 -0600)]
mesa: plug in GL_EXT_transform_feedback functions into dispatch

14 years agoglapi: regenerated files for EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:37:30 +0000 (22:37 -0600)]
glapi: regenerated files for EXT_transform_feedback

14 years agoglapi: include/build EXT_transform_feedback.xml
Brian Paul [Sat, 3 Apr 2010 04:36:30 +0000 (22:36 -0600)]
glapi: include/build EXT_transform_feedback.xml

14 years agoglapi: new EXT_transform_feedback.xml file
Brian Paul [Sat, 3 Apr 2010 04:35:56 +0000 (22:35 -0600)]
glapi: new EXT_transform_feedback.xml file

14 years agoglapi: fix error message
Brian Paul [Sat, 3 Apr 2010 04:32:52 +0000 (22:32 -0600)]
glapi: fix error message

14 years agor300 compiler: add target output debugging.
Dave Airlie [Sat, 3 Apr 2010 02:17:57 +0000 (12:17 +1000)]
r300 compiler: add target output debugging.

print the output target in the FP debug.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agoutil: Revert unsolicited, untested, unreviewed, and broken changes to format support.
José Fonseca [Fri, 2 Apr 2010 23:51:19 +0000 (00:51 +0100)]
util: Revert unsolicited, untested, unreviewed, and broken changes to format support.

Not all is bad, but I'm afraid I'll have to throw the baby with the water
given they are all tied to together.

14 years agopython/tests: Output test results in a format that Hudson CI can understand.
José Fonseca [Fri, 2 Apr 2010 18:39:16 +0000 (19:39 +0100)]
python/tests: Output test results in a format that Hudson CI can understand.

14 years agogallium/docs: Dithering might not actually do anything.
Corbin Simpson [Fri, 2 Apr 2010 21:25:38 +0000 (14:25 -0700)]
gallium/docs: Dithering might not actually do anything.

14 years agor300g: Expound on dithering comment.
Corbin Simpson [Fri, 2 Apr 2010 21:21:50 +0000 (14:21 -0700)]
r300g: Expound on dithering comment.

14 years agor300g: make dithering work like fglrx.
Dave Airlie [Fri, 2 Apr 2010 21:00:03 +0000 (07:00 +1000)]
r300g: make dithering work like fglrx.

From fglrx traces the dithering is never enabled.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agogallium: fix dri_destroy_option_cache() when optionCache.info is NULL
Yann Droneaud [Fri, 2 Apr 2010 13:44:26 +0000 (13:44 +0000)]
gallium: fix dri_destroy_option_cache() when optionCache.info is NULL

With an Intel 855GM handled by intel_drv, there's a crash with Gallium3D
enabled DRI driver for Intel i915 (--enable-gallium-intel).
The Gallium3D driver doesn't support the 855GM as expected by
intel_drv, it failed to open the screen and give an half
initialized screen structure to dri_destroy_option_cache():
optionCache.info is NULL, so it's crashing while trying
to free array content. This patch at least fix the crash in the function.

Here's some logs of the fixed version:

[ 16274.137] LoaderOpen(/opt/mesa/lib/xorg/modules/drivers/intel_drv.so)
[ 16274.139] (II) Loading /opt/mesa/lib/xorg/modules/drivers/intel_drv.so
[ 16274.183] (II) Module intel: vendor="X.Org Foundation"
[ 16274.183]    compiled for 1.8.0, module version = 2.11.0
[ 16274.183]    Module class: X.Org Video Driver
[ 16274.183]    ABI class: X.Org Video Driver, version 7.0
[ 16274.183] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
        i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
        E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
        965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
        4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
[ 16274.382] (II) intel(0): Integrated Graphics Chipset: Intel(R) 855GME
[ 16274.382] (--) intel(0): Chipset: "852GM/855GM"
[ 16276.675] (II) intel(0): [DRI2] Setup complete
[ 16276.675] (II) intel(0): [DRI2]   DRI driver: i915
debug_get_option: GALLIUM_TRACE = (null)
debug_get_bool_option: GALLIUM_RBUG = FALSE
debug_get_bool_option: INTEL_DUMP_CMD = FALSE
i915_create_screen: unknown pci id 0x3582, cannot create screen
dri_init_screen_helper: failed to create pipe_screen
[ 16276.794] (EE) AIGLX error: Calling driver entry point failed
[ 16276.794] (EE) AIGLX: reverting to software rendering
[ 16276.794] (II) AIGLX: Screen 0 is not DRI capable
[ 16276.796] (II) AIGLX: Loaded and initialized /opt/mesa/lib/dri/swrast_dri.so
[ 16276.796] (II) GLX: Initialized DRISWRAST GL provider for screen 0

Signed-off-by: Yann Droneaud <yann@droneaud.fr>
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agollvmpipe: limit max texture size to 2Kx2K for now
Brian Paul [Fri, 2 Apr 2010 15:17:47 +0000 (09:17 -0600)]
llvmpipe: limit max texture size to 2Kx2K for now

MAXWIDTH/HEIGHT were 2048 but the max texture size was 4096.
This caused a crash if a 4Kx4K texture was created and rendered to.
See comment about max framebuffer size in lp_scene.h.

Also added assertions to catch this inconsistancy in the future.

14 years agogallivm: Add fallthrough comment at end of case statement.
Vinson Lee [Fri, 2 Apr 2010 08:14:24 +0000 (01:14 -0700)]
gallivm: Add fallthrough comment at end of case statement.

The code is correct. Tell Coverity that the fallthrough case is
intentional.

14 years agoprogs/gallium/unit: Silence uninitialized variable warnings.
Vinson Lee [Fri, 2 Apr 2010 08:08:31 +0000 (01:08 -0700)]
progs/gallium/unit: Silence uninitialized variable warnings.

14 years agogallium/util: print \n after DXTn printf
Luca Barbieri [Fri, 2 Apr 2010 05:26:33 +0000 (07:26 +0200)]
gallium/util: print \n after DXTn printf

14 years agosoftpipe: remove S3TC init, since it's done on-demand now
Luca Barbieri [Fri, 2 Apr 2010 04:21:19 +0000 (06:21 +0200)]
softpipe: remove S3TC init, since it's done on-demand now

14 years agoprogs/gallium/unit: Move declaration before code.
Vinson Lee [Fri, 2 Apr 2010 05:29:23 +0000 (22:29 -0700)]
progs/gallium/unit: Move declaration before code.

Fixes SCons build.

14 years agoglsl: fix bad return value in link_transform_feedback()
Brian Paul [Fri, 2 Apr 2010 04:32:44 +0000 (22:32 -0600)]
glsl: fix bad return value in link_transform_feedback()

14 years agogallium/util: remove extraneous semicolon
Brian Paul [Fri, 2 Apr 2010 04:19:52 +0000 (22:19 -0600)]
gallium/util: remove extraneous semicolon

14 years agogallium: remove old comment about return values
Brian Paul [Fri, 2 Apr 2010 04:15:17 +0000 (22:15 -0600)]
gallium: remove old comment about return values

14 years agoglsl: remove obsolete comment
Brian Paul [Fri, 2 Apr 2010 04:15:17 +0000 (22:15 -0600)]
glsl: remove obsolete comment

14 years agoglsl: do extra link checking for transform feedback
Brian Paul [Fri, 2 Apr 2010 04:15:17 +0000 (22:15 -0600)]
glsl: do extra link checking for transform feedback

14 years agodocs: update GL3 / GL_ARB_fragment_coord_conventions status
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
docs: update GL3 / GL_ARB_fragment_coord_conventions status

14 years agomesa: minor fixes in _mesa_GetTransformFeedbackVarying()
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
mesa: minor fixes in _mesa_GetTransformFeedbackVarying()

14 years agoglsl: append built-in, used varying vars to the varying vars list
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
glsl: append built-in, used varying vars to the varying vars list

14 years agomesa: make _mesa_copy_string() non-static
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
mesa: make _mesa_copy_string() non-static

14 years agoglsl: pass datatype to _mesa_add_varying()
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
glsl: pass datatype to _mesa_add_varying()

Will be needed later for transform feedback support.

14 years agoglsl: add more vertex/fragment output info helpers
Brian Paul [Fri, 2 Apr 2010 04:15:16 +0000 (22:15 -0600)]
glsl: add more vertex/fragment output info helpers

14 years agogallium/util: revert util_format_init addition
Luca Barbieri [Fri, 2 Apr 2010 02:51:50 +0000 (04:51 +0200)]
gallium/util: revert util_format_init addition

Putting calls to util_format_init all over the codebase is infeasible.

Instead, half float tables are pregenerated, and the s3tc library is
loaded on demand.

I believe this is a solution that combines performance, cleanliness,
flexibility and portability.

14 years agogallium/util: add util_format_is_supported to check for pack/unpack
Luca Barbieri [Fri, 2 Apr 2010 03:23:32 +0000 (05:23 +0200)]
gallium/util: add util_format_is_supported to check for pack/unpack

This improves the code by making it more readable, and removes
special knowledge of S3TC and other formats from softpipe.

14 years agogallium/util: load s3tc on demand
Luca Barbieri [Fri, 2 Apr 2010 02:48:42 +0000 (04:48 +0200)]
gallium/util: load s3tc on demand

This changes the S3TC function pointers to be initialized to stubs
that load the S3TC library and then delegate to the real functions.

If the S3TC library fails to load, the function pointers are replaced
with a "nop" function.

The code is also changed to attempt to load the library only one time.c

Note that unlike checking for a flag, this method has no performance
cost at all.

The use of the "nop" functions also allows to avoid most checks, that
are only preserved when the function does non-trivial work.

14 years agoprogs/gallium: add unit test for u_half
Luca Barbieri [Fri, 2 Apr 2010 02:35:20 +0000 (04:35 +0200)]
progs/gallium: add unit test for u_half

14 years agogallium/util: pregenerate half float tables
Luca Barbieri [Fri, 2 Apr 2010 01:48:59 +0000 (03:48 +0200)]
gallium/util: pregenerate half float tables

This solution avoids the issue of how to run the initializers and
also allows those pages (and the parts of them in processor caches)
to be shared between multiple processes.

The drawback is slightly higher library size.

14 years agost/egl: Add a missing break.
Chia-I Wu [Fri, 2 Apr 2010 02:19:43 +0000 (10:19 +0800)]
st/egl: Add a missing break.

The swtich in egl_g3d_st_framebuffer_validate misses a break.

14 years agoprogs/egl: Update .gitignore.
Chia-I Wu [Fri, 2 Apr 2010 02:03:20 +0000 (10:03 +0800)]
progs/egl: Update .gitignore.

14 years agoprogs/egl: Link to eglut first.
Chia-I Wu [Fri, 2 Apr 2010 01:59:36 +0000 (09:59 +0800)]
progs/egl: Link to eglut first.

This moves eglut before EGL so that the symbols can be resolved.

14 years agogallium/util: s/inline/INLINE/
Vinson Lee [Fri, 2 Apr 2010 01:49:54 +0000 (18:49 -0700)]
gallium/util: s/inline/INLINE/

Fixes MSVC build.

14 years agonv50: call util_format_init
Luca Barbieri [Fri, 2 Apr 2010 00:36:59 +0000 (02:36 +0200)]
nv50: call util_format_init

Needed to fetch static vertex attributes.

14 years agogallium/util: add util_format_init that inits s3tc and util_half
Luca Barbieri [Thu, 1 Apr 2010 23:43:49 +0000 (01:43 +0200)]
gallium/util: add util_format_init that inits s3tc and util_half

Switch from auto-init to explicit init for util_half per Brian Paul's
indication.

NOTE: this is probably broken because not enough things call util_format_init.
Will be fixed shortly

14 years agogallium/util: add one-time initialization helper
Luca Barbieri [Fri, 2 Apr 2010 00:01:25 +0000 (02:01 +0200)]
gallium/util: add one-time initialization helper

14 years agogallium/util: use #pragma section instead of #pragma data_seg
Luca Barbieri [Thu, 1 Apr 2010 22:41:51 +0000 (00:41 +0200)]
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.

14 years agogallium/util: reindent u_half.c and u_half.h with Mesa coding style
Luca Barbieri [Thu, 1 Apr 2010 22:39:08 +0000 (00:39 +0200)]
gallium/util: reindent u_half.c and u_half.h with Mesa coding style

Sorry, forgout about that.

14 years agoRevert "util: Init half-float tables on demand."
Luca Barbieri [Thu, 1 Apr 2010 22:34:44 +0000 (00:34 +0200)]
Revert "util: Init half-float tables on demand."

This reverts commit 950300eb255f0e3507bf2757d16c3b5bc8ff3471.

14 years agoprogs: Fix linking of Xlib demos for non-autoconf builds
Dan Nicholson [Thu, 1 Apr 2010 21:59:10 +0000 (14:59 -0700)]
progs: Fix linking of Xlib demos for non-autoconf builds

The Xlib demos were fixed to use $(X11_LIBS) so that configure could
detect the proper directory to link the library from, but this broke
the non-autoconf builds. Give X11_LIBS a default value to fallback on.

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().