mesa.git
13 years agollvmpipe: remove all traces of step arrays, pos_tables
Keith Whitwell [Sun, 15 Aug 2010 16:31:13 +0000 (17:31 +0100)]
llvmpipe: remove all traces of step arrays, pos_tables

No need to calculate these values any longer, nor to store them in the
bin data.  Improves isosurf a bit more, 115->123 fps.

13 years agollvmpipe: eliminate last usage of step array in rast_tmp.h
Keith Whitwell [Sun, 15 Aug 2010 16:24:54 +0000 (17:24 +0100)]
llvmpipe: eliminate last usage of step array in rast_tmp.h

For 16 and 64 pixel levels, calculate a mask which is linear in x and
y (ie not in the swizzle layout).

When iterating over full and partial masks, figure out position by
manipulating the bit number set in the mask, rather than relying on
postion arrays.

Similarly, calculate the lower-level c values from dcdx, dcdy and the
position rather than relying on the step array.

13 years agollvmpipe: don't refer to plane->step when dcdx or dcdy would do
Keith Whitwell [Sun, 15 Aug 2010 16:22:25 +0000 (17:22 +0100)]
llvmpipe: don't refer to plane->step when dcdx or dcdy would do

13 years agollvmpipe: also use build_mask at 16, 64 pixel levels
Keith Whitwell [Sun, 15 Aug 2010 15:49:26 +0000 (16:49 +0100)]
llvmpipe: also use build_mask at 16, 64 pixel levels

13 years agollvmpipe: version of block4 which doesn't need the full step array
Keith Whitwell [Sun, 15 Aug 2010 15:32:45 +0000 (16:32 +0100)]
llvmpipe: version of block4 which doesn't need the full step array

No noticable slowdown with isosurf.

13 years agollvmpipe: reorganize block4 loop, nice speedup
Keith Whitwell [Sun, 15 Aug 2010 15:21:46 +0000 (16:21 +0100)]
llvmpipe: reorganize block4 loop, nice speedup

isosurf 95->115 fps just by exchanging the two inner loops in this
function...

13 years agogallium/docs: Cleanup debugging. Spelling, grammar, organization.
Corbin Simpson [Sun, 15 Aug 2010 10:26:58 +0000 (03:26 -0700)]
gallium/docs: Cleanup debugging. Spelling, grammar, organization.

13 years agogallium/docs: Add formatting for envvar role; change debugging.
Corbin Simpson [Sun, 15 Aug 2010 10:05:18 +0000 (03:05 -0700)]
gallium/docs: Add formatting for envvar role; change debugging.

Per Jakob's request. Not super-pretty, but it's a good point for modding
later.

13 years agoglsl: Fix self inclusion in slang_compile_function.h.
Vinson Lee [Sun, 15 Aug 2010 08:30:02 +0000 (01:30 -0700)]
glsl: Fix self inclusion in slang_compile_function.h.

Fix self inclusion introduced by commit
4fef77c7c5455b983daa93cacf90d2b3baa3967e.

13 years agoglsl: Include missing header in slang_ir.h.
Vinson Lee [Sun, 15 Aug 2010 08:23:10 +0000 (01:23 -0700)]
glsl: Include missing header in slang_ir.h.

Include prog_instruction.h for gl_inst_opcode symbol.

13 years agoglsl: Clean up header file inclusion in slang_link.h.
Vinson Lee [Sun, 15 Aug 2010 08:06:43 +0000 (01:06 -0700)]
glsl: Clean up header file inclusion in slang_link.h.

Remove slang_compile.h.
Include mtypes.h for GLcontext symbol.

13 years agoglsl: Clean up header file inclusion in slang_label.h.
Vinson Lee [Sun, 15 Aug 2010 07:59:34 +0000 (00:59 -0700)]
glsl: Clean up header file inclusion in slang_label.h.

Move mtypes.h and prog_instruction.h to slang_label.c.
Remove imports.h.
Include glheader.h from GL symbols.

13 years agor300g: mark HiZ/ZMask_clear atoms as non-dirty after emission in clear
Marek Olšák [Sun, 15 Aug 2010 07:13:50 +0000 (09:13 +0200)]
r300g: mark HiZ/ZMask_clear atoms as non-dirty after emission in clear

13 years agoglsl: Clean up header file inclusion in slang_emit.h.
Vinson Lee [Sun, 15 Aug 2010 06:40:42 +0000 (23:40 -0700)]
glsl: Clean up header file inclusion in slang_emit.h.

