mesa.git
14 years agollvmpipe: make texture border_color dynamic state
Brian Paul [Fri, 24 Sep 2010 01:16:33 +0000 (19:16 -0600)]
llvmpipe: make texture border_color dynamic state

14 years agollvmpipe: make min/max lod and lod bias dynamic state
Brian Paul [Fri, 24 Sep 2010 00:18:40 +0000 (18:18 -0600)]
llvmpipe: make min/max lod and lod bias dynamic state

Before, changing any of these sampler values triggered generation
of new JIT code.  Added a new flag for the special case of
min_lod == max_lod which is hit during auto mipmap generation.

14 years agor600g: fix compilation after change to evergreend.h
Jerome Glisse [Fri, 24 Sep 2010 14:43:57 +0000 (10:43 -0400)]
r600g: fix compilation after change to evergreend.h

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: evergreen fix for new design
Jerome Glisse [Fri, 24 Sep 2010 14:40:17 +0000 (10:40 -0400)]
r600g: evergreen fix for new design

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: move use_mem_constants flags for new designs structure alignment
Jerome Glisse [Fri, 24 Sep 2010 14:38:41 +0000 (10:38 -0400)]
r600g: move use_mem_constants flags for new designs structure alignment

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: fix typo in evergreen define (resource are in [0x30000;0x34000] range)
Jerome Glisse [Fri, 24 Sep 2010 14:37:41 +0000 (10:37 -0400)]
r600g: fix typo in evergreen define (resource are in [0x30000;0x34000] range)

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agost/mesa: use the wrapped renderbuffer in CopyPixels()
Brian Paul [Fri, 24 Sep 2010 14:26:32 +0000 (08:26 -0600)]
st/mesa: use the wrapped renderbuffer in CopyPixels()

Fixes assertion failures when copying stencil pixels.

NOTE: this is a candidate for the 7.9 branch.

14 years agost/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()
Brian Paul [Fri, 24 Sep 2010 14:24:41 +0000 (08:24 -0600)]
st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()

NOTE: this is a candidate for the 7.9 branch.

14 years agomesa: fix assertions to handle srgb formats
Brian Paul [Fri, 24 Sep 2010 13:54:46 +0000 (07:54 -0600)]
mesa: fix assertions to handle srgb formats

http://bugs.freedesktop.org/show_bug.cgi?id=30333

NOTE: This is a candidate for the 7.9 branch.

14 years agod3d1x: CRLF -> LF in progs
Luca Barbieri [Fri, 24 Sep 2010 13:08:57 +0000 (15:08 +0200)]
d3d1x: CRLF -> LF in progs

14 years agod3d1x: stop using GLX in demos, just use the default visual
Luca Barbieri [Fri, 24 Sep 2010 13:01:04 +0000 (15:01 +0200)]
d3d1x: stop using GLX in demos, just use the default visual

14 years agod3d1x: assert if X visual is not among enumerated visuals
Luca Barbieri [Fri, 24 Sep 2010 12:52:13 +0000 (14:52 +0200)]
d3d1x: assert if X visual is not among enumerated visuals

14 years agod3d1x: don't crash on drivers not supporting vertex or geometry sampling
Luca Barbieri [Fri, 24 Sep 2010 12:28:31 +0000 (14:28 +0200)]
d3d1x: don't crash on drivers not supporting vertex or geometry sampling

14 years agonvfx: add RGB framebuffer format support in addition to BGR
Luca Barbieri [Fri, 24 Sep 2010 12:28:24 +0000 (14:28 +0200)]
nvfx: add RGB framebuffer format support in addition to BGR

14 years agonvfx: allow setting NULL constant buffers
Luca Barbieri [Fri, 24 Sep 2010 12:12:24 +0000 (14:12 +0200)]
nvfx: allow setting NULL constant buffers

14 years agor600g: break alu clause earlier
Andre Maasikas [Fri, 24 Sep 2010 10:26:19 +0000 (13:26 +0300)]
r600g: break alu clause earlier

