mesa.git
14 years agomesa: Fix printf format warning.
Vinson Lee [Wed, 29 Sep 2010 17:44:17 +0000 (10:44 -0700)]
mesa: Fix printf format warning.

Fixes this GCC warning.
math/m_debug_norm.c: In function '_math_test_all_normal_transform_functions':
math/m_debug_norm.c:365: warning: format not a string literal and no format arguments

14 years agomesa: Fix printf format warning.
Vinson Lee [Wed, 29 Sep 2010 17:30:04 +0000 (10:30 -0700)]
mesa: Fix printf format warning.

Fixes this GCC warning.
math/m_debug_clip.c: In function '_math_test_all_cliptest_functions':
math/m_debug_clip.c:363: warning: format not a string literal and no format arguments

14 years agor600g: use a hash table instead of group
Jerome Glisse [Tue, 28 Sep 2010 21:37:56 +0000 (17:37 -0400)]
r600g: use a hash table instead of group

Instead of creating group of register use a hash table
to lookup into which block each register belongs. This
simplify code a bit.

Signed-off-by: Jerome Glisse <jglisse@redhat.com
14 years agodraw: pass sampler state down to llvm jit state
Brian Paul [Wed, 29 Sep 2010 16:34:41 +0000 (10:34 -0600)]
draw: pass sampler state down to llvm jit state

Fixes a regression caused from the change to make min/max lod dynamic
state.

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

14 years agoMakefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball
Marek Olšák [Wed, 29 Sep 2010 11:02:27 +0000 (04:02 -0700)]
Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agoscons: New build= option, with support for checked builds.
José Fonseca [Wed, 29 Sep 2010 13:24:52 +0000 (14:24 +0100)]
scons: New build= option, with support for checked builds.

Where checked build is compiler optimizations plus debugging checks --
ideal for testing CPU bound loads and running test automation loads.

14 years agoscons: New build= option, with support for checked builds.
José Fonseca [Wed, 29 Sep 2010 13:08:53 +0000 (14:08 +0100)]
scons: New build= option, with support for checked builds.

Where checked build is compiler optimizations plus debugging checks --
ideal for testing CPU bound loads and running test automation loads.

14 years agollvmpipe: Decouple sampler view and sampler state updates.
José Fonseca [Wed, 29 Sep 2010 11:05:19 +0000 (12:05 +0100)]
llvmpipe: Decouple sampler view and sampler state updates.

Fixes glean pbo crash.

It would be possible to avoid crashing without decoupling, but given
that state trackers give no guarantee that number of views is consistent,
that would likely cause too many state updates (or miss some).

14 years agoglx: Only remove drawables from the hash when we actually delete them
Kristian Høgsberg [Wed, 29 Sep 2010 12:32:12 +0000 (08:32 -0400)]
glx: Only remove drawables from the hash when we actually delete them

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

14 years agoRevert "r600g: add initial vertex translate support."
Dave Airlie [Wed, 29 Sep 2010 10:03:06 +0000 (20:03 +1000)]
Revert "r600g: add initial vertex translate support."

This reverts commit 914b669b082258fc05d0fec047b69949d88585c4.

I didn't mean to commit this yet, will redo in new state system once
we clean it up.

14 years agoRevert "i965: Always set tiling for depth buffer on sandybridge"
Zhenyu Wang [Wed, 29 Sep 2010 07:18:37 +0000 (15:18 +0800)]
Revert "i965: Always set tiling for depth buffer on sandybridge"

This reverts commit 0a1910c26760762eb8d67f68dfd87494ab479e38.

oops, shouldn't apply tiling depth buffer for other chips as well.

14 years agor300/compiler: Don't merge instructions that write output regs and ALU result
Tom Stellard [Wed, 29 Sep 2010 06:10:09 +0000 (23:10 -0700)]
r300/compiler: Don't merge instructions that write output regs and ALU result

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

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: Don't use rc_error() unless the error is unrecoverable
Tom Stellard [Tue, 28 Sep 2010 16:57:18 +0000 (09:57 -0700)]
r300/compiler: Don't use rc_error() unless the error is unrecoverable

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

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: Fix segfault in error path
Tom Stellard [Tue, 28 Sep 2010 16:21:05 +0000 (09:21 -0700)]
r300/compiler: Fix segfault in error path

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

