mesa.git
14 years agoMerge branch 'gallium-front-ccw'
Keith Whitwell [Fri, 21 May 2010 14:41:06 +0000 (15:41 +0100)]
Merge branch 'gallium-front-ccw'

14 years agodocs: update rasterizer for ccw changes
Keith Whitwell [Fri, 21 May 2010 14:38:48 +0000 (15:38 +0100)]
docs: update rasterizer for ccw changes

Also rearrange some of the fields into point/line/polygon categories.

14 years agoscons: Remove debug print statement.
Vinson Lee [Fri, 21 May 2010 04:03:03 +0000 (21:03 -0700)]
scons: Remove debug print statement.

Fixes Python IndexError exception with default SCons build.

14 years agoMake TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.
Eric Anholt [Thu, 20 May 2010 21:44:43 +0000 (14:44 -0700)]
Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.

14 years agoFix a substitution in glesv1_cm.pc
Eric Anholt [Thu, 20 May 2010 20:55:21 +0000 (13:55 -0700)]
Fix a substitution in glesv1_cm.pc

14 years agoi965: remove disabled code for cycling through MRF registers in clipping.
Eric Anholt [Tue, 18 May 2010 22:27:10 +0000 (15:27 -0700)]
i965: remove disabled code for cycling through MRF registers in clipping.

The idea would be that you could have multiple send messages going on
if nothing depended on the previous message's results and you used a
different send message.  The problem is that the later send requires
the VUE handle returned by the first send's allocate anyway.

14 years agonv50: fixed other void pointer arithmetic errors
Xavier Chantry [Thu, 20 May 2010 17:44:24 +0000 (19:44 +0200)]
nv50: fixed other void pointer arithmetic errors

14 years agonv50: fix too long shader uploads by splitting them
Xavier Chantry [Thu, 20 May 2010 17:36:27 +0000 (19:36 +0200)]
nv50: fix too long shader uploads by splitting them

14 years agonv50: fill in shader limits
Christoph Bumiller [Thu, 20 May 2010 17:47:01 +0000 (19:47 +0200)]
nv50: fill in shader limits

14 years agoscons: add comments and whitespace
Brian Paul [Thu, 20 May 2010 16:26:19 +0000 (10:26 -0600)]
scons: add comments and whitespace

14 years agoscons: fix llvm detection
Brian Paul [Thu, 20 May 2010 16:25:17 +0000 (10:25 -0600)]
scons: fix llvm detection

The test for env['platform'] caused an exception since 'env' is not
defined at that point.  Instead, determine the target platform by
scanning sys.argv[].

14 years agogallivm: rename a var: s/val/array_size/
Brian Paul [Wed, 19 May 2010 19:26:11 +0000 (13:26 -0600)]
gallivm: rename a var: s/val/array_size/

14 years agogallivm: fix spelling in comment
Brian Paul [Wed, 19 May 2010 19:25:39 +0000 (13:25 -0600)]
gallivm: fix spelling in comment

14 years agogallivm: handle pointer types in lp_dump_llvmtype()
Brian Paul [Wed, 19 May 2010 18:46:20 +0000 (12:46 -0600)]
gallivm: handle pointer types in lp_dump_llvmtype()

14 years agollvmpipe: more tweaks to dump_fs_variant_key()
Brian Paul [Wed, 19 May 2010 18:39:52 +0000 (12:39 -0600)]
llvmpipe: more tweaks to dump_fs_variant_key()

14 years agogallium: fix/update tex target dumping
Brian Paul [Wed, 19 May 2010 18:28:16 +0000 (12:28 -0600)]
gallium: fix/update tex target dumping

14 years agollvmpipe: use util_dump_logicop()
Brian Paul [Wed, 19 May 2010 17:37:42 +0000 (11:37 -0600)]
llvmpipe: use util_dump_logicop()

14 years agogallium: added util_dump_logicop()
Brian Paul [Wed, 19 May 2010 17:37:09 +0000 (11:37 -0600)]
gallium: added util_dump_logicop()