we still have constants to add and next int may need also 6 slots

14 years agod3d1x: fix linking of dxbc2tgsi
Luca Barbieri [Fri, 24 Sep 2010 07:49:51 +0000 (09:49 +0200)]
d3d1x: fix linking of dxbc2tgsi

14 years agod3d1x: draw to the correct buffer
Luca Barbieri [Fri, 24 Sep 2010 07:12:33 +0000 (09:12 +0200)]
d3d1x: draw to the correct buffer

14 years agod3d1x: fix CheckMultisampleQualityLevels
Luca Barbieri [Thu, 23 Sep 2010 18:24:20 +0000 (20:24 +0200)]
d3d1x: fix CheckMultisampleQualityLevels

14 years agod3d1x: don't assert on unsupported resource types
Luca Barbieri [Thu, 23 Sep 2010 16:24:34 +0000 (18:24 +0200)]
d3d1x: don't assert on unsupported resource types

14 years agod3d1x: add untested support for geometry shader translation
Luca Barbieri [Thu, 23 Sep 2010 16:03:34 +0000 (18:03 +0200)]
d3d1x: add untested support for geometry shader translation

14 years agod3d1x: add shader dumping
Luca Barbieri [Thu, 23 Sep 2010 16:03:06 +0000 (18:03 +0200)]
d3d1x: add shader dumping

14 years agor600g: fix polygon mode
Dave Airlie [Fri, 24 Sep 2010 08:57:33 +0000 (18:57 +1000)]
r600g: fix polygon mode

this fixes glean'pointSprite test.

14 years agor600g: fixup sprite coord enable.
Dave Airlie [Fri, 24 Sep 2010 06:36:16 +0000 (16:36 +1000)]
r600g: fixup sprite coord enable.

this fixes piglit glsl-fs-pointcoord

14 years agor600g: fix typo in r700 alu emit
Dave Airlie [Fri, 24 Sep 2010 06:10:07 +0000 (16:10 +1000)]
r600g: fix typo in r700 alu emit

14 years agor600g: fixup VP->FP output->input routing.
Dave Airlie [Fri, 24 Sep 2010 04:58:15 +0000 (14:58 +1000)]
r600g: fixup VP->FP output->input routing.

We need to map the TGSI semantics to each other using the hw semantic ids.

this fixes glsl-kwin-blur and glsl-routing.

14 years agor600g: fixup tex wrapping.
Dave Airlie [Fri, 24 Sep 2010 03:44:48 +0000 (13:44 +1000)]
r600g: fixup tex wrapping.

the clamp edge/clamp cases were reversed.

14 years agor600g: drop index_offset parameter to index buffer translate.
Dave Airlie [Fri, 24 Sep 2010 02:36:08 +0000 (12:36 +1000)]
r600g: drop index_offset parameter to index buffer translate.

r600 doesn't need this as we always have working index bias

14 years agor600g: fix draw-elements and draw-elements-base-vertex
Dave Airlie [Fri, 24 Sep 2010 02:32:45 +0000 (12:32 +1000)]
r600g: fix draw-elements and draw-elements-base-vertex

14 years agor600g: some more vertex formats
Dave Airlie [Fri, 24 Sep 2010 00:47:14 +0000 (10:47 +1000)]
r600g: some more vertex formats

14 years agor600g: add some more vertex format support.
Dave Airlie [Thu, 23 Sep 2010 23:50:48 +0000 (09:50 +1000)]
r600g: add some more vertex format support.

adds the sscaled formats, this passes some more of the draw-vertices tests.

14 years agor600g: add vert support for 16/16 and 16/16/16 floats.
Dave Airlie [Thu, 23 Sep 2010 10:45:01 +0000 (20:45 +1000)]
r600g: add vert support for 16/16 and 16/16/16 floats.

makes draw-vertices-half-float pass