NOTE: This is a candidate for the 7.9 branch.

14 years agoi965: fallback lineloop on sandybridge for now
Zhenyu Wang [Sun, 26 Sep 2010 05:15:39 +0000 (13:15 +0800)]
i965: fallback lineloop on sandybridge for now

Until we fixed GS hang issue.

14 years agoi965: Always set tiling for depth buffer on sandybridge
Zhenyu Wang [Wed, 29 Sep 2010 05:59:03 +0000 (13:59 +0800)]
i965: Always set tiling for depth buffer on sandybridge

Sandybridge only support tiling depth buffer, always set tiling bit.

Fix 'fbo_firecube' demo.

14 years agor600g: remove old assert from new codepath
Dave Airlie [Wed, 29 Sep 2010 04:52:39 +0000 (14:52 +1000)]
r600g: remove old assert from new codepath

this fixes draw-elements-base-vertex

14 years agor600g: add initial vertex translate support.
Dave Airlie [Fri, 24 Sep 2010 03:11:17 +0000 (13:11 +1000)]
r600g: add initial vertex translate support.

14 years agoglsl: "Copyright", not "Constantright"
Kenneth Graunke [Wed, 29 Sep 2010 04:13:41 +0000 (21:13 -0700)]
glsl: "Copyright", not "Constantright"

Clearly this started out as ir_copy_propagation.cpp, but the search and
replace was a bit overzealous.

14 years agoi965: Add support for builtin uniforms to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 23:23:04 +0000 (16:23 -0700)]
i965: Add support for builtin uniforms to the new FS backend.

Fixes 8 piglit tests.

14 years agomesa: Move the list of builtin uniform info from ir_to_mesa to shared code.
Eric Anholt [Tue, 28 Sep 2010 23:06:35 +0000 (16:06 -0700)]
mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.

I'm still not pleased with how builtin uniforms are handled, but as
long as we're relying on the prog_statevar stuff this seems about as
good as it'll get.

14 years agoi965: Clean up obsolete FINISHME comment.
Eric Anholt [Tue, 28 Sep 2010 22:28:06 +0000 (15:28 -0700)]
i965: Clean up obsolete FINISHME comment.

14 years agoi965: Fix array indexing of arrays of matrices.
Eric Anholt [Tue, 28 Sep 2010 22:25:40 +0000 (15:25 -0700)]
i965: Fix array indexing of arrays of matrices.

The deleted code was meant to be handling indexing of a matrix, which
would have been a noop if it had been correct.

14 years agor600g: move radeon.h members around to add back map flushing.
Dave Airlie [Tue, 28 Sep 2010 23:17:59 +0000 (09:17 +1000)]
r600g: move radeon.h members around to add back map flushing.

14 years agor600g: add evergreen texture border support to new path
Dave Airlie [Tue, 28 Sep 2010 23:10:01 +0000 (09:10 +1000)]
r600g: add evergreen texture border support to new path

14 years agor600g: add back evergreen name.
Dave Airlie [Tue, 28 Sep 2010 22:31:51 +0000 (08:31 +1000)]
r600g: add back evergreen name.

14 years agoi965: Don't try to emit interpolation for unused varying slots.
Eric Anholt [Tue, 28 Sep 2010 21:53:36 +0000 (14:53 -0700)]
i965: Don't try to emit interpolation for unused varying slots.

Fixes:
glsl-fs-varying-array
glsl-texcoord-array
glsl-texcoord-array-2
glsl-vs-varying-array

14 years agoi965: Do interpolation for varying matrices and arrays in the FS backend.
Eric Anholt [Fri, 3 Sep 2010 20:22:38 +0000 (13:22 -0700)]
i965: Do interpolation for varying matrices and arrays in the FS backend.

Fixes:
glsl-array-varying-01
glsl-vs-mat-add-1
glsl-vs-mat-div-1
glsl-vs-mat-div-2
glsl-vs-mat-mul-2
glsl-vs-mat-mul-3