14 years agollvmpipe: put variant print/debug code into separate function
Brian Paul [Wed, 19 May 2010 17:28:29 +0000 (11:28 -0600)]
llvmpipe: put variant print/debug code into separate function

14 years agointel: Throttle after doing copyregion/swapbuffers round trip
Kristian Høgsberg [Wed, 19 May 2010 01:50:44 +0000 (21:50 -0400)]
intel: Throttle after doing copyregion/swapbuffers round trip

Before we would throttle in the flush callback prior to round-tripping
to the server to do copyregion or swapbuffer.  Now, instead just note
that we need to throttle and do it in intel_prepare_render(), which
will be called after receiving the response from the server but before
we start rendering the next frame.  Even if the server also throttles
us in swapbuffer, this just makes the throttling a no-op when we hit
intel_prepare_render().  With that we can drop the
using_dri2_swapbuffers hack and just always throttle.

14 years agograw-null: Remove unnecessary header.
Vinson Lee [Thu, 20 May 2010 14:36:53 +0000 (07:36 -0700)]
graw-null: Remove unnecessary header.

14 years agollvmpipe: fix front/back tri culling mix-up
Brian Paul [Mon, 17 May 2010 17:43:43 +0000 (11:43 -0600)]
llvmpipe: fix front/back tri culling mix-up

14 years agodraw: fix front/back error in unfilled pipeline stage
Keith Whitwell [Fri, 14 May 2010 22:47:05 +0000 (23:47 +0100)]
draw: fix front/back error in unfilled pipeline stage

14 years agodraw: fix typo checking for unfilled polygons
Keith Whitwell [Fri, 14 May 2010 22:46:43 +0000 (23:46 +0100)]
draw: fix typo checking for unfilled polygons

14 years agosoftpipe: restore culling code
Keith Whitwell [Fri, 14 May 2010 19:36:08 +0000 (20:36 +0100)]
softpipe: restore culling code

14 years agogallium: more work on ccw flag removal
Keith Whitwell [Fri, 14 May 2010 18:20:25 +0000 (19:20 +0100)]
gallium: more work on ccw flag removal

The linux-debug target builds...

14 years agogallium: convert rasterizer state to use gl-style front/back concepts
Keith Whitwell [Fri, 14 May 2010 12:04:42 +0000 (13:04 +0100)]
gallium: convert rasterizer state to use gl-style front/back concepts

Use front/back instead of cw/ccw throughout.
Also, use offset_point/line/fill instead of offset_cw/ccw.

Brings gallium representation of this state into line with its main
user, and also what turns out to be the most common hardware
representation.

This fixes a long-standing bias in the interface towards the
architecture of the software rasterizer.

14 years agoutil: fix copy_rect stride in default transfer_inline_write
Keith Whitwell [Sat, 8 May 2010 13:16:46 +0000 (14:16 +0100)]
util: fix copy_rect stride in default transfer_inline_write

14 years agoegl: Implement EGL_NOK_swap_region
Kristian Høgsberg [Fri, 7 May 2010 02:01:35 +0000 (22:01 -0400)]
egl: Implement EGL_NOK_swap_region

This extension adds a new function which provides an alternative to
eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in
addition to those in eglSwapBuffers. The new parameters consist of a
pointer to a list of 4-integer blocks defining rectangles (x, y,
width, height) and an integer specifying the number of rectangles in
the list.

14 years agor300g: fix for piglit/fp-indirections2
Marek Olšák [Thu, 13 May 2010 22:20:58 +0000 (00:20 +0200)]
r300g: fix for piglit/fp-indirections2

14 years agortasm: fix void * / func * casting warnings
Brian Paul [Thu, 13 May 2010 19:41:49 +0000 (13:41 -0600)]
rtasm: fix void * / func * casting warnings

14 years agodraw: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:35:17 +0000 (13:35 -0600)]
draw: silence casting warnings

14 years agogallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:34:24 +0000 (13:34 -0600)]
gallivm: silence uninitialized var warning

