mesa.git
14 years agor300/compiler: Add more helper functions for iterating through sources
Tom Stellard [Fri, 24 Sep 2010 04:15:06 +0000 (21:15 -0700)]
r300/compiler: Add more helper functions for iterating through sources

rc_for_all_reads_src() and rc_pair_for_all_reads_arg() pass references to
instruction sources to the callback so they can be modified directly.

14 years agor600g: fix db flush breaking config state
Dave Airlie [Tue, 28 Sep 2010 04:27:22 +0000 (14:27 +1000)]
r600g: fix db flush breaking config state

14 years agor300g: fix swizzling of texture border color
Marek Olšák [Tue, 28 Sep 2010 03:07:23 +0000 (05:07 +0200)]
r300g: fix swizzling of texture border color

NOTE: This is a candidate for the 7.9 branch.

14 years agor300g: add support for 3D NPOT textures without mipmapping
Marek Olšák [Sun, 29 Aug 2010 01:48:42 +0000 (03:48 +0200)]
r300g: add support for 3D NPOT textures without mipmapping

The driver actually creates a 3D texture aligned to POT and does all
the magic with texture coordinates in the fragment shader. It first
emulates REPEAT and MIRRORED wrap modes in the fragment shader to get
the coordinates into the range [0, 1]. (already done for 2D NPOT)
Then it scales them to get the coordinates of the NPOT subtexture.

NPOT textures are now less of a lie and we can at least display
something meaningful even for the 3D ones.

Supported wrap modes:
- REPEAT
- MIRRORED_REPEAT
- CLAMP_TO_EDGE (NEAREST filtering only)
- MIRROR_CLAMP_TO_EDGE (NEAREST filtering only)
- The behavior of other CLAMP modes is undefined on borders, but they usually
  give results very close to CLAMP_TO_EDGE with mirroring working perfectly.

This fixes:
- piglit/fbo-3d
- piglit/tex3d-npot

14 years agor300/compiler: fix shadow sampling with swizzled coords
Marek Olšák [Tue, 28 Sep 2010 01:58:23 +0000 (03:58 +0200)]
r300/compiler: fix shadow sampling with swizzled coords

Taking the W component from coords directly ignores swizzling. Instead,
take the component which is mapped to W in the TEX instruction parameter.
The same for Z.

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: do not use copy propagation if SaturateMode is used
Marek Olšák [Tue, 28 Sep 2010 02:30:32 +0000 (04:30 +0200)]
r300/compiler: do not use copy propagation if SaturateMode is used

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: fix projective mapping of 2D NPOT textures
Marek Olšák [Tue, 28 Sep 2010 00:28:25 +0000 (02:28 +0200)]
r300/compiler: fix projective mapping of 2D NPOT textures

NOTE: This is a candidate for the 7.9 branch.

14 years agor300g: code cleanups
Marek Olšák [Tue, 28 Sep 2010 00:20:26 +0000 (02:20 +0200)]
r300g: code cleanups

Some random stuff I had here.

1) Fixed some misleading comments.
2) Removed fake_npot, since it's redundant.
3) lower_texture_rect -> scale_texcoords
4) Reordered and reindented some TEX transform code.

14 years agoi965: Add support for dFdx()/dFdy() to the FS backend.
Eric Anholt [Tue, 28 Sep 2010 01:31:53 +0000 (18:31 -0700)]
i965: Add support for dFdx()/dFdy() to the FS backend.

Fixes:
glsl-fwidth
glsl-derivs-swizzle

14 years agoi965: Fix vector splitting RHS channel selection with sparse writemasks.
Eric Anholt [Tue, 28 Sep 2010 01:29:15 +0000 (18:29 -0700)]
i965: Fix vector splitting RHS channel selection with sparse writemasks.

Fixes:
glsl-fs-all-02
glsl-fs-dot-vec2

14 years agoi965: Handle all_equal/any_nequal in the new FS.
Eric Anholt [Mon, 27 Sep 2010 23:11:18 +0000 (16:11 -0700)]
i965: Handle all_equal/any_nequal in the new FS.