14 years agoBuild r300g by default
Marek Olšák [Thu, 23 Sep 2010 19:50:43 +0000 (21:50 +0200)]
Build r300g by default

NOTE: This will go to 7.9 as well.

14 years agor300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8
Marek Olšák [Thu, 23 Sep 2010 20:56:50 +0000 (22:56 +0200)]
r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8

TX_BORDER_COLOR should be formatted according to the texture format.
Also the interaction with ARB_texture_swizzle should be fixed too.

NOTE: This is a candidate for the 7.9 branch.

14 years agor300g: fix a copy-paste typo for logging
Marek Olšák [Thu, 23 Sep 2010 20:53:10 +0000 (22:53 +0200)]
r300g: fix a copy-paste typo for logging

14 years agor300g: make accessing map_list and buffer_handles thread-safe
Marek Olšák [Thu, 23 Sep 2010 12:24:52 +0000 (14:24 +0200)]
r300g: make accessing map_list and buffer_handles thread-safe

NOTE: This is a candidate for the 7.9 branch.

14 years agor300g: fixup long-lived BO maps being incorrectly unmapped when flushing
Marek Olšák [Thu, 23 Sep 2010 11:59:42 +0000 (13:59 +0200)]
r300g: fixup long-lived BO maps being incorrectly unmapped when flushing

Based on commit 3ddc714b20ac4e28b80c6f88d1993445fff2262c by Dave Airlie.

NOTE: This is a candidate for the 7.9 branch.

14 years agoutil: make calling remove_from_list multiple times in a row safe
Marek Olšák [Thu, 23 Sep 2010 18:39:27 +0000 (20:39 +0200)]
util: make calling remove_from_list multiple times in a row safe

This commit fixes an infinite loop in foreach_s if remove_from_list is used
more than once on the same item with other list operations in between.

NOTE: This is a candidate for the 7.9 branch because the commit
"r300g: fixup long-lived BO maps being incorrectly unmapped when flushing"
depends on it.

14 years agoi915: Remove a dead if (0) block.
Eric Anholt [Thu, 23 Sep 2010 23:34:10 +0000 (16:34 -0700)]
i915: Remove a dead if (0) block.

14 years agointel: Remove dead intelIsTextureResident().
Eric Anholt [Thu, 23 Sep 2010 23:30:58 +0000 (16:30 -0700)]
intel: Remove dead intelIsTextureResident().

It always returned 1 (GL_TRUE), which is the same thing that happens when
the driver hook isn't present.

14 years agounichrome: Mostly revert my convolution removal changes.
Eric Anholt [Thu, 23 Sep 2010 23:19:18 +0000 (16:19 -0700)]
unichrome: Mostly revert my convolution removal changes.

For this driver, the minimum pitch alignment stuff does appear to be
necessary, so leave the separate munged width/height variable in
place.

14 years agoradeon: Remove copied minimum pitch alignment code.
Eric Anholt [Thu, 23 Sep 2010 23:13:50 +0000 (16:13 -0700)]
radeon: Remove copied minimum pitch alignment code.

This is already covered by radeon_mipmap_tree.c, and my convolution
cleanups broke in the presence of this code.  Thanks to Marek Olšák
for tracking down the relevant miptree code for me.

14 years agointel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.
Eric Anholt [Thu, 23 Sep 2010 22:12:21 +0000 (15:12 -0700)]
intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.

The meta code is more general than mine, and appears to pass the same
sets of tests (piglit + some oglconform).

14 years agointel: Remove unnecessary minimum pitch alignment to 32 bytes.
Eric Anholt [Thu, 23 Sep 2010 22:47:53 +0000 (15:47 -0700)]
intel: Remove unnecessary minimum pitch alignment to 32 bytes.

This broke with the cleanup I did in convolution removal.  It's
unnecessary anyway since region_alloc_tiled adjusts pitches for us (64
byte alignment)

