mesa.git
13 years agoMerge branch 'gallium-msaa'
Roland Scheidegger [Fri, 21 May 2010 18:02:22 +0000 (20:02 +0200)]
Merge branch 'gallium-msaa'

Conflicts:
src/mesa/state_tracker/st_gen_mipmap.c
src/mesa/state_tracker/st_texture.c

13 years agonouveau/nvfx: Fill more PIPE_CAP_MAX_ values
Patrice Mandin [Fri, 21 May 2010 17:09:08 +0000 (19:09 +0200)]
nouveau/nvfx: Fill more PIPE_CAP_MAX_ values

Signed-off-by: Patrice Mandin <patmandin@gmail.com>
13 years agoAdd __DragonFly__ in querymatrix for fpclassify()
David Shao [Fri, 21 May 2010 15:15:01 +0000 (08:15 -0700)]
Add __DragonFly__ in querymatrix for fpclassify()

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agoprogs/tests: print more info in copypixrate.c
Brian Paul [Wed, 19 May 2010 17:23:26 +0000 (11:23 -0600)]
progs/tests: print more info in copypixrate.c

13 years agodocs: update 7.8.2 relnotes with Cell driver fixes
Brian Paul [Fri, 21 May 2010 15:51:42 +0000 (09:51 -0600)]
docs: update 7.8.2 relnotes with Cell driver fixes

13 years agocell: assorted compilation fixes
Brian Paul [Fri, 21 May 2010 15:47:00 +0000 (09:47 -0600)]
cell: assorted compilation fixes

13 years agocell: fix breakage from earlier draw module changes
Brian Paul [Fri, 21 May 2010 15:28:07 +0000 (09:28 -0600)]
cell: fix breakage from earlier draw module changes

13 years agogallium: remnants of old ccw state
Keith Whitwell [Fri, 21 May 2010 15:05:16 +0000 (16:05 +0100)]
gallium: remnants of old ccw state

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

13 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.

13 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.

13 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.

13 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

13 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.

13 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

13 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

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

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

13 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[].

13 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/

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

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

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

13 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

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

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

13 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

13 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.

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

13 years agoutil: fix obvious util_blitter_copy bugs...
Roland Scheidegger [Wed, 19 May 2010 16:33:28 +0000 (18:33 +0200)]
util: fix obvious util_blitter_copy bugs...

13 years agonv50: fix typo: s/_/./
Brian Paul [Wed, 19 May 2010 15:30:25 +0000 (09:30 -0600)]
nv50: fix typo: s/_/./

13 years agoutil: util_blitter_fill no longer needs to handle overlap
Roland Scheidegger [Wed, 19 May 2010 15:20:26 +0000 (17:20 +0200)]
util: util_blitter_fill no longer needs to handle overlap

13 years agoi915g: remove unused flip parameter
Roland Scheidegger [Wed, 19 May 2010 15:14:06 +0000 (17:14 +0200)]
i915g: remove unused flip parameter

13 years agodocs: update differences to d3d11
Roland Scheidegger [Tue, 18 May 2010 19:42:09 +0000 (21:42 +0200)]
docs: update differences to d3d11

13 years agoutil: fix some leftover util_surface_fill/copy calls
Roland Scheidegger [Tue, 18 May 2010 19:41:15 +0000 (21:41 +0200)]
util: fix some leftover util_surface_fill/copy calls

13 years agost/mesa: fix wrong argument order
Roland Scheidegger [Tue, 18 May 2010 16:03:37 +0000 (18:03 +0200)]
st/mesa: fix wrong argument order

13 years agogallium: implement set_sample_mask() in all drivers
Roland Scheidegger [Tue, 18 May 2010 14:20:44 +0000 (16:20 +0200)]
gallium: implement set_sample_mask() in all drivers

prevents segfault when state trackers try to set default mask.
Other option would be to make this required only for drivers
supporting multisampling, but this seems more clean.
Only dummy implementations (for normal drivers) provided (no driver
supports multisampling yet neither).

13 years agost/egl: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:34:30 +0000 (21:34 +0200)]
st/egl: adapt to interface changes

13 years agost/dri: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:34:03 +0000 (21:34 +0200)]
st/dri: adapt to interface changes

13 years agost/glx: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:53 +0000 (21:33 +0200)]
st/glx: adapt to interface changes

13 years agost/wgl: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:45 +0000 (21:33 +0200)]
st/wgl: adapt to interface changes