14 years agoglsl: Also update implicit sizes of varyings at link time.
Eric Anholt [Tue, 28 Sep 2010 21:32:16 +0000 (14:32 -0700)]
glsl: Also update implicit sizes of varyings at link time.

Otherwise, we'll often end up with gl_TexCoord being 0 length, for
example.  With ir_to_mesa, things ended up working out anyway, as long
as multiple implicitly-sized arrays weren't involved.

14 years agoi965: Add support for ARB_fragment_coord_conventions to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 20:29:45 +0000 (13:29 -0700)]
i965: Add support for ARB_fragment_coord_conventions to the new FS backend.

Fixes:
glsl-arb-frag-coord-conventions
glsl-fs-fragcoord

14 years agoi965: Add support for ir_loop counters to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 20:00:46 +0000 (13:00 -0700)]
i965: Add support for ir_loop counters to the new FS backend.

Fixes:
glsl1-discard statement in for loop
glsl-fs-loop-two-counter-02
glsl-fs-loop-two-counter-04

14 years agor600g: Cleaned up index buffer reference handling in the draw module.
Tilman Sauerbeck [Sun, 26 Sep 2010 17:26:24 +0000 (19:26 +0200)]
r600g: Cleaned up index buffer reference handling in the draw module.

This fixes a buffer leak.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
14 years agoi965: Add support for MRT to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 19:34:21 +0000 (12:34 -0700)]
i965: Add support for MRT to the new FS backend.

Fixes these tests using gl_FragData or just gl_FragDepth:
glsl1-Preprocessor test (extension test 1)
glsl1-Preprocessor test (extension test 2)
glsl-bug-22603

14 years agoi965: Add support for non-color render target write data to new FS backend.
Eric Anholt [Tue, 28 Sep 2010 19:07:30 +0000 (12:07 -0700)]
i965: Add support for non-color render target write data to new FS backend.

This is the first time these payload bits have made sense to me,
outside of brw_wm_pass* structure.

Fixes: glsl1-gl_FragDepth writing
14 years agoscons: Add program/sampler.cpp to SCons build.
Vinson Lee [Tue, 28 Sep 2010 19:03:45 +0000 (12:03 -0700)]
scons: Add program/sampler.cpp to SCons build.

This is a follow-up to commit a32893221ce253da7bb465e0ec9d0df5f7208d8f.

Fixes MinGW SCons build.

14 years agoi965: Set up sampler numbers in the FS backend.
Eric Anholt [Tue, 28 Sep 2010 17:53:47 +0000 (10:53 -0700)]
i965: Set up sampler numbers in the FS backend.

+10 piglits

14 years agomesa: Pull ir_to_mesa's sampler number fetcher out to shared code.
Eric Anholt [Tue, 28 Sep 2010 17:43:56 +0000 (10:43 -0700)]
mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.

14 years agor600g: avoid rebuilding the vertex shader if no change to input format
Jerome Glisse [Tue, 28 Sep 2010 18:34:25 +0000 (14:34 -0400)]
r600g: avoid rebuilding the vertex shader if no change to input format

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: suspend/resume occlusion query around clear/copy
Jerome Glisse [Tue, 28 Sep 2010 18:21:35 +0000 (14:21 -0400)]
r600g: suspend/resume occlusion query around clear/copy

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoconfigure.ac: do not build xorg-r300g by default
Marek Olšák [Tue, 28 Sep 2010 17:32:32 +0000 (19:32 +0200)]
configure.ac: do not build xorg-r300g by default

NOTE: This is a candidate for the 7.9 branch.

14 years agoconfigure.ac: look for libdrm_radeon before building gallium/r300,r600
Marek Olšák [Sun, 26 Sep 2010 15:52:58 +0000 (17:52 +0200)]
configure.ac: look for libdrm_radeon before building gallium/r300,r600

NOTE: This is a candidate for the 7.9 branch.

14 years agoi965: Subtract instead of adding when computing y delta in new FS backend.
Eric Anholt [Tue, 28 Sep 2010 17:18:31 +0000 (10:18 -0700)]
i965: Subtract instead of adding when computing y delta in new FS backend.