14 years agor300g: Always try to build libr300compiler.a
Tom Stellard [Mon, 20 Sep 2010 05:44:19 +0000 (22:44 -0700)]
r300g: Always try to build libr300compiler.a

Make libr300compiler.a a PHONY target so that this library will always be
built.  This fixes the problem of libr300compiler.a not being updated
when r300g is being built and r300c is not.

This is a candidate for the Mesa 7.9 branch.

14 years agointel: Remove disabled stencil drawpixels acceleration.
Eric Anholt [Thu, 23 Sep 2010 21:57:25 +0000 (14:57 -0700)]
intel: Remove disabled stencil drawpixels acceleration.

We still retain the fallback override for GL_STENCIL_INDEX, because
the metaops version fails at oglconform.

14 years agor300g: fix point sprite coord.
Dave Airlie [Thu, 23 Sep 2010 21:45:45 +0000 (07:45 +1000)]
r300g: fix point sprite coord.

handled elsewhere now.

thanks to Droste on irc for pointing out the fix

14 years agor600g: initial evergreen support in new path
Jerome Glisse [Wed, 22 Sep 2010 21:37:30 +0000 (17:37 -0400)]
r600g: initial evergreen support in new path

This doesn't work yet.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: Destroy the blitter.
Tilman Sauerbeck [Thu, 23 Sep 2010 20:30:46 +0000 (22:30 +0200)]
r600g: Destroy the blitter.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
14 years agomesa: Remove EXT_convolution.
Eric Anholt [Fri, 10 Sep 2010 02:37:15 +0000 (19:37 -0700)]
mesa: Remove EXT_convolution.

More optional code.

14 years agomesa: Remove SGI_color_matrix.
Eric Anholt [Thu, 9 Sep 2010 23:58:48 +0000 (16:58 -0700)]
mesa: Remove SGI_color_matrix.

Another optional ARB_imaging subset extension.

14 years agomesa: Remove SGI_color_table.
Eric Anholt [Thu, 9 Sep 2010 23:25:17 +0000 (16:25 -0700)]
mesa: Remove SGI_color_table.

Another optional ARB_imaging subset extension.

14 years agomesa: Remove EXT_histogram.
Eric Anholt [Thu, 9 Sep 2010 23:10:22 +0000 (16:10 -0700)]
mesa: Remove EXT_histogram.

This has always been optional, and not useful.

14 years agomesa: Remove the non-required ARB_imaging extension.
Eric Anholt [Thu, 9 Sep 2010 22:53:55 +0000 (15:53 -0700)]
mesa: Remove the non-required ARB_imaging extension.

Many of the EXT_ extensions in the subset have significant code
overhead with no users.  It is not a required part of GL -- though
text describing the extension is part of the core spec since 1.2, it
is always conditional on the ARB_imaging extension.

14 years agod3d1x: obliterate IDL parameter names from d3d10.idl from Wine too
Luca Barbieri [Thu, 23 Sep 2010 14:29:29 +0000 (16:29 +0200)]
d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too

14 years agod3d1x: add autogenerated files as prerequisites, so make builds them
Luca Barbieri [Thu, 23 Sep 2010 14:21:14 +0000 (16:21 +0200)]
d3d1x: add autogenerated files as prerequisites, so make builds them

14 years agod3d1x: fix build without system EGL/egl.h
Luca Barbieri [Thu, 23 Sep 2010 14:18:52 +0000 (16:18 +0200)]
d3d1x: fix build without system EGL/egl.h

14 years agod3d1x: add missing guid.cpp
Luca Barbieri [Thu, 23 Sep 2010 14:17:36 +0000 (16:17 +0200)]
d3d1x: add missing guid.cpp

14 years agod3d1x: flush properly
Luca Barbieri [Thu, 23 Sep 2010 14:08:37 +0000 (16:08 +0200)]
d3d1x: flush properly