These are generated for scalar operands instead of plain equal/nequal.
But for scalars, they're the same anyway.  +30 piglits.

14 years agoi965: Remove swizzling of assignment to vector-splitting single-channel LHS.
Eric Anholt [Mon, 27 Sep 2010 22:10:34 +0000 (15:10 -0700)]
i965: Remove swizzling of assignment to vector-splitting single-channel LHS.

We'd end up reading some non-x component of the float RHS.  +53 piglits.

14 years agoi965: Fix up writemasked assignments in the new FS.
Eric Anholt [Mon, 27 Sep 2010 21:38:51 +0000 (14:38 -0700)]
i965: Fix up writemasked assignments in the new FS.

Not sure how I managed to get tests to succeed without this.  +54 piglits.

14 years agoglsl: Add validation that a swizzle only references valid channels.
Eric Anholt [Mon, 27 Sep 2010 22:48:15 +0000 (15:48 -0700)]
glsl: Add validation that a swizzle only references valid channels.

Caught the bug in the previous commit.

14 years agoglsl: Fix broadcast_index of lower_variable_index_to_cond_assign.
Eric Anholt [Mon, 27 Sep 2010 22:46:51 +0000 (15:46 -0700)]
glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.

It's trying to get an int smeared across all channels, not trying to
get a 1:1 mapping of a subset of a vector's channels.  This usually
ended up not mattering with ir_to_mesa, since it just smears floats
into every chan of a vec4.

Fixes:
glsl1-temp array with swizzled variable indexing

14 years agoRemove unnescessary initializations of UpdateTexturePalette
Ian Romanick [Mon, 20 Sep 2010 13:41:39 +0000 (15:41 +0200)]
Remove unnescessary initializations of UpdateTexturePalette

This is already NULL'ed in _mesa_init_driver_functions.

14 years agoRegenerate files changed by previous commit
Ian Romanick [Sat, 18 Sep 2010 14:43:08 +0000 (16:43 +0200)]
Regenerate files changed by previous commit

14 years agoRemove GL_EXT_cull_vertex
Ian Romanick [Sat, 18 Sep 2010 14:41:44 +0000 (16:41 +0200)]
Remove GL_EXT_cull_vertex

This is only used in the i915 driver where it provides little benefit
for very few applications that use it with fixed function TNL.

14 years agoRemove GL_MESA_packed_depth_stencil
Ian Romanick [Sat, 18 Sep 2010 14:21:00 +0000 (16:21 +0200)]
Remove GL_MESA_packed_depth_stencil

This extension was never enabled in any driver.

14 years agomesa: Force GL_SGIS_generate_mipmap to always be enabled
Ian Romanick [Mon, 27 Sep 2010 21:55:52 +0000 (14:55 -0700)]
mesa: Force GL_SGIS_generate_mipmap to always be enabled

As per discussions at XDS.

14 years agomesa: Force GL_ARB_copy_buffer to always be enabled
Ian Romanick [Mon, 27 Sep 2010 21:29:12 +0000 (14:29 -0700)]
mesa: Force GL_ARB_copy_buffer to always be enabled

As per discussions at XDS.

14 years agod3d1x: work around crash in widl
Luca Barbieri [Mon, 27 Sep 2010 22:16:22 +0000 (00:16 +0200)]
d3d1x: work around crash in widl

14 years agod3d11: fix reference counting so devices get freed
Luca Barbieri [Mon, 27 Sep 2010 20:52:34 +0000 (22:52 +0200)]
d3d11: fix reference counting so devices get freed

14 years agodri: Ensure that DRI driver cpp files are in tarballs
Ian Romanick [Mon, 27 Sep 2010 21:11:07 +0000 (14:11 -0700)]
dri: Ensure that DRI driver cpp files are in tarballs

14 years agosoftpipe: fix swizzling of texture border color
Brian Paul [Mon, 27 Sep 2010 21:05:29 +0000 (15:05 -0600)]
softpipe: fix swizzling of texture border color