Fixes 7 piglit cases.

14 years agoi965: Add support for gl_FrontFacing to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 16:47:37 +0000 (09:47 -0700)]
i965: Add support for gl_FrontFacing to the new FS backend.

Fixes:
glsl1-gl_FrontFacing var (1)
glsl1-gl_FrontFacing var (2)

14 years agoi965: Fix up part of my Sandybridge attributes support patch.
Eric Anholt [Tue, 28 Sep 2010 17:05:10 +0000 (10:05 -0700)]
i965: Fix up part of my Sandybridge attributes support patch.

I confused the array sizing for number of files for the number of regs
in a file.

14 years agoi965: Fix all non-snb regression in the snb attribute interpolation commit.
Eric Anholt [Tue, 28 Sep 2010 17:07:56 +0000 (10:07 -0700)]
i965: Fix all non-snb regression in the snb attribute interpolation commit.

This apparently had never been tested elsewhere before being merged to
master.

14 years agoi965: Add support for struct, array, and matrix uniforms to FS backend.
Eric Anholt [Tue, 28 Sep 2010 16:31:56 +0000 (09:31 -0700)]
i965: Add support for struct, array, and matrix uniforms to FS backend.

Fixes 16 piglit cases.

14 years agoi965: Add support for dereferencing structs to the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 05:26:22 +0000 (22:26 -0700)]
i965: Add support for dereferencing structs to the new FS backend.

Fixes: glsl1-struct(2)
14 years agoi965: Set the variable type when dereferencing an array.
Eric Anholt [Tue, 28 Sep 2010 05:19:51 +0000 (22:19 -0700)]
i965: Set the variable type when dereferencing an array.

We don't set the type on the array virtual reg as a whole, so here's
the right place.

Fixes:
glsl1-GLSL 1.20 arrays
glsl1-temp array with constant indexing, fragment shader
glsl1-temp array with swizzled variable indexing

14 years agoi965: Fix up the FS backend for the variable array indexing pass.
Eric Anholt [Tue, 28 Sep 2010 05:15:36 +0000 (22:15 -0700)]
i965: Fix up the FS backend for the variable array indexing pass.

We need to re-run channel expressions afterwards as it generates new
vector expressions, and we need to successfully support conditional
assignment (brw_CMP takes 2 operands, not 1).

14 years agoi965: Fix valgrind complaint about base_ir for new FS debugging.
Eric Anholt [Tue, 28 Sep 2010 05:06:38 +0000 (22:06 -0700)]
i965: Fix valgrind complaint about base_ir for new FS debugging.

14 years agoi965: Apply the same set of lowering passes to new FS as to Mesa IR.
Eric Anholt [Tue, 28 Sep 2010 04:35:54 +0000 (21:35 -0700)]
i965: Apply the same set of lowering passes to new FS as to Mesa IR.

While much of this we will want to support natively, this should make
the task of reaching the Mesa IR backend's quality easier.

Fixes:
glsl-fs-main-return.

14 years agoi965: Actually track the "if" depth in loop in the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 04:25:55 +0000 (21:25 -0700)]
i965: Actually track the "if" depth in loop in the new FS backend.

Fixes:
glsl-fs-if-nested-loop.

14 years agoi965: Fix negation in the new FS backend.
Eric Anholt [Tue, 28 Sep 2010 04:15:28 +0000 (21:15 -0700)]
i965: Fix negation in the new FS backend.

Fixes:
glsl1-Negation
glsl1-Negation2

14 years agor600g: switch to new design
Jerome Glisse [Tue, 28 Sep 2010 15:37:30 +0000 (11:37 -0400)]
r600g: switch to new design

New design seems to be on parity according to piglit,
make it default to get more exposure and see if there
is any show stopper in the coming days.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: fix remaining piglit issue in new design
Jerome Glisse [Tue, 28 Sep 2010 15:07:20 +0000 (11:07 -0400)]
r600g: fix remaining piglit issue in new design

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: use ptr for blit depth uncompress function
Jerome Glisse [Tue, 28 Sep 2010 12:59:47 +0000 (08:59 -0400)]
r600g: use ptr for blit depth uncompress function

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agonv50: fix GP state bind and validate
Christoph Bumiller [Mon, 27 Sep 2010 17:35:50 +0000 (19:35 +0200)]
nv50: fix GP state bind and validate