14 years agod3d1x: remove another include specstrings.h
Luca Barbieri [Thu, 23 Sep 2010 14:07:33 +0000 (16:07 +0200)]
d3d1x: remove another include specstrings.h

14 years agod3d1x: flush the pipe context when presenting
Luca Barbieri [Thu, 23 Sep 2010 14:02:58 +0000 (16:02 +0200)]
d3d1x: flush the pipe context when presenting

14 years agod3d1x: remove specstrings.h include
Luca Barbieri [Thu, 23 Sep 2010 14:02:45 +0000 (16:02 +0200)]
d3d1x: remove specstrings.h include

14 years agod3d11: obliterate IDL parameter names
Luca Barbieri [Thu, 23 Sep 2010 13:45:13 +0000 (15:45 +0200)]
d3d11: obliterate IDL parameter names

14 years agod3d1x: rename parameters in dxgi
Luca Barbieri [Thu, 23 Sep 2010 13:38:33 +0000 (15:38 +0200)]
d3d1x: rename parameters in dxgi

14 years agod3d1x: rename params in misc and objects
Luca Barbieri [Thu, 23 Sep 2010 13:22:54 +0000 (15:22 +0200)]
d3d1x: rename params in misc and objects

14 years agod3d11: rename screen params
Luca Barbieri [Thu, 23 Sep 2010 13:02:59 +0000 (15:02 +0200)]
d3d11: rename screen params

14 years agod3d1x: rename context params
Luca Barbieri [Thu, 23 Sep 2010 12:22:10 +0000 (14:22 +0200)]
d3d1x: rename context params

14 years agod3d1x: minifix
Luca Barbieri [Thu, 23 Sep 2010 11:55:36 +0000 (13:55 +0200)]
d3d1x: minifix

14 years agod3d1x: remove specstrings
Luca Barbieri [Thu, 23 Sep 2010 11:52:34 +0000 (13:52 +0200)]
d3d1x: remove specstrings

14 years agod3d1x: normalize whitespace
Luca Barbieri [Thu, 23 Sep 2010 11:44:22 +0000 (13:44 +0200)]
d3d1x: normalize whitespace

14 years agod3d1x: s/tpf/sm4/g
Luca Barbieri [Thu, 23 Sep 2010 11:31:30 +0000 (13:31 +0200)]
d3d1x: s/tpf/sm4/g

14 years agod3d1x: autogenerate shader enums and text from def files
Luca Barbieri [Thu, 23 Sep 2010 11:17:45 +0000 (13:17 +0200)]
d3d1x: autogenerate shader enums and text from def files

This avoids the duplication in tpf.h and tpf_text.cpp

14 years agod3d1x: initialize the mutex
Luca Barbieri [Thu, 23 Sep 2010 09:58:09 +0000 (11:58 +0200)]
d3d1x: initialize the mutex

14 years agodraw: Prevent clipped vertices overflow.
José Fonseca [Thu, 26 Aug 2010 14:30:51 +0000 (15:30 +0100)]
draw: Prevent clipped vertices overflow.

Some pathological triangles cause a theoritically impossible number of
clipped vertices.

The clipper will still assert, but at least release builds will not
crash, while this problem is further investigated.

14 years agodraw: don't apply flatshading to clipped tris with <3 verts
Keith Whitwell [Thu, 23 Sep 2010 15:11:17 +0000 (16:11 +0100)]
draw: don't apply flatshading to clipped tris with <3 verts

If a triangle was completely culled by clipping, we would still try to
fix up its provoking vertex.

14 years agod3d1x: bind NULL CSOs before destroying default CSOs on context dtor
Luca Barbieri [Thu, 23 Sep 2010 01:49:17 +0000 (03:49 +0200)]
d3d1x: bind NULL CSOs before destroying default CSOs on context dtor

Otherwise softpipe and llvmpipe assert.