Remove imports.h.
Remove mtypes.h.
Remove slang_compile.h.
Include glheader.h for GL symbols.
Include slang_vartable.h for slang_var_table symbol.

13 years agoglsl: Clean up header file inclusion in slang_compile.h.
Vinson Lee [Sun, 15 Aug 2010 06:32:08 +0000 (23:32 -0700)]
glsl: Clean up header file inclusion in slang_compile.h.

Remove imports.h.
Remove slang_typeinfo.h.
Remove slang_compile_operation.h.
Include glheader.h for GL symbols.
Include slang_utility.h for slang_atom_pool symbol.

13 years agoglsl: Include missing headers in slang_compile_struct.h.
Vinson Lee [Sun, 15 Aug 2010 06:18:29 +0000 (23:18 -0700)]
glsl: Include missing headers in slang_compile_struct.h.

Include glheader.h for GL symbols.
Include slang_utility.h for slang_atom symbol.

13 years agor300g: do not use HiZ if HiZ RAM is not properly initialized
Marek Olšák [Sun, 15 Aug 2010 01:14:25 +0000 (03:14 +0200)]
r300g: do not use HiZ if HiZ RAM is not properly initialized

13 years agor300g: rename dirty_zmask -> zmask_in_use
Marek Olšák [Sun, 15 Aug 2010 00:18:15 +0000 (02:18 +0200)]
r300g: rename dirty_zmask -> zmask_in_use

13 years agor300g: do not clear with blitter if we clear just the ZMask RAM
Marek Olšák [Fri, 13 Aug 2010 02:57:30 +0000 (04:57 +0200)]
r300g: do not clear with blitter if we clear just the ZMask RAM

This skips the blitter clear path entirely if the color is not cleared and
the depth+stencil is cleared with the ZMask.

13 years agor300g: do not use fastfill if ZMask RAM is not properly initialized
Marek Olšák [Sat, 14 Aug 2010 16:37:04 +0000 (18:37 +0200)]
r300g: do not use fastfill if ZMask RAM is not properly initialized

z_fastfill -> dirty_zmask[level].

13 years agor300g: separate num_cs_end_dwords out from prepare_for_rendering
Marek Olšák [Sat, 14 Aug 2010 20:35:23 +0000 (22:35 +0200)]
r300g: separate num_cs_end_dwords out from prepare_for_rendering

13 years agoglsl: Include missing headers in slang_print.h.
Vinson Lee [Sun, 15 Aug 2010 06:14:42 +0000 (23:14 -0700)]
glsl: Include missing headers in slang_print.h.

Include glheader.h for GL symbols.
Include slang_compile_function.h for slang_function symbol.
Include slang_compile_operation.h for slang_operation symbol.
Include slang_compile_variable.h for slang_variable and slang_variable_scope symbols.
Include slang_typeinfo.h for slang_type_qualifer and slang_fully_specified_type symbols.

13 years agoglsl: Include missing headers in slang_compile_function.h
Vinson Lee [Sun, 15 Aug 2010 05:57:47 +0000 (22:57 -0700)]
glsl: Include missing headers in slang_compile_function.h

Include glheader.h for GL symbols.
Include slang_compile_function.h for slang_function symbol.
Include slang_compile_operation.h for slang_operation symbol.
Include slang_compile_variable.h for slang_variable and
slang_variable_scope symbols.
Include slang_log.h for slang_info_log symbols.
Include slang_utility.h for slang_atom and slang_atom_pool symbols.

13 years agoglsl: Include missing headers in slang_compiler_operation.h.
Vinson Lee [Sun, 15 Aug 2010 05:43:26 +0000 (22:43 -0700)]
glsl: Include missing headers in slang_compiler_operation.h.

Include glheader.h for GL symbols.
Include slang_compile_variable.h for slang_variable_scope symbol.
Include slang_utility.h for slang_atom symbol.

13 years agoglsl: Include missing headers in slang_simplify.h.
Vinson Lee [Sun, 15 Aug 2010 04:21:10 +0000 (21:21 -0700)]
glsl: Include missing headers in slang_simplify.h.

Include glheader.h for GL symbols.
Include slang_compile.h for slang_name_space symbol.
Include slang_compile_function.h for slang_function symbol.
Include slang_compile_operation.h for slang_operation symbol.
Include slang_log.h for slang_info_log symbol.
Include slang_utility.h for slang_atom_pool symbol.