14 years agollvmpipe: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:26:21 +0000 (13:26 -0600)]
llvmpipe: silence casting warnings

14 years agogallivm: silence casting warning
Brian Paul [Thu, 13 May 2010 19:25:29 +0000 (13:25 -0600)]
gallivm: silence casting warning

14 years agogallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:24:21 +0000 (13:24 -0600)]
gallivm: silence uninitialized var warning

14 years agollvmpipe: silence uninitialized var warnings
Brian Paul [Thu, 13 May 2010 19:21:37 +0000 (13:21 -0600)]
llvmpipe: silence uninitialized var warnings

14 years agollvmpipe: silence cast warnings in test programs
Brian Paul [Thu, 13 May 2010 19:21:19 +0000 (13:21 -0600)]
llvmpipe: silence cast warnings in test programs

14 years agogallivm: added lp_dump_llvmtype() debug helper
Brian Paul [Thu, 13 May 2010 16:24:10 +0000 (10:24 -0600)]
gallivm: added lp_dump_llvmtype() debug helper

14 years agollvmpipe: additional comments
Brian Paul [Thu, 13 May 2010 15:26:17 +0000 (09:26 -0600)]
llvmpipe: additional comments

14 years agogallivm: rename a var
Brian Paul [Wed, 12 May 2010 21:32:04 +0000 (15:32 -0600)]
gallivm: rename a var

14 years agoegl: Allow a prioritized list of default drivers
Kristian Høgsberg [Thu, 13 May 2010 20:06:29 +0000 (16:06 -0400)]
egl: Allow a prioritized list of default drivers

When there is no user driver or any matching display drivers we fall
back to the default driver.  This patch lets us have a list of default
drivers instead of just one.  The drivers are loaded in turn and we
attempt to initialize the display.  If it fails we unload the driver
and move on to the next one.

Compared to the display driver mechanism, this avoids loading a number
of drivers and then only using one.  Also, we call Initialize to see
if the driver will work instead of relying on Probe.  To know for sure
that a driver will work, Probe really have to do a full Initialize, so
we will just use Initialize directly.

14 years agoegl_dri2: Downgrade initialization errors to warnings
Kristian Høgsberg [Thu, 13 May 2010 19:42:51 +0000 (15:42 -0400)]
egl_dri2: Downgrade initialization errors to warnings

Don't want to shutdown everything if egl_dri2 fails to initialize.

14 years agoutil: Fix ptr -> int conversion.
José Fonseca [Thu, 13 May 2010 20:14:07 +0000 (21:14 +0100)]
util: Fix ptr -> int conversion.

14 years agoConditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_sca...
José Fonseca [Thu, 13 May 2010 20:03:08 +0000 (21:03 +0100)]
Conditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_scalar()."

This reverts commit a09e46c72461183c879d8472b44fe740ecc79b9f.

14 years agoi965: Reduce a single GL_QUADS to GL_TRIANGLE_FAN.
Eric Anholt [Thu, 13 May 2010 18:31:56 +0000 (11:31 -0700)]
i965: Reduce a single GL_QUADS to GL_TRIANGLE_FAN.

This is similar to the GL_QUAD_STRIP -> TRIANGLE_STRIP optimization --
the GS usage to split the quads into tris is a huge bottleneck, so a
quick check improves glean blendFunc time massively (width * height of
the window of single-pixel GL_QUADS, many many times).  This may also
end up helping with cairo performance, which sometimes ends up drawing
a single quad.

14 years agointel: Don't update window system renderbuffers on TexImage.
Eric Anholt [Thu, 13 May 2010 17:13:52 +0000 (10:13 -0700)]
intel: Don't update window system renderbuffers on TexImage.

While sometimes rendering occurs in the form of blits for TexImage, it
doesn't interact with the window system renderbuffers, so skip it.

14 years agomesa: Remove no-op wrappers around trig functions.
Eric Anholt [Wed, 5 May 2010 15:36:20 +0000 (08:36 -0700)]
mesa: Remove no-op wrappers around trig functions.