We ask the texture tile cache to swizzle the color for us since that's
where the view/swizzling info is available.

14 years agollvmpipe: fix swizzling of texture border color
Brian Paul [Mon, 27 Sep 2010 21:00:22 +0000 (15:00 -0600)]
llvmpipe: fix swizzling of texture border color

The pipe_sampler_view's swizzle terms also apply to the texture border
color.  Simply move the apply_sampler_swizzle() call after we fetch
the border color.

Fixes many piglit texwrap failures.

14 years agor600g: fix occlusion query after change to block structure
Jerome Glisse [Mon, 27 Sep 2010 21:00:07 +0000 (17:00 -0400)]
r600g: fix occlusion query after change to block structure

block->reg point to register value not block->pm4 which point
to packet.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agosoftpipe: allocate tile data on demand
Brian Paul [Mon, 27 Sep 2010 20:30:56 +0000 (14:30 -0600)]
softpipe: allocate tile data on demand

Changes in v2:
- Invalidate last_tile_addr on any change, fixing regressions
- Correct coding style

Currently softpipe ends up allocating more than 200 MB of memory
for each context due to the tile caches.

Even worse, this memory is all explicitly cleared, which means that the
kernel must actually back it with physical RAM right away.

This change allocates tile memory on demand.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agod3d1x: fix Map
Luca Barbieri [Mon, 27 Sep 2010 19:40:13 +0000 (21:40 +0200)]
d3d1x: fix Map

14 years agod3d1x: rework DXGI for occlusion testing and default width/height
Luca Barbieri [Mon, 27 Sep 2010 18:25:17 +0000 (20:25 +0200)]
d3d1x: rework DXGI for occlusion testing and default width/height

14 years agod3d1x: put proper calling convention in headers, fixes 64-bit builds
Luca Barbieri [Mon, 27 Sep 2010 17:30:34 +0000 (19:30 +0200)]
d3d1x: put proper calling convention in headers, fixes 64-bit builds

14 years agod3d1x: properly support specifying MipLevels as 0
Luca Barbieri [Mon, 27 Sep 2010 16:25:41 +0000 (18:25 +0200)]
d3d1x: properly support specifying MipLevels as 0

14 years agod3d1x: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 16:08:58 +0000 (18:08 +0200)]
d3d1x: support centroid interpolation

14 years agoureg: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 16:07:45 +0000 (18:07 +0200)]
ureg: support centroid interpolation

14 years agod3d1x: link to libdrm for X11 platform too
Luca Barbieri [Mon, 27 Sep 2010 14:15:44 +0000 (16:15 +0200)]
d3d1x: link to libdrm for X11 platform too

Thanks to Xavier Chantry.

14 years agod3d11: ignore StructureByteStride
Luca Barbieri [Mon, 27 Sep 2010 13:40:41 +0000 (15:40 +0200)]
d3d11: ignore StructureByteStride

D3D11 applications are allowed to pass a random value if the buffer
is not structured

14 years agod3d11: advertise IDXGIDevice1, not just IDXGIDevice
Luca Barbieri [Mon, 27 Sep 2010 13:34:26 +0000 (15:34 +0200)]
d3d11: advertise IDXGIDevice1, not just IDXGIDevice

Fixes failure to create device in DirectX SDK samples.

14 years agoscons: Add MinGW-w64 prefixes for MinGW build.
Vinson Lee [Mon, 27 Sep 2010 20:13:25 +0000 (13:13 -0700)]
scons: Add MinGW-w64 prefixes for MinGW build.

14 years agor600g: fix routing btw vertex & pixel shader
Jerome Glisse [Mon, 27 Sep 2010 19:13:14 +0000 (15:13 -0400)]
r600g: fix routing btw vertex & pixel shader

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: fix pointsprite & resource unbinding
Jerome Glisse [Mon, 27 Sep 2010 18:58:01 +0000 (14:58 -0400)]
r600g: fix pointsprite & resource unbinding

When asking to bind NULL resource assume it's unbinding
so free resource and unreference assoicated buffer.
Also fix pointsprite parameter.