13 years agoglsl: Include missing header in slang_utility.h.
Vinson Lee [Sun, 15 Aug 2010 01:56:17 +0000 (18:56 -0700)]
glsl: Include missing header in slang_utility.h.

Include glheader.h for GL symbols.

13 years agoglsl: Include missing headers in slang_vartable.h.
Vinson Lee [Sun, 15 Aug 2010 01:53:22 +0000 (18:53 -0700)]
glsl: Include missing headers in slang_vartable.h.

Include glheader.h for GL symbols.
Include slang_utility.h for slang_atom symbol.

13 years agogallium/docs: Add rbug to distribution
Jakob Bornecrantz [Sat, 14 Aug 2010 23:57:18 +0000 (00:57 +0100)]
gallium/docs: Add rbug to distribution

13 years agogallium/docs: Add a debugging section
Jakob Bornecrantz [Sat, 14 Aug 2010 23:59:57 +0000 (00:59 +0100)]
gallium/docs: Add a debugging section

13 years agogallium: Make printing info on debug builds default off
Jakob Bornecrantz [Sun, 15 Aug 2010 00:00:42 +0000 (01:00 +0100)]
gallium: Make printing info on debug builds default off

This commit silences the printing off most of the debug information
when running debug builds. The big culprits are: the tgsi sanity checker
that gets run on all shaders on debug; all the options; and
finaly the cpu caps printer.

13 years agoglsl: Include missing header in slang_log.h.
Vinson Lee [Sat, 14 Aug 2010 23:27:42 +0000 (16:27 -0700)]
glsl: Include missing header in slang_log.h.

Include glheader.h for GLboolean symbol.

13 years agoglsl: Include missing headers in slang_compile_variable.h.
Vinson Lee [Sat, 14 Aug 2010 22:16:14 +0000 (15:16 -0700)]
glsl: Include missing headers in slang_compile_variable.h.

Include glheader.h for GL symbols.
Include slang_typeinfo.h for slang_fully_specified_type symbol.
Include slang_utility.h for slang_atom symbol.

13 years agoglsl: Clean up header file inclusion in slang_codegen.h.
Vinson Lee [Sat, 14 Aug 2010 21:58:09 +0000 (14:58 -0700)]
glsl: Clean up header file inclusion in slang_codegen.h.

Remove mtypes.h.
Include glheader.h for GL symbols.
Include slang_compile_variable.h for slang_variable symbol.
Include slang_typeinfo.h for slang_type_specifier symbol.
Include slang_utility.h for slang_atom_pool symbol.

13 years agogallivm: Remove unnecessary header.
Vinson Lee [Sat, 14 Aug 2010 19:54:21 +0000 (12:54 -0700)]
gallivm: Remove unnecessary header.

13 years agoscons: Fix r600g build.
Vinson Lee [Sat, 14 Aug 2010 19:18:51 +0000 (12:18 -0700)]
scons: Fix r600g build.

13 years agor600g: Remove unnecessary headers.
Vinson Lee [Sat, 14 Aug 2010 18:56:26 +0000 (11:56 -0700)]
r600g: Remove unnecessary headers.

13 years agor300g: Remove unnecessary header.
Vinson Lee [Sat, 14 Aug 2010 18:44:01 +0000 (11:44 -0700)]
r300g: Remove unnecessary header.

13 years agou_cpu_detect: remove arch and little_endian
Luca Barbieri [Fri, 13 Aug 2010 13:26:29 +0000 (15:26 +0200)]
u_cpu_detect: remove arch and little_endian

This logic duplicates the one in p_config.h, so remove it and adjust
the only two places that were using it.

13 years agogallivm: Refactor the Newton-Rapshon steps, and disable once again.
José Fonseca [Sat, 14 Aug 2010 17:02:47 +0000 (18:02 +0100)]
gallivm: Refactor the Newton-Rapshon steps, and disable once again.

It causes a very ugly corruption on the Earth's halo on Google Earth.

13 years agoglsl: Clean up header file inclusion in slang_builtin.h.
Vinson Lee [Sat, 14 Aug 2010 08:59:54 +0000 (01:59 -0700)]
glsl: Clean up header file inclusion in slang_builtin.h.

Remove prog_parameter.h and slang_utility.h.
Include glheader.h for GL symbols.
Include mtypes.h for gl_*_result symbols.