14 years agomesa: Remove _mesa_pow(), which is always just pow().
Eric Anholt [Wed, 5 May 2010 15:29:13 +0000 (08:29 -0700)]
mesa: Remove _mesa_pow(), which is always just pow().

14 years agor300g: fix texture transfers
Marek Olšák [Thu, 13 May 2010 18:32:08 +0000 (20:32 +0200)]
r300g: fix texture transfers

The regression has first shown up after this state tracker change:
b0427bedde80e3189524651a327235bdfddbc613.

FDO bug #28082.

14 years agomesa: silence compiler warning
Alan Hourihane [Thu, 13 May 2010 17:49:02 +0000 (18:49 +0100)]
mesa: silence compiler warning

14 years agollvmpipe: Update instructions for MSVC builds.
José Fonseca [Thu, 13 May 2010 15:18:05 +0000 (16:18 +0100)]
llvmpipe: Update instructions for MSVC builds.

14 years agoegl: Drop broken _EGL_PLATFORM_NO_OS code
Kristian Høgsberg [Thu, 13 May 2010 12:59:47 +0000 (08:59 -0400)]
egl: Drop broken _EGL_PLATFORM_NO_OS code

It would do strlen(library_suffix()) in _eglLoaderFile(), with
library_suffix() returning NULL.  So obviuosly not used or tested.

14 years agoegl: Don't try to load driver basename if the platform needs a suffix
Kristian Høgsberg [Thu, 13 May 2010 12:27:37 +0000 (08:27 -0400)]
egl: Don't try to load driver basename if the platform needs a suffix

That is, don't dlopen(egl_glx) when we know we need to append .so.

14 years agotrace: Add missing header.
Vinson Lee [Thu, 13 May 2010 08:47:31 +0000 (01:47 -0700)]
trace: Add missing header.

Fixes GCC implicit function declaration warning.

14 years agost/mesa: Remove unnecessary header.
Vinson Lee [Thu, 13 May 2010 08:37:44 +0000 (01:37 -0700)]
st/mesa: Remove unnecessary header.

14 years agogallium: Add tokens for Cygwin.
Vinson Lee [Thu, 13 May 2010 08:25:07 +0000 (01:25 -0700)]
gallium: Add tokens for Cygwin.

14 years agotrace: Remove unnecessary headers.
Vinson Lee [Thu, 13 May 2010 08:18:35 +0000 (01:18 -0700)]
trace: Remove unnecessary headers.

14 years agor300g: re-order caps
Marek Olšák [Thu, 13 May 2010 00:28:49 +0000 (02:28 +0200)]
r300g: re-order caps

14 years agor300g: fill out the shader limits
Marek Olšák [Wed, 12 May 2010 23:45:57 +0000 (01:45 +0200)]
r300g: fill out the shader limits

14 years agotrace: Update README
Jakob Bornecrantz [Wed, 12 May 2010 22:07:17 +0000 (23:07 +0100)]
trace: Update README

14 years agorbug: Update and add READMEs
Jakob Bornecrantz [Wed, 12 May 2010 22:06:54 +0000 (23:06 +0100)]
rbug: Update and add READMEs

14 years agoscons: Add -fvisibility=hidden to CFLAGS for gcc builds
Jakob Bornecrantz [Wed, 12 May 2010 21:48:32 +0000 (22:48 +0100)]
scons: Add -fvisibility=hidden to CFLAGS for gcc builds

14 years agograw: Make functions public
Jakob Bornecrantz [Wed, 12 May 2010 21:47:15 +0000 (22:47 +0100)]
graw: Make functions public

14 years agorbug: No need to have rbug as a input
Jakob Bornecrantz [Wed, 12 May 2010 20:11:39 +0000 (21:11 +0100)]
rbug: No need to have rbug as a input

14 years agogallivm: Ensure PIPE_OS_xxx are defined.
José Fonseca [Mon, 10 May 2010 07:24:23 +0000 (08:24 +0100)]
gallivm: Ensure PIPE_OS_xxx are defined.