14 years agod3d1x: fix deadlocks on non-recursive mutex
Luca Barbieri [Thu, 23 Sep 2010 01:35:50 +0000 (03:35 +0200)]
d3d1x: fix deadlocks on non-recursive mutex

14 years agoegl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e
Dave Airlie [Thu, 23 Sep 2010 06:12:23 +0000 (16:12 +1000)]
egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e

looks like mesa st didn't get updated.

14 years agor600g: fix warnings since last commit.
Dave Airlie [Thu, 23 Sep 2010 06:02:54 +0000 (16:02 +1000)]
r600g: fix warnings since last commit.

14 years agor600g: use blitter to do db->cb flushing.
Dave Airlie [Thu, 23 Sep 2010 03:34:36 +0000 (13:34 +1000)]
r600g: use blitter to do db->cb flushing.

use the blitter + custom stage to avoid doing a whole lot of state
setup by hand. This makes life a lot easier for doing this on evergreen
it also keeps all the state setup in one place.

We setup a custom context state at the start with a flag to denote
its for the flush, when it gets generated we generate the correct state
for the flush and no longer have to do it all by hand.

this should also make adding texture *to* depth easier.

14 years agou_blitter: add a custom blitter call passing a dsa cso
Dave Airlie [Thu, 23 Sep 2010 04:18:22 +0000 (14:18 +1000)]
u_blitter: add a custom blitter call passing a dsa cso

reimplement the flush stage added for r300 to allow a custom DSA stage
to be used in the pipeline, this allows for r600 hw DB->CB flushes.

14 years agod3d1x: properly reference count the backend
Luca Barbieri [Thu, 23 Sep 2010 01:10:50 +0000 (03:10 +0200)]
d3d1x: properly reference count the backend

14 years agodri: Pass the __DRIscreen and the __DRIscreen private back to image lookup
Kristian Høgsberg [Thu, 23 Sep 2010 02:01:17 +0000 (22:01 -0400)]
dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup

We will typically have a current context when we need to lookup the image,
but the lookup implementation don't need it so drop it.

14 years agorbug: fix rbug when contexts are being destroyed
Zack Rusin [Thu, 23 Sep 2010 00:40:44 +0000 (20:40 -0400)]
rbug: fix rbug when contexts are being destroyed

14 years agor600g: fix typo in evergreen register list
Dave Airlie [Thu, 23 Sep 2010 00:30:35 +0000 (10:30 +1000)]
r600g: fix typo in evergreen register list

pointed out by glisse on irc.

14 years agor600g: fix depth readback on rv610 and other quirky variants.
Dave Airlie [Thu, 23 Sep 2010 00:20:56 +0000 (10:20 +1000)]
r600g: fix depth readback on rv610 and other quirky variants.

at least zreaddraw works for me here now on my rv610

14 years agor600g: use floats instead of hex for blit vbo
Dave Airlie [Thu, 23 Sep 2010 00:01:08 +0000 (10:01 +1000)]
r600g: use floats instead of hex for blit vbo

once I go past 0x3f80000, I can't translate hex to float in-brain anymore.

14 years agoi965: Warning fix for vector result any_nequal/all_equal change.
Eric Anholt [Wed, 22 Sep 2010 21:58:29 +0000 (14:58 -0700)]
i965: Warning fix for vector result any_nequal/all_equal change.

14 years agoi965: Update expression splitting for the vector-result change to compares.
Eric Anholt [Wed, 22 Sep 2010 21:52:38 +0000 (14:52 -0700)]
i965: Update expression splitting for the vector-result change to compares.

Fixes:
glsl1-precision exp2
glsl1-precision log2

14 years agoi965: When splitting vector variable assignment, ignore unset channels.
Eric Anholt [Wed, 22 Sep 2010 21:40:40 +0000 (14:40 -0700)]
i965: When splitting vector variable assignment, ignore unset channels.

The new checks for sanity in ir_assignment creation got angry about
this write_mask == 0.  Fixes:
glsl-fs-dot-vec2.
glsl-fs-atan-2
glsl-fs-dot-vec2