13 years agoglsl: Clean up header file inclusion.
Vinson Lee [Sat, 14 Aug 2010 08:46:21 +0000 (01:46 -0700)]
glsl: Clean up header file inclusion.

13 years agoglsl: Include missing header in slang_compile.c.
Vinson Lee [Sat, 14 Aug 2010 08:38:04 +0000 (01:38 -0700)]
glsl: Include missing header in slang_compile.c.

Include sl_pp_purify.h for sl_pp_purify_options symbol.

13 years agoglsl/cl: Add forward declaration.
Vinson Lee [Sat, 14 Aug 2010 07:53:28 +0000 (00:53 -0700)]
glsl/cl: Add forward declaration.

13 years agomesa: assorted clean-ups, var type changes, assertions in prog_optimize.c
Brian Paul [Fri, 13 Aug 2010 17:02:49 +0000 (11:02 -0600)]
mesa: assorted clean-ups, var type changes, assertions in prog_optimize.c

13 years agomesa: more/better program optimizations
Benjamin Segovia [Fri, 13 Aug 2010 16:36:47 +0000 (10:36 -0600)]
mesa: more/better program optimizations

This is the patch from Benjamin's Aug 11, 2010 email with minor fixes
(such as moving declarations before code)

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agost/dri: make dri_drawable_validate_att static
George Sapountzis [Wed, 11 Aug 2010 21:03:56 +0000 (00:03 +0300)]
st/dri: make dri_drawable_validate_att static

13 years agost/dri: move TFP code to dri_drawable.c
George Sapountzis [Wed, 11 Aug 2010 20:26:14 +0000 (23:26 +0300)]
st/dri: move TFP code to dri_drawable.c

This is based on a patch by nobled <nobled@dreamwidth.org> and allows the TFP
extension to be enabled for DRISW also. This patch does not enable TFP for DRISW
though, because testing on xephyr segfaults here (for both classic and gallium):

Program received signal SIGSEGV, Segmentation fault.
0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
788    ASSERT_OUTSIDE_BEGIN_END(ctx);
(gdb)
(gdb) where
\#0  0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
\#1  0x0817a004 in __glXDisp_GenTextures ()
\#2  0x08168498 in __glXDispatch ()
\#3  0x0808b6ce in Dispatch ()
\#4  0x08084435 in main ()

The TFP code is generic except for the teximage call. We need to verify that
DRISW correclty implements whatever hook teximage finally calls.

13 years agost/dri: Fix segmentation fault in sw drivers
nobled [Wed, 11 Aug 2010 20:36:52 +0000 (23:36 +0300)]
st/dri: Fix segmentation fault in sw drivers

13 years agost/dri: dri_drawable_get_format is shared between DRI2 and DRISW
George Sapountzis [Wed, 11 Aug 2010 20:18:55 +0000 (23:18 +0300)]
st/dri: dri_drawable_get_format is shared between DRI2 and DRISW

13 years agomesa: Clean up header file inclusion in vf.h.
Vinson Lee [Fri, 13 Aug 2010 08:23:39 +0000 (01:23 -0700)]
mesa: Clean up header file inclusion in vf.h.

Remove mtypes.h.
Include glheader.h for GL symbols.

13 years agoswrast: Clean up header file inclusion in ss_vb.h.
Vinson Lee [Fri, 13 Aug 2010 07:48:34 +0000 (00:48 -0700)]
swrast: Clean up header file inclusion in ss_vb.h.

Remove unnecessary header swrast_setup.h.

13 years agoswrast: Clean up header file inclusion in ss_triangle.h.
Vinson Lee [Fri, 13 Aug 2010 06:56:52 +0000 (23:56 -0700)]
swrast: Clean up header file inclusion in ss_triangle.h.

Remove ss_context.h.
Include mtypes.h for GLcontext symbol.

13 years agoswrast: Clean up header file inclusion in ss_context.h.
Vinson Lee [Fri, 13 Aug 2010 06:51:16 +0000 (23:51 -0700)]
swrast: Clean up header file inclusion in ss_context.h.

Remove mtypes.h and swrast_setup.h.
Include glheader.h for GL symbols.

13 years agomesa: Include missing header in programopt.h.
Vinson Lee [Fri, 13 Aug 2010 06:27:27 +0000 (23:27 -0700)]
mesa: Include missing header in programopt.h.

Include mtypes.h for GLcontext and gl_register_file symbols.