14 years agogallivm: Use a more compact approach for lp_build_broadcast_scalar().
José Fonseca [Sun, 9 May 2010 21:31:18 +0000 (22:31 +0100)]
gallivm: Use a more compact approach for lp_build_broadcast_scalar().

It produces exactly the same machine code, but it cuts 5% of the
number of instructions generated for a typical shader.

Also, preserve the scalar when length is 1.

14 years agollvmpipe: Dump fs key's stencil state.
José Fonseca [Sun, 9 May 2010 20:18:14 +0000 (21:18 +0100)]
llvmpipe: Dump fs key's stencil state.

14 years agoutil: Add function to dump PIPE_STENCIL_OP_xxx
José Fonseca [Sun, 9 May 2010 20:17:46 +0000 (21:17 +0100)]
util: Add function to dump PIPE_STENCIL_OP_xxx

14 years agollvmpipe: Enable mem2reg pass even with LP_DEBUG=nopt.
José Fonseca [Wed, 12 May 2010 19:04:11 +0000 (20:04 +0100)]
llvmpipe: Enable mem2reg pass even with LP_DEBUG=nopt.

Otherwise things start crashing.

14 years agorbug: Add to all targets that link against trace
Jakob Bornecrantz [Wed, 12 May 2010 19:11:37 +0000 (20:11 +0100)]
rbug: Add to all targets that link against trace

Also added calls to the create function in target helpers and in
tr_drm.c the latter being a hack and should be replaced with the
wrap screen target helper. But at least this way we don't regress.

14 years agotrace: Remove rbug from trace
Jakob Bornecrantz [Wed, 12 May 2010 18:26:19 +0000 (19:26 +0100)]
trace: Remove rbug from trace

14 years agorbug: Use container of macro
Jakob Bornecrantz [Wed, 12 May 2010 17:55:53 +0000 (18:55 +0100)]
rbug: Use container of macro

14 years agorbug: Fix draw blocking
Jakob Bornecrantz [Wed, 12 May 2010 17:55:42 +0000 (18:55 +0100)]
rbug: Fix draw blocking

14 years agorbug: Fix sampler views and surfaces in context info
Jakob Bornecrantz [Wed, 12 May 2010 14:33:40 +0000 (15:33 +0100)]
rbug: Fix sampler views and surfaces in context info

14 years agorbug: Fix shaders
Jakob Bornecrantz [Wed, 12 May 2010 13:38:20 +0000 (14:38 +0100)]
rbug: Fix shaders

14 years agorbug: Break out of trace
Jakob Bornecrantz [Tue, 4 May 2010 11:06:37 +0000 (12:06 +0100)]
rbug: Break out of trace

14 years agogallivm: additional comments
Brian Paul [Wed, 12 May 2010 18:41:53 +0000 (12:41 -0600)]
gallivm: additional comments

14 years agollvmpipe: s/bool/boolean/ in test progs
Brian Paul [Wed, 12 May 2010 18:12:08 +0000 (12:12 -0600)]
llvmpipe: s/bool/boolean/ in test progs

14 years agogallivm: s/bool/boolean
Brian Paul [Wed, 12 May 2010 18:10:55 +0000 (12:10 -0600)]
gallivm: s/bool/boolean

14 years agogallivm: rename vars, update comments, etc
Brian Paul [Wed, 12 May 2010 17:17:34 +0000 (11:17 -0600)]
gallivm: rename vars, update comments, etc

14 years agoegl_dri2: Zero out driver struct
Kristian Høgsberg [Wed, 12 May 2010 18:34:55 +0000 (14:34 -0400)]
egl_dri2: Zero out driver struct

Otherwise testing ->Probe for non-NULL and calling it goes boom.

14 years agor300g: Correct viewport setup for SW TCL.
Corbin Simpson [Wed, 12 May 2010 17:14:02 +0000 (10:14 -0700)]
r300g: Correct viewport setup for SW TCL.

glxgears now renders in the right place on-screen, although it is still
rather...psychedelic.