Fix glsl-fs-pointcoord & fp-fragment-position

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: build packet header once
Jerome Glisse [Mon, 27 Sep 2010 15:53:34 +0000 (11:53 -0400)]
r600g: build packet header once

Build packet header once and allow to add fake register support so
we can handle things like indexed set of register (evergreen sampler
border registers for instance.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: fix index buffer drawing
Jerome Glisse [Mon, 27 Sep 2010 13:01:55 +0000 (09:01 -0400)]
r600g: fix index buffer drawing

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agod3d1x: link progs with CXXFLAGS
Luca Barbieri [Mon, 27 Sep 2010 12:26:12 +0000 (14:26 +0200)]
d3d1x: link progs with CXXFLAGS

14 years agod3d1x: fix progs linking if not all EGL platforms are enabled
Luca Barbieri [Mon, 27 Sep 2010 12:23:33 +0000 (14:23 +0200)]
d3d1x: fix progs linking if not all EGL platforms are enabled

14 years agod3d1x: add private gitignore file
Luca Barbieri [Mon, 27 Sep 2010 12:16:31 +0000 (14:16 +0200)]
d3d1x: add private gitignore file

14 years agod3d1x: fix parallel build
Luca Barbieri [Mon, 27 Sep 2010 12:07:34 +0000 (14:07 +0200)]
d3d1x: fix parallel build

14 years agogallium: add $(PROGS_DEPS) as dependencies for $(PROGS)
Luca Barbieri [Mon, 27 Sep 2010 12:04:39 +0000 (14:04 +0200)]
gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)

Commit 80ee3a440cd3c0403004cf35e0638fc52088b9ff added a PROGS_DEPS
definition, but no uses, even though it seems clearly intended
to be a set of additional dependencies for $(PROGS).

Correct this.

14 years agomesa: make makedepend an hard requirement
Luca Barbieri [Fri, 24 Sep 2010 08:10:09 +0000 (10:10 +0200)]
mesa: make makedepend an hard requirement

Currently makedepend is used by the Mesa Makefile-based build system,
but not required.

Unfortunately, not having it makes dependency resolution non-existent,
which is a source of subtle bugs, and is a rarely tested
configuration, since all Mesa developers likely have it installed.

Furthermore some idioms require dependency resolution to work at all,
such as making headers depend on generated files.

14 years agor600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().
Tilman Sauerbeck [Mon, 27 Sep 2010 06:32:50 +0000 (08:32 +0200)]
r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
14 years agor600g: add evergreen texture resource properly.
Dave Airlie [Mon, 27 Sep 2010 04:35:41 +0000 (14:35 +1000)]
r600g: add evergreen texture resource properly.

adding sampler border looks impossible with current design, another day, another corner case not worked out.

14 years agor600g: Silence uninitialized variable warnings.
Vinson Lee [Sun, 26 Sep 2010 21:34:05 +0000 (14:34 -0700)]
r600g: Silence uninitialized variable warnings.

Fixes these GCC warnings.
r600_shader.c: In function 'tgsi_tex':
r600_shader.c:1611: warning: 'src2_chan' may be used uninitialized in this function
r600_shader.c:1611: warning: 'src_chan' may be used uninitialized in this function

14 years agor300g: fix macrotiling on R350
Marek Olšák [Sat, 25 Sep 2010 12:57:32 +0000 (14:57 +0200)]
r300g: fix macrotiling on R350

MACRO_SWITCH on R350 appears to use the RV350 mode by default. Who knew?

NOTE: This is a candidate for the 7.9 branch.

14 years agor600g: use depth decompression in new path
Jerome Glisse [Sun, 26 Sep 2010 20:27:36 +0000 (16:27 -0400)]
r600g: use depth decompression in new path

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: move around variables to share depth uncompression code
Jerome Glisse [Sun, 26 Sep 2010 20:25:47 +0000 (16:25 -0400)]
r600g: move around variables to share depth uncompression code

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoradeong: fix leaks
Joakim Sindholt [Sun, 26 Sep 2010 17:39:05 +0000 (19:39 +0200)]
radeong: fix leaks