14 years agor600g: on evergreen the centroid isn't set in this register.
Dave Airlie [Tue, 28 Sep 2010 05:05:11 +0000 (15:05 +1000)]
r600g: on evergreen the centroid isn't set in this register.

14 years agoi965: fallback bitmap operation on sandybridge
Zhenyu Wang [Tue, 28 Sep 2010 07:50:59 +0000 (15:50 +0800)]
i965: fallback bitmap operation on sandybridge

Need to bring back correct fb write with header to set pixel
write mask. Fallback for now.

14 years agoi965: fix occlusion query on sandybridge
Zhenyu Wang [Mon, 27 Sep 2010 01:58:09 +0000 (09:58 +0800)]
i965: fix occlusion query on sandybridge

Fix pipe control command for depth stall and PS_DEPTH_COUNT write.

14 years agoi965: fix point sprite on sandybridge
Zhenyu Wang [Sun, 26 Sep 2010 06:36:14 +0000 (14:36 +0800)]
i965: fix point sprite on sandybridge

Need to set point sprite function in fixed SF state now on sandybridge.

14 years agoi965: fix scissor state on sandybridge
Zhenyu Wang [Tue, 28 Sep 2010 07:35:22 +0000 (15:35 +0800)]
i965: fix scissor state on sandybridge

Fix incorrect scissor rect struct and missed scissor state pointer
setting for sandybridge.

14 years agoi965: enable polygon offset on sandybridge
Zhenyu Wang [Sun, 26 Sep 2010 05:17:18 +0000 (13:17 +0800)]
i965: enable polygon offset on sandybridge

Depth offset function is moved to SF stage on sandybridge.

14 years agoi965: fix pixel w interpolation on sandybridge
Zhenyu Wang [Sat, 25 Sep 2010 02:50:24 +0000 (10:50 +0800)]
i965: fix pixel w interpolation on sandybridge

14 years agoi965: don't do calculation for delta_xy on sandybridge
Zhenyu Wang [Sat, 25 Sep 2010 02:48:52 +0000 (10:48 +0800)]
i965: don't do calculation for delta_xy on sandybridge

Sandybridge doesn't have Xstart/Ystart in payload header.

14 years agoi965: only allow SIMD8 kernel on sandybridge now
Zhenyu Wang [Fri, 17 Sep 2010 08:26:27 +0000 (16:26 +0800)]
i965: only allow SIMD8 kernel on sandybridge now

Until we fixed SIMD16 kernel, force to SIMD8 on sandybridge now.

14 years agoi965: sandybridge pipe control workaround before write cache flush
Zhenyu Wang [Fri, 17 Sep 2010 07:08:09 +0000 (15:08 +0800)]
i965: sandybridge pipe control workaround before write cache flush

Must issue a pipe control with any non-zero post sync op before
write cache flush = 1 pipe control.

14 years agoi965: Add all device ids for sandybridge
Zhenyu Wang [Thu, 16 Sep 2010 01:50:02 +0000 (09:50 +0800)]
i965: Add all device ids for sandybridge

14 years agoi965: fix const register count for sandybridge
Zhenyu Wang [Sun, 26 Sep 2010 05:13:32 +0000 (13:13 +0800)]
i965: fix const register count for sandybridge

Sandybridge's PS constant buffer payload size is decided from
push const buffer command, incorrect size would cause wrong data
in payload for position and vertex attributes. This fixes coefficients
for tex2d/tex3d.

14 years agoi965: Fix sampler on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 06:17:06 +0000 (14:17 +0800)]
i965: Fix sampler on sandybridge

Sandybridge has not much change on texture sampler with Ironlake.

14 years agoi965: fix jump count on sandybridge
Zhenyu Wang [Tue, 28 Sep 2010 06:54:26 +0000 (14:54 +0800)]
i965: fix jump count on sandybridge

Jump count is for 64bit long each, so one instruction requires 2
like on Ironlake.