14 years agor300g: Add VBO dumper for SW TCL.
Corbin Simpson [Wed, 12 May 2010 17:10:54 +0000 (10:10 -0700)]
r300g: Add VBO dumper for SW TCL.

Commented out, not easily enabled. *Very* noisy.

14 years agor300g: Immediate mode won't work with SW TCL right now.
Corbin Simpson [Wed, 12 May 2010 17:09:50 +0000 (10:09 -0700)]
r300g: Immediate mode won't work with SW TCL right now.

This could be done later of course. SW TCL should have a much different
threshold because it's much more worth it.

14 years agor300g: Fix indentation.
Corbin Simpson [Wed, 12 May 2010 17:09:28 +0000 (10:09 -0700)]
r300g: Fix indentation.

14 years agogallivm: comment out LLVMUnionTypeKind case
Brian Paul [Wed, 12 May 2010 16:54:45 +0000 (10:54 -0600)]
gallivm: comment out LLVMUnionTypeKind case

14 years agogallivm: rename texel result param
Brian Paul [Wed, 12 May 2010 16:36:11 +0000 (10:36 -0600)]
gallivm: rename texel result param

Be clear that this parameter returns four texel channel results.

14 years agogallivm: add a few comments
Brian Paul [Wed, 12 May 2010 16:20:50 +0000 (10:20 -0600)]
gallivm: add a few comments

14 years agogallivm/llvmpipe: add const qualifiers
Brian Paul [Wed, 12 May 2010 16:20:03 +0000 (10:20 -0600)]
gallivm/llvmpipe: add const qualifiers

14 years agogallivm: added lp_typekind_name() util function
Brian Paul [Wed, 12 May 2010 16:04:48 +0000 (10:04 -0600)]
gallivm: added lp_typekind_name() util function

14 years agotgsi: also count instructions in tgsi_scan_shader()
Brian Paul [Wed, 12 May 2010 15:41:41 +0000 (09:41 -0600)]
tgsi: also count instructions in tgsi_scan_shader()

14 years agollvmpipe: Handle PIPE_CAP_GUARD_*.
José Fonseca [Wed, 12 May 2010 16:25:17 +0000 (17:25 +0100)]
llvmpipe: Handle PIPE_CAP_GUARD_*.

Without asserting.

14 years agollvmpipe: Use RAST_WHOLE/EDGE_TEST in more places.
José Fonseca [Wed, 12 May 2010 16:24:34 +0000 (17:24 +0100)]
llvmpipe: Use RAST_WHOLE/EDGE_TEST in more places.

14 years agollvmpipe: Move the opaque flag computation into the variant.
José Fonseca [Wed, 12 May 2010 16:12:59 +0000 (17:12 +0100)]
llvmpipe: Move the opaque flag computation into the variant.

14 years agosvga: Advertise shader limits.
José Fonseca [Wed, 12 May 2010 13:10:50 +0000 (14:10 +0100)]
svga: Advertise shader limits.

14 years agollvmpipe: Advertise (gallivm's) shader limits.
José Fonseca [Wed, 12 May 2010 13:10:23 +0000 (14:10 +0100)]
llvmpipe: Advertise (gallivm's) shader limits.

14 years agosoftpipe: Adverstise (tgsi_exec's) shader limits.
José Fonseca [Wed, 12 May 2010 13:10:10 +0000 (14:10 +0100)]
softpipe: Adverstise (tgsi_exec's) shader limits.

14 years agomesa/st: Expose pipe driver's shader limits.
José Fonseca [Wed, 12 May 2010 13:09:14 +0000 (14:09 +0100)]
mesa/st: Expose pipe driver's shader limits.

14 years agogallium: Add new fine grained PIPE_CAP_xx for shader limits.
José Fonseca [Wed, 12 May 2010 13:08:22 +0000 (14:08 +0100)]
gallium: Add new fine grained PIPE_CAP_xx for shader limits.

PIPE_CAP_GLSL and PIPE_CAP_SM3 not removed yet, as opcode support is not
yet covered.