14 years agoutil/u_blitter: fix leak
Joakim Sindholt [Sun, 26 Sep 2010 17:03:02 +0000 (19:03 +0200)]
util/u_blitter: fix leak

14 years agor600g: set ENABLE_KILL on evergreen too
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:42 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL on evergreen too

14 years agor600g: set ENABLE_KILL in the shader state in the new design
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:40 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL in the shader state in the new design

14 years agor600g: disable early cull optimization when occlusion query running
Jerome Glisse [Sun, 26 Sep 2010 16:06:46 +0000 (12:06 -0400)]
r600g: disable early cull optimization when occlusion query running

When occlusion query are running we want to have accurate
fragment count thus disable any early culling optimization
GPU has.

Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: Include p_compiler.h instead of malloc.h.
Vinson Lee [Sun, 26 Sep 2010 10:23:31 +0000 (03:23 -0700)]
r600g: Include p_compiler.h instead of malloc.h.

14 years agor600g: Remove unused variables.
Vinson Lee [Sun, 26 Sep 2010 10:18:12 +0000 (03:18 -0700)]
r600g: Remove unused variables.

Fixes these GCC warnings.
radeon.c: In function 'radeon_new':
radeon.c:59: warning: unused variable 'k'
radeon.c:59: warning: unused variable 'j'
radeon.c:59: warning: unused variable 'id'
radeon.c:59: warning: unused variable 'i'

14 years agor600g: Don't return a value in function returning void.
Vinson Lee [Sun, 26 Sep 2010 10:10:58 +0000 (03:10 -0700)]
r600g: Don't return a value in function returning void.

Fixes this GCC warning.
radeon_state.c: In function 'radeon_state_fini':
radeon_state.c:140: warning: 'return' with a value, in function returning void

14 years agor300g: Remove unused variable.
Vinson Lee [Sun, 26 Sep 2010 10:08:14 +0000 (03:08 -0700)]
r300g: Remove unused variable.

Fixes this GCC warning.
r300_state.c: In function 'r300_create_rs_state':
r300_state.c:925: warning: unused variable 'i'

14 years agor300g: fix glsl-fs-pointcoord
Dave Airlie [Sun, 26 Sep 2010 07:38:11 +0000 (17:38 +1000)]
r300g: fix glsl-fs-pointcoord

Move GB_ENABLE to derived rs state, and find sprite coord for the correct
generic and enable the tex coord for that generic.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agor600g: Remove unused variable.
Vinson Lee [Sat, 25 Sep 2010 22:19:29 +0000 (15:19 -0700)]
r600g: Remove unused variable.

Fixes this GCC warning.
radeon_bo_pb.c: In function 'radeon_bo_pb_create_buffer':
radeon_bo_pb.c:178: warning: unused variable 'domain'

14 years agor300/compiler: Fix two mistakes in the presubtract optimization pass.
Tom Stellard [Sat, 25 Sep 2010 05:14:43 +0000 (22:14 -0700)]
r300/compiler: Fix two mistakes in the presubtract optimization pass.

1. We can't turn an instruction into a presubtract operation if it
writes to one of the registers it reads from.
2. If we turn an instruction into a presubtract operation, we can't
remove that intruction unless all readers can use the presubtract
operation.

This fixes fdo bug 30337.
This is a candidate for the 7.9 branch.

14 years agosoftpipe: minor asst. clean-ups
Brian Paul [Sat, 25 Sep 2010 20:19:18 +0000 (14:19 -0600)]
softpipe: minor asst. clean-ups

14 years agosoftpipe: make clip state functions static
Brian Paul [Sat, 25 Sep 2010 20:15:11 +0000 (14:15 -0600)]
softpipe: make clip state functions static

14 years agosoftpipe: make stream out state functions static
Brian Paul [Sat, 25 Sep 2010 20:12:12 +0000 (14:12 -0600)]
softpipe: make stream out state functions static

14 years agosoftpipe: make rasterizer state functions static
Brian Paul [Sat, 25 Sep 2010 20:08:49 +0000 (14:08 -0600)]
softpipe: make rasterizer state functions static