13 years agost/vega: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:37 +0000 (21:33 +0200)]
st/vega: adapt to interface changes

13 years agost/xorg: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:27 +0000 (21:33 +0200)]
st/xorg: adapt to interface changes

13 years agost/python: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:32:41 +0000 (21:32 +0200)]
st/python: adapt to interface changes

compile tested only.
Should probably change the python surface_copy/fill functions
also into resource_copy/fill_region functions and adapt the code
using them.

13 years agosvga: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:30:01 +0000 (21:30 +0200)]
svga: adapt to interface changes

might need further cleanup. Using surfaces internally just to be able to use
the existing code might cause unnecessary copies afaict.

13 years agor300g: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:29:17 +0000 (21:29 +0200)]
r300g: adapt to interface changes

might need further cleanup. Using surfaces internally for the u_blitter code
seems nonoptimal.

13 years agonouveau: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:28:14 +0000 (21:28 +0200)]
nouveau: adapt to interface changes

this probably needs further cleanup (just getting a surface for the resource
seems quite nonoptimal and potentially cause unnecessary copies I think)

13 years agofo: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:25:27 +0000 (21:25 +0200)]
fo: adapt to interface changes

13 years agoidentity: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:25:16 +0000 (21:25 +0200)]
identity: adapt to interface changes

13 years agotrace: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:25:07 +0000 (21:25 +0200)]
trace: adapt to interface changes

13 years agoi965g: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:24:50 +0000 (21:24 +0200)]
i965g: adapt to interface changes

13 years agoi915g: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:24:04 +0000 (21:24 +0200)]
i915g: adapt to interface changes

13 years agosoftpipe: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:23:46 +0000 (21:23 +0200)]
softpipe: adapt to interface changes

13 years agollvmpipe: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:23:31 +0000 (21:23 +0200)]
llvmpipe: adapt to interface changes

13 years agocell: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:22:23 +0000 (21:22 +0200)]
cell: adapt to interface changes

not even compile tested but fairly trivial

13 years agomesa/st: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:19:03 +0000 (21:19 +0200)]
mesa/st: adapt to interface changes

adapt to blit changes, and also handle a bit more msaa state in theory
(incomplete, doesn't handle resolves in any way for now).

13 years agogallium/util: adapt util code to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:15:20 +0000 (21:15 +0200)]
gallium/util: adapt util code to interface changes

The util blit functions change their interface (apart from some rename) too
(in particular util_blit_pixels now also takes a pipe_resource as the src blit
argument instead of a surface, as it might just call resource_copy_region).
Maybe the blit util code might need a bit more cleanup, it still doesn't feel
very clean. In particular it seems that util_blit_pixels_tex should probably
disappear, and I think it would be great if the code called by drivers for
blitting (u_blitter.c, which isn't really touched by this change) could somehow
be merged with the u_blit code.

13 years agogallium: clean up resource_copy_region function
Roland Scheidegger [Mon, 17 May 2010 19:02:24 +0000 (21:02 +0200)]
gallium: clean up resource_copy_region function

Previously, surface_copy was said to allow overlapping blits, and it was
"optional". However, some state trackers actually assumed it is always present,
and quite some code (like in u_blit) assumed overlapping isn't allowed.
Hence, resource_copy_region (and in the same spirit, resource_fill_region) is
now mandatory, but overlapping blits are no longer allowed. A driver can plug
in the cpu fallback util_resource_copy_region if it does not want to provide its
own implementation, though this is not optimal.

13 years agogallium: another interface change for multisampling
Roland Scheidegger [Mon, 17 May 2010 18:52:08 +0000 (20:52 +0200)]
gallium: another interface change for multisampling

due to popular request, use nr_samples parameter in is_format_supported()
instead of new is_msaa_supported() query.
This makes it easily possible to query if a format with a given sample count
is also supported not only as render target, but for sampler views (note that
texture sampling from multisampled resources isn't supported yet).
It is not quite how dx10 format msaa queries work, but we might need to revisit
format queries completely in the future anyway.

13 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

13 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

13 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

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

13 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...

13 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.

13 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

13 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.

13 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

13 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

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

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

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

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

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

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

13 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

13 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

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

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

13 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.

13 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.

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

13 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.

13 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.

13 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.

13 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.

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

13 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.

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

13 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.

13 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.

13 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.

13 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.

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

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

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

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

13 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

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

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