14 years agoglx: Invalidate buffers after binding a drawable
Kristian Høgsberg [Wed, 22 Sep 2010 21:34:00 +0000 (17:34 -0400)]
glx: Invalidate buffers after binding a drawable

If the server doesn't send invalidate events, we may miss a
resize before the rendering starts.  Invalidate the buffers now
so the driver will recheck before rendering starts.

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

14 years agoi965: Fix the vector/expression splitting for the write_mask change.
Eric Anholt [Wed, 22 Sep 2010 21:14:30 +0000 (14:14 -0700)]
i965: Fix the vector/expression splitting for the write_mask change.

+113 piglits.

14 years agotgsi: Fix missing test before check
Jakob Bornecrantz [Wed, 22 Sep 2010 20:29:15 +0000 (22:29 +0200)]
tgsi: Fix missing test before check

As introduced with commit d21301675c249602e19310d5b62fad424f2f2ac2

NOTE: This is a candidate for the 7.9 branch.

14 years agoir_to_mesa: Only compare vector_elements present for any_nequal/all_equal
Eric Anholt [Wed, 22 Sep 2010 20:07:57 +0000 (13:07 -0700)]
ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal

Fixes: glsl-mat-from-int-ctor-03
14 years agoglsl: Fix copy'n'wasted ir_noop_swizzle conditions.
Eric Anholt [Wed, 22 Sep 2010 18:43:58 +0000 (11:43 -0700)]
glsl: Fix copy'n'wasted ir_noop_swizzle conditions.

It considered .xyyy a noop for vec4 instead of .xyzw, and similar for vec3.

14 years agoglsl: Rework assignments with write_masks to have LHS chan count match RHS.
Eric Anholt [Wed, 22 Sep 2010 18:47:03 +0000 (11:47 -0700)]
glsl: Rework assignments with write_masks to have LHS chan count match RHS.

It turns out that most people new to this IR are surprised when an
assignment to (say) 3 components on the LHS takes 4 components on the
RHS.  It also makes for quite strange IR output:

(assign (constant bool (1)) (x) (var_ref color) (swiz x (var_ref v) ))
(assign (constant bool (1)) (y) (var_ref color) (swiz yy (var_ref v) ))
(assign (constant bool (1)) (z) (var_ref color) (swiz zzz (var_ref v) ))

But even worse, even we get it wrong, as shown by this line of our
current step(float, vec4):

(assign (constant bool (1)) (w)
(var_ref t)
(expression float b2f (expression bool >=
    (swiz w (var_ref x))(var_ref edge))))

where we try to assign a float to the writemasked-out x channel and
don't supply anything for the actual w channel we're writing.  Drivers
right now just get lucky since ir_to_mesa spams the float value across
all the source channels of a vec4.

Instead, the RHS will now have a number of components equal to the
number of components actually being written.  Hopefully this confuses
everyone less, and it also makes codegen for a scalar target simpler.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
14 years agod3d1x: add Wine dlls (tri, tex working, but no other testing)
Luca Barbieri [Wed, 22 Sep 2010 17:33:54 +0000 (19:33 +0200)]
d3d1x: add Wine dlls (tri, tex working, but no other testing)

14 years agod3d1x: define GUIDs in the normal way
Luca Barbieri [Wed, 22 Sep 2010 17:31:54 +0000 (19:31 +0200)]
d3d1x: define GUIDs in the normal way

14 years agod3d1x: fix API name
Luca Barbieri [Wed, 22 Sep 2010 17:31:34 +0000 (19:31 +0200)]
d3d1x: fix API name

14 years agod3d1x: redesign the HWND resolver interface
Luca Barbieri [Wed, 22 Sep 2010 11:51:53 +0000 (13:51 +0200)]
d3d1x: redesign the HWND resolver interface

This one should be powerful enough to hook up Wine.