14 years agosoftpipe: make vertex state functions static
Brian Paul [Sat, 25 Sep 2010 20:06:58 +0000 (14:06 -0600)]
softpipe: make vertex state functions static

14 years agosoftpipe: make sampler state functions static
Brian Paul [Sat, 25 Sep 2010 20:02:38 +0000 (14:02 -0600)]
softpipe: make sampler state functions static

14 years agosoftpipe: make blend/stencil/depth functions static
Brian Paul [Sat, 25 Sep 2010 19:58:41 +0000 (13:58 -0600)]
softpipe: make blend/stencil/depth functions static

14 years agosoftpipe: make shader-related functions static
Brian Paul [Sat, 25 Sep 2010 19:54:24 +0000 (13:54 -0600)]
softpipe: make shader-related functions static

14 years agosoftpipe: rename sp_state_fs.c -> sp_state_shader.c
Brian Paul [Sat, 25 Sep 2010 19:50:30 +0000 (13:50 -0600)]
softpipe: rename sp_state_fs.c -> sp_state_shader.c

14 years agost/dri: Remove unnecessary header.
Vinson Lee [Sat, 25 Sep 2010 19:38:29 +0000 (12:38 -0700)]
st/dri: Remove unnecessary header.

14 years agoswrast: update comments for REMAINDER() macro
Brian Paul [Sat, 25 Sep 2010 19:10:26 +0000 (13:10 -0600)]
swrast: update comments for REMAINDER() macro

14 years agogallivm: fix repeat() function for NPOT textures
Brian Paul [Sat, 25 Sep 2010 19:09:25 +0000 (13:09 -0600)]
gallivm: fix repeat() function for NPOT textures

The trick of casting the coord to an unsigned value only works for POT
textures.  Add a bias instead.  This fixes a few piglit texwrap failures.

14 years agosoftpipe: fix repeat() function for NPOT textures
Brian Paul [Sat, 25 Sep 2010 19:06:31 +0000 (13:06 -0600)]
softpipe: fix repeat() function for NPOT textures

The trick of casting the coord to an unsigned value only works for POT
textures.  Add a bias instead.  This fixes a few piglit texwrap failures.

14 years agointel: Remove unnecessary header.
Vinson Lee [Sat, 25 Sep 2010 19:33:28 +0000 (12:33 -0700)]
intel: Remove unnecessary header.

14 years agor600g: Disable unused variables.
Vinson Lee [Sat, 25 Sep 2010 19:28:47 +0000 (12:28 -0700)]
r600g: Disable unused variables.

The variables are used only in currently disabled code.

Fixes this GCC warning.
r600_context.c: In function 'r600_flush':
r600_context.c:76: warning: unused variable 'dname'
r600_context.c:75: warning: unused variable 'dc'

14 years agor600g: Remove unused variable.
Vinson Lee [Sat, 25 Sep 2010 19:25:44 +0000 (12:25 -0700)]
r600g: Remove unused variable.

Fixes this GCC warning.
r600_draw.c: In function 'r600_draw_common':
r600_draw.c:71: warning: unused variable 'format'

14 years agor600g: Remove unused variable.
Vinson Lee [Sat, 25 Sep 2010 19:21:10 +0000 (12:21 -0700)]
r600g: Remove unused variable.

Fixes this GCC warning.
r600_screen.c: In function 'r600_screen_create':
r600_screen.c:239: warning: unused variable 'family'

14 years agonv50: fix/handle a few more PIPE_CAPs
Christoph Bumiller [Sat, 25 Sep 2010 17:34:23 +0000 (19:34 +0200)]
nv50: fix/handle a few more PIPE_CAPs

14 years agonv50: use CLEAR_BUFFERS for surface fills
Christoph Bumiller [Fri, 24 Sep 2010 20:46:51 +0000 (22:46 +0200)]
nv50: use CLEAR_BUFFERS for surface fills

The 2D engine's fill doesn't seem suited for RGBA32F or ZS buffers.