13 years agor300g: do not support separate depth/stencil clear in the driver
Marek Olšák [Fri, 13 Aug 2010 06:16:59 +0000 (08:16 +0200)]
r300g: do not support separate depth/stencil clear in the driver

It doesn't work well with Hyper-Z, so put the burden on the state tracker.

13 years agor300g: fix fastfill when color and Z clear are invoked separately
Marek Olšák [Fri, 13 Aug 2010 02:34:38 +0000 (04:34 +0200)]
r300g: fix fastfill when color and Z clear are invoked separately

This always restores the previous depth clear value after CBZB clear.

13 years agor600g: update shader caps
Marek Olšák [Fri, 13 Aug 2010 01:27:45 +0000 (03:27 +0200)]
r600g: update shader caps

Sent on ML by Владимир.

These values are what fglrx returns.

13 years agor300g: disable depth clamp for now
Marek Olšák [Fri, 13 Aug 2010 00:58:51 +0000 (02:58 +0200)]
r300g: disable depth clamp for now

It breaks Regnum Online in that it renders random triangles
all over the screen.

https://bugs.freedesktop.org/show_bug.cgi?id=29518

13 years agomesa: fpclassify is available with MinGW.
Vinson Lee [Fri, 13 Aug 2010 00:37:00 +0000 (17:37 -0700)]
mesa: fpclassify is available with MinGW.

This patch fixes the MinGW build.

13 years agor600g: fix warning in the winsys
Dave Airlie [Thu, 12 Aug 2010 23:12:49 +0000 (09:12 +1000)]
r600g: fix warning in the winsys

13 years agor600g: fix memory leaks running gears.
Dave Airlie [Fri, 13 Aug 2010 00:16:29 +0000 (10:16 +1000)]
r600g: fix memory leaks running gears.

I noticed gears memory usage was heading skywards, some r600 "states"
aren't properly refcounted, and the ctx->state is never freed.

13 years agotranslate_test: Fix compilation with MSVC.
Vinson Lee [Fri, 13 Aug 2010 00:12:56 +0000 (17:12 -0700)]
translate_test: Fix compilation with MSVC.

13 years agoscons: Add main/querymatrix.c to SCons build.
Vinson Lee [Thu, 12 Aug 2010 23:32:49 +0000 (16:32 -0700)]
scons: Add main/querymatrix.c to SCons build.

Commit 87eb66775949af6e9512daf7e4665c1cfa6b8745 added querymatrix.c to
make but not to SCons.

13 years agoglsl: print to stderr like other program printing code
Brian Paul [Thu, 12 Aug 2010 21:59:50 +0000 (15:59 -0600)]
glsl: print to stderr like other program printing code

13 years agomesa: Fix FreeBSD build with llvm enabled.
Vinson Lee [Thu, 12 Aug 2010 21:54:30 +0000 (14:54 -0700)]
mesa: Fix FreeBSD build with llvm enabled.

On FreeBSD LC_CTYPE_MASK is not available but 'llvm-config --cppflags'
adds the compiler flag -D_GNU_SOURCE to the build.

13 years agotranslate_test: fix compilation on non-POSIX platforms
Luca Barbieri [Thu, 12 Aug 2010 20:07:37 +0000 (22:07 +0200)]
translate_test: fix compilation on non-POSIX platforms

Use a kludgy function based on rand() instead of drand48()

13 years agotranslate_test: improve
Luca Barbieri [Thu, 12 Aug 2010 16:18:41 +0000 (18:18 +0200)]
translate_test: improve

1. Generate random data specifically for float and doubles, so that
   they end up in [0, 1] range
2. Don't test useless conversions like SCALED <-> NORM
3. Poison the buffers before testing

13 years agoRevert "u_blitter: unify clear_depth_stencil and flush_depth_stencil"
Marek Olšák [Thu, 12 Aug 2010 11:34:53 +0000 (13:34 +0200)]
Revert "u_blitter: unify clear_depth_stencil and flush_depth_stencil"

This reverts commit de4784e36505316c2a5ab34cc5b371d17f38d3c5.

13 years agor600: add support for draw_elements_base_vertex
Andre Maasikas [Wed, 11 Aug 2010 11:30:18 +0000 (14:30 +0300)]
r600: add support for draw_elements_base_vertex

use VTX_BASE_VTX_LOC for offset, last time using INDEX_OFFSET was
probably a wrong register for this