14 years agoi965: VS use SPF mode on sandybridge for now
Zhenyu Wang [Fri, 17 Sep 2010 06:47:05 +0000 (14:47 +0800)]
i965: VS use SPF mode on sandybridge for now

Until conditional instructions were fixed, use SPF mode instead for now.

14 years agoi965: add sandybridge viewport state bo into validation list
Zhenyu Wang [Fri, 17 Sep 2010 06:40:16 +0000 (14:40 +0800)]
i965: add sandybridge viewport state bo into validation list

14 years agoi965: ignore quads for GS kernel on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 06:25:43 +0000 (14:25 +0800)]
i965: ignore quads for GS kernel on sandybridge

Sandybridge's VF would convert quads to polygon which not required
for GS then. Current GS state still would cause hang on lineloop.

14 years agoi965: ff sync message change for sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 06:23:48 +0000 (14:23 +0800)]
i965: ff sync message change for sandybridge

14 years agoi965: fix point size setting in header on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 05:08:22 +0000 (13:08 +0800)]
i965: fix point size setting in header on sandybridge

14 years agoi965: force zero in clipper to ignore RTAIndex on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 05:03:32 +0000 (13:03 +0800)]
i965: force zero in clipper to ignore RTAIndex on sandybridge

14 years agoi965: Fix color interpolation on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 04:57:35 +0000 (12:57 +0800)]
i965: Fix color interpolation on sandybridge

Don't double store position in vertex attribute. This makes color
interpolation right by using barycentric coordinates.

14 years agoi965: enable accumulator update in PS kernel too on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 04:45:01 +0000 (12:45 +0800)]
i965: enable accumulator update in PS kernel too on sandybridge

Accumulator update flag must be set for implicit update on sandybridge.

14 years agoi965: new state dump for sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 03:17:26 +0000 (11:17 +0800)]
i965: new state dump for sandybridge

Dump new state object on sandybridge for cc viewport, clip viewport,
depth stencil, cc and blend state.

14 years agoi965: disasm quarter and write enable instruction control on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 03:13:26 +0000 (11:13 +0800)]
i965: disasm quarter and write enable instruction control on sandybridge

14 years agoi965: Add support for POW in gen6 FS.
Eric Anholt [Sun, 22 Aug 2010 08:33:57 +0000 (01:33 -0700)]
i965: Add support for POW in gen6 FS.

Fixes glsl-algebraic-pow-2 in brw_wm_glsl.c mode.

14 years agoi965: Set up inputs to the fragment shader according to FP InputsRead.
Eric Anholt [Sat, 21 Aug 2010 01:15:14 +0000 (18:15 -0700)]
i965: Set up inputs to the fragment shader according to FP InputsRead.

Sending down data that doesn't get read doesn't make any sense, and
would make handling things like gl_FrontFacing and gl_PointCoord
harder.

14 years agoi965: Add support for attribute interpolation on Sandybridge.
Eric Anholt [Sun, 26 Sep 2010 05:28:51 +0000 (13:28 +0800)]
i965: Add support for attribute interpolation on Sandybridge.

Things are simpler these days thanks to barycentric interpolation
parameters being handed in in the payload.

14 years agodri: Add GET_PROGRAM_NAME definition for Mac OS X.
Vinson Lee [Tue, 28 Sep 2010 07:27:31 +0000 (00:27 -0700)]
dri: Add GET_PROGRAM_NAME definition for Mac OS X.

14 years agor300/compiler: Use rc_for_all_reads_src() in "dead constants" pass
Tom Stellard [Tue, 28 Sep 2010 03:51:05 +0000 (20:51 -0700)]
r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass

14 years agor300/compiler: radeon_remove_constants.c: fix indentation
Tom Stellard [Tue, 28 Sep 2010 03:35:58 +0000 (20:35 -0700)]
r300/compiler: radeon_remove_constants.c: fix indentation

14 years agor300/compiler: Print immediate values after "dead constants" pass
Tom Stellard [Mon, 27 Sep 2010 05:16:19 +0000 (22:16 -0700)]
r300/compiler: Print immediate values after "dead constants" pass

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.