14 years agonv50: use formats table in nv50_surface.c
Christoph Bumiller [Fri, 24 Sep 2010 18:33:10 +0000 (20:33 +0200)]
nv50: use formats table in nv50_surface.c

14 years agor600g: fix vertex resource & polygon offset
Jerome Glisse [Sat, 25 Sep 2010 01:34:56 +0000 (21:34 -0400)]
r600g: fix vertex resource & polygon offset

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: add eg db count control register.
Dave Airlie [Sat, 25 Sep 2010 10:23:44 +0000 (20:23 +1000)]
r600g: add eg db count control register.

14 years agor600g: make index bias fix for evergreen
Dave Airlie [Sat, 25 Sep 2010 09:23:05 +0000 (19:23 +1000)]
r600g: make index bias fix for evergreen

14 years agogallivm: Remove dead experimental code.
José Fonseca [Sat, 25 Sep 2010 11:40:01 +0000 (12:40 +0100)]
gallivm: Remove dead experimental code.

14 years agollvmpipe: handle up to 8 planes in triangle binner
Keith Whitwell [Fri, 24 Sep 2010 10:18:38 +0000 (11:18 +0100)]
llvmpipe: handle up to 8 planes in triangle binner

14 years agollvmpipe: handle FACING interpolants in line and point setup
Keith Whitwell [Fri, 24 Sep 2010 09:30:52 +0000 (10:30 +0100)]
llvmpipe: handle FACING interpolants in line and point setup

14 years agogallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
José Fonseca [Sat, 25 Sep 2010 11:13:45 +0000 (12:13 +0100)]
gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.

14 years agodraw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state
José Fonseca [Sat, 25 Sep 2010 10:41:30 +0000 (11:41 +0100)]
draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state

14 years agogallivm: optimize yuv decoding
Roland Scheidegger [Fri, 24 Sep 2010 13:17:07 +0000 (15:17 +0200)]
gallivm: optimize yuv decoding

this is more a proof to show vector shifts on x86 with per-element shift count
are evil. Since we can avoid the shift with a single compare/select, use that
instead. Replaces more than 20 instructions (and slow ones at that) with about 3,
and cuts compiled shader size with mesa's yuvsqure demo by over 10%
(no performance measurements done - but selection is blazing fast).
Might want to revisit that for future cpus - unfortunately AVX won't have vector
shifts neither, but AMD's XOP will, but even in that case using selection here
is probably not slower.

14 years agogallivm: don't use URem/UDiv when calculating offsets for blocks
Roland Scheidegger [Fri, 24 Sep 2010 13:02:24 +0000 (15:02 +0200)]
gallivm: don't use URem/UDiv when calculating offsets for blocks

While it's true that llvm can and will indeed replace this with bit
arithmetic (since block height/width is POT), it does so (llvm 2.7) by element
and hence extracts/shifts/reinserts each element individually.
This costs about 16 instructions (and extract is not really fast) vs. 1...

14 years agogallivm: fix copy&paste bug
Roland Scheidegger [Wed, 22 Sep 2010 15:59:00 +0000 (17:59 +0200)]
gallivm: fix copy&paste bug

looks like pot_depth should be used, not pot_height
(found by accident, not verified)

14 years agor600g: add eg poly mode code.
Dave Airlie [Sat, 25 Sep 2010 09:16:36 +0000 (19:16 +1000)]
r600g: add eg poly mode code.

14 years agomesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0
Dave Airlie [Sat, 25 Sep 2010 08:51:24 +0000 (18:51 +1000)]
mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0

1acadebd6270d3604b026842b8a21360968618a0 fixed the pointer but not the cast.

14 years agor600g: Silence 'control reaches end of non-void function' warning.
Vinson Lee [Sat, 25 Sep 2010 06:48:05 +0000 (23:48 -0700)]
r600g: Silence 'control reaches end of non-void function' warning.

Fixes this GCC warning.
r600_hw_states.c: In function 'r600_translate_fill':
r600_state_inlines.h:136: warning: control reaches end of non-void function