13 years agomesa: Clean up header file inclusion in prog_uniform.h.
Vinson Lee [Thu, 12 Aug 2010 07:33:48 +0000 (00:33 -0700)]
mesa: Clean up header file inclusion in prog_uniform.h.

Remove mtypes.h.
Remove prog_statevars.h.
Include glheader.h for GL symbols.

13 years agomesa: Include missing headers in prog_print.h.
Vinson Lee [Thu, 12 Aug 2010 07:27:01 +0000 (00:27 -0700)]
mesa: Include missing headers in prog_print.h.

Include stdio.h for FILE symbol.
Include glheader.h for GL symbols.
Include mtypes.h for GLcontext symbol.
Add forward declarations.

13 years agomesa: Include missing header in prog_optimize.h.
Vinson Lee [Thu, 12 Aug 2010 07:18:06 +0000 (00:18 -0700)]
mesa: Include missing header in prog_optimize.h.

Include mtypes.h for GLcontext symbol.

13 years agor600g: fix typo in stencil translate.
Dave Airlie [Thu, 12 Aug 2010 06:32:19 +0000 (16:32 +1000)]
r600g: fix typo in stencil translate.

fixes piglit stencil-twoside and stencil-wrap

13 years agor600g: fix provoking-vertex piglit test.
Dave Airlie [Thu, 12 Aug 2010 06:29:04 +0000 (16:29 +1000)]
r600g: fix provoking-vertex piglit test.

13 years agor600g: improve texture format checker.
Dave Airlie [Thu, 12 Aug 2010 06:06:40 +0000 (16:06 +1000)]
r600g: improve texture format checker.

This takes the r300g texture format checker and fixes it up for r600g,
it passes glean texSwizzle, pixelformats, and texture_srgb tests,

however I think it L8S8_SRGB is broken as is L8_SRGB, need to investigate.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agou_blitter: unify clear_depth_stencil and flush_depth_stencil
Marek Olšák [Thu, 12 Aug 2010 03:06:21 +0000 (05:06 +0200)]
u_blitter: unify clear_depth_stencil and flush_depth_stencil

No need to enable depth test for clear.

13 years agoscons: Fix freebsd8 build.
Vinson Lee [Thu, 12 Aug 2010 01:57:27 +0000 (18:57 -0700)]
scons: Fix freebsd8 build.

13 years agoscons: Add freebsd8 to list of accepted platforms.
Vinson Lee [Thu, 12 Aug 2010 00:58:06 +0000 (17:58 -0700)]
scons: Add freebsd8 to list of accepted platforms.

13 years agor300/compiler: remove an unused variable
Marek Olšák [Wed, 11 Aug 2010 22:39:04 +0000 (00:39 +0200)]
r300/compiler: remove an unused variable

13 years agotranslate_test: fix segfault on x86-64
Luca Barbieri [Wed, 11 Aug 2010 20:26:57 +0000 (22:26 +0200)]
translate_test: fix segfault on x86-64

13 years agou_staging: remove useless inline keyword
Luca Barbieri [Wed, 11 Aug 2010 20:11:19 +0000 (22:11 +0200)]
u_staging: remove useless inline keyword

13 years agotranslate_test: fix, reindent, and improve
Luca Barbieri [Wed, 11 Aug 2010 19:28:33 +0000 (21:28 +0200)]
translate_test: fix, reindent, and improve

1. Fix the segfault due to the reverted commit using the new interface
2. Reindent to Mesa 3 spaces style
3. Improve output and return success/failure with error code
4. Add much better support for testing translate_sse

13 years agotranslate: allow clients to ask for supported output formats
Luca Barbieri [Wed, 11 Aug 2010 19:19:12 +0000 (21:19 +0200)]
translate: allow clients to ask for supported output formats

Currently translate asserts on unsupported output formats, making
it impossible to use for some purposes, such as testing whether it
actually works on all formats it supports.

Removing the assert was met with opposition, so this change allows
clients to ask whether an output format is supported, and they are thus
able to avoid attempting to use it.

Since this is just an addition to the API, no adverse effect is
possible, and it makes the testsuite work again.

13 years agoauxiliary: Make u_staging.c MSVC compatible.
Vinson Lee [Wed, 11 Aug 2010 19:45:02 +0000 (12:45 -0700)]
auxiliary: Make u_staging.c MSVC compatible.

Fixes MSVC build.

13 years agotranslate: Add translate_test.c to SCons.
Vinson Lee [Wed, 11 Aug 2010 19:18:25 +0000 (12:18 -0700)]
translate: Add translate_test.c to SCons.

This is a follow-up to commit 945e38c73b46afc12b0655f9fc8200f216a8f8c1,
which added translate_test.c to make.

13 years agoauxiliary: Add u_staging.c to SCons build.
Vinson Lee [Wed, 11 Aug 2010 19:04:54 +0000 (12:04 -0700)]
auxiliary: Add u_staging.c to SCons build.

This is a follow-up to commit b85c71d4e1e4ed788be834dff5b7b3c0cd0402ac
which added u_staging.c to make.

13 years agor300/compiler: Implement the CONT opcode.
Tom Stellard [Wed, 11 Aug 2010 16:25:45 +0000 (09:25 -0700)]
r300/compiler: Implement the CONT opcode.

13 years agor300/compiler: Handle loops in the register allocator.
Tom Stellard [Wed, 11 Aug 2010 16:24:07 +0000 (09:24 -0700)]
r300/compiler: Handle loops in the register allocator.

13 years agor600g: accept empty frag prog shader
Jerome Glisse [Wed, 11 Aug 2010 18:26:07 +0000 (14:26 -0400)]
r600g: accept empty frag prog shader

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
13 years agor600g: add src negation support
Jerome Glisse [Wed, 11 Aug 2010 17:49:06 +0000 (13:49 -0400)]
r600g: add src negation support

Should fix few glBitmap cases.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
13 years agogallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp().
José Fonseca [Wed, 11 Aug 2010 17:44:17 +0000 (18:44 +0100)]
gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp().

Thanks to Michal for spotting this.

13 years agor600g: add point/sprite rendering support
Jerome Glisse [Wed, 11 Aug 2010 16:19:33 +0000 (12:19 -0400)]
r600g: add point/sprite rendering support

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
13 years agoRevert "translate_generic: return NULL instead of assert(0) if format not supported"
Luca Barbieri [Wed, 11 Aug 2010 14:59:25 +0000 (16:59 +0200)]
Revert "translate_generic: return NULL instead of assert(0) if format not supported"

This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131.

José Fonseca asked for a revert.

Note that the testsuite will now segfault since it attempts to test
all possible formats.

13 years agotranslate_generic: fix broken A8R8G8B8_UNORM output
Luca Barbieri [Wed, 11 Aug 2010 14:00:32 +0000 (16:00 +0200)]
translate_generic: fix broken A8R8G8B8_UNORM output

translate was attempting to output A8R8G8B8_UNORM as if it were
R8G8B8A8_UNORM.

Now the tests just added pass.

13 years agotranslate: add testsuite
Luca Barbieri [Wed, 11 Aug 2010 13:57:37 +0000 (15:57 +0200)]
translate: add testsuite

Currently only checks all possible format conversions, and doesn't
attempt to test whether multiple buffers/elements or indices work.

13 years agotranslate_generic: return NULL instead of assert(0) if format not supported
Luca Barbieri [Wed, 11 Aug 2010 13:59:43 +0000 (15:59 +0200)]
translate_generic: return NULL instead of assert(0) if format not supported

This gives the caller a chance to recover (or crash anyway otherwise).

13 years agoauxiliary: fix util_framebuffer_copy
Luca Barbieri [Fri, 6 Aug 2010 09:08:45 +0000 (11:08 +0200)]
auxiliary: fix util_framebuffer_copy

util_framebuffer_copy was attempting to copy all elements of the
source framebuffer state.

However, this breaks if the user does not zero initialize the structure.
Instead, only copy the elements up to nr_cbufs, and clear elements up
to dst->nr_cbufs, if the destination was larger than the source.

13 years agogallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp.
José Fonseca [Wed, 11 Aug 2010 14:13:17 +0000 (15:13 +0100)]
gallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp.

Single divide, so let lp_build_div decide how to implement this.

This will save a multiplication in architectures which don't have
a RCP intrinsic.

13 years agogallivm: Use unsigned shift in lp_build_minify.
José Fonseca [Wed, 11 Aug 2010 14:11:12 +0000 (15:11 +0100)]
gallivm: Use unsigned shift in lp_build_minify.

Texture dimensions are unsigned.

13 years agollvmpipe: Debug code to dump interpolation coefficients.
José Fonseca [Wed, 11 Aug 2010 14:10:28 +0000 (15:10 +0100)]
llvmpipe: Debug code to dump interpolation coefficients.