Eric Anholt [Fri, 1 Oct 2010 20:37:40 +0000 (13:37 -0700)]
i965: Add real support for pre-gen5 texture sampling to the new FS.
Fixes 36 testcases, including glsl-fs-shadow2d*-bias which fail on the
Mesa IR backend.
richard [Fri, 1 Oct 2010 20:10:02 +0000 (16:10 -0400)]
evergreen : fix z format setting, enable stencil.
Eric Anholt [Fri, 1 Oct 2010 19:15:48 +0000 (12:15 -0700)]
i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.
We should fix the SF to actually give us just the data we need, but
this fixes regressions in the new FS until then.
Fixes:
glsl-kwin-blur
glsl-routing
Eric Anholt [Fri, 1 Oct 2010 18:44:27 +0000 (11:44 -0700)]
i965: Also increment attribute location when skipping unused slots.
Fixes glsl1-texcoord varying.
Eric Anholt [Fri, 1 Oct 2010 17:49:01 +0000 (10:49 -0700)]
i965: Fix the gen6 jump size for BREAK/CONT in new FS.
Since gen5, jumps are in increments of 64 bits instead of increments
of 128-bit instructions.
Eric Anholt [Fri, 1 Oct 2010 17:45:26 +0000 (10:45 -0700)]
i965: Add gen6 attribute interpolation to new FS backend.
Untested, since my hardware is not booting at the moment.
Jerome Glisse [Fri, 1 Oct 2010 14:26:58 +0000 (10:26 -0400)]
r600g: indentation fixes
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Dave Airlie [Fri, 1 Oct 2010 05:56:05 +0000 (15:56 +1000)]
r600g: setup basic loop consts on r600 + evergreen.
this sets up a single loop constant like r600c does.
Dave Airlie [Fri, 1 Oct 2010 05:16:47 +0000 (15:16 +1000)]
r600g: only set the Z export if shader exports it.
Alex Deucher [Fri, 1 Oct 2010 03:13:50 +0000 (23:13 -0400)]
r600c: pull over 6xx/7xx vertex fixes for evergreen
Dave Airlie [Fri, 1 Oct 2010 04:43:02 +0000 (14:43 +1000)]
r600g: flush SH cache on constant change on evergreen
Dave Airlie [Fri, 1 Oct 2010 04:24:14 +0000 (14:24 +1000)]
r600g: fix evergreen draw-buffers
just a typo in the register headers.
Dave Airlie [Fri, 1 Oct 2010 04:00:27 +0000 (14:00 +1000)]
r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen
Dave Airlie [Fri, 1 Oct 2010 03:48:10 +0000 (13:48 +1000)]
r600g: sync vertex/texture cache on resources on evergreen
this gets rid of lots of the instability on evergreen,
which isn't surprising since it really broken not to flush caches.
Dave Airlie [Fri, 1 Oct 2010 03:09:09 +0000 (13:09 +1000)]
r600g: fixup vertex format picking.
there are some vertex formats defined in r600c not in the docs.
Dave Airlie [Fri, 1 Oct 2010 01:38:40 +0000 (11:38 +1000)]
r600g: add assembler support for other vtx fetch fields.
this shouldn't change behaviour, just push the choice of what
to do out to the shader.
Eric Anholt [Fri, 1 Oct 2010 02:18:25 +0000 (19:18 -0700)]
i965: Split the gen4 and gen5 sampler handling apart.
Trying to track the insanity of the different argument layouts for
normal/shadow crossed with normal/lod/bias one generation at a time is
enough.
Fixes: glsl1-texture2D() with bias.
(first test passing in this code that doesn't pass without it!)
Eric Anholt [Fri, 1 Oct 2010 03:09:53 +0000 (20:09 -0700)]
i965: Use the lowering pass for texture projection.
We should end up with the same code, but anyone else with this issue
could share the handling (which I got wrong for shadow comparisons in
the driver before).
Eric Anholt [Fri, 1 Oct 2010 03:07:27 +0000 (20:07 -0700)]
glsl: Add a lowering pass for texture projection.
Dave Airlie [Fri, 1 Oct 2010 01:13:02 +0000 (11:13 +1000)]
r600g: realign evergreen code with r600 code.
fixes segfault in depth-tex-modes-glsl and OA startup.
Alex Deucher [Fri, 1 Oct 2010 00:54:26 +0000 (20:54 -0400)]
r600c: add reloc for CB_COLOR0_ATTRIB
We'll need a reloc for tiling eventually,
so add it now.
Dave Airlie [Fri, 1 Oct 2010 00:52:09 +0000 (10:52 +1000)]
r600g: add reloc for evergreen color attrib
we'll need this for color tiling on evergreen.
Dave Airlie [Fri, 1 Oct 2010 00:19:39 +0000 (10:19 +1000)]
r600g: drop depth quirk on evergreen
none of the EG cards need the quirk.
Dave Airlie [Thu, 30 Sep 2010 23:43:14 +0000 (09:43 +1000)]
r600g: add winsys support for CTL constants.
These need to be emitted, we also need them to do proper vtx start,
instead of abusing index offset.
Dave Airlie [Fri, 1 Oct 2010 00:13:04 +0000 (10:13 +1000)]
r600g: fix evergreen depth flushing.
although evergreen can apparantly sample direct from 24-bit,
just make it work with the current method for now.
Dave Airlie [Thu, 30 Sep 2010 23:39:35 +0000 (09:39 +1000)]
r600g: use Elements macro instead of manual sizeofs
Brian Paul [Thu, 30 Sep 2010 22:41:31 +0000 (16:41 -0600)]
draw: check for null sampler pointers
http://bugs.freedesktop.org/show_bug.cgi?id=30516
Brian Paul [Thu, 30 Sep 2010 17:01:09 +0000 (11:01 -0600)]
gallivm: added some comments
John Doe [Thu, 30 Sep 2010 21:53:36 +0000 (17:53 -0400)]
r600g: keep a mapping around for each bo
Save a lot of call into the kernel and thus improve performances.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
John Doe [Thu, 30 Sep 2010 21:30:25 +0000 (17:30 -0400)]
r600g: don't double count dirty block
This avoid to overcount the number of dwords we need and
thus avoid maximazation of cs buffer use.
Signed-off-by: Jerome Glisse <jglisse@redhat.com
Jerome Glisse [Thu, 30 Sep 2010 21:06:29 +0000 (17:06 -0400)]
evergreeng: avoid overlapping border color btw VS & PS
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Eric Anholt [Thu, 30 Sep 2010 20:26:38 +0000 (13:26 -0700)]
i965: Fix new FS handling of builtin uniforms with packed scalars in structs.
We were pointing each element at the .x channel of the
ParameterValues.
Fixes glsl1-linear fog.
Eric Anholt [Thu, 30 Sep 2010 20:40:22 +0000 (13:40 -0700)]
mesa: Don't reference a W component in setting up a vec3 uniform component.
The 965 driver would try to set up storage for the W component, and
the offsets would get mixed up.
Eric Anholt [Thu, 30 Sep 2010 18:46:24 +0000 (11:46 -0700)]
i965: Fix whole-structure/array assignment in new FS.
We need to walk the type tree to get the right register types for
structure components. Fixes glsl-fs-statevar-call.
Tom Fogal [Thu, 30 Sep 2010 20:39:14 +0000 (14:39 -0600)]
Revert "Prefer intrinsics to handrolled atomic ops."
This reverts commit
5f66b340aa49c6bc8d0acb2d1a6f8e9a7ef2cb2e, quickly
fixing 30514.
Jerome Glisse [Thu, 30 Sep 2010 20:26:33 +0000 (16:26 -0400)]
r600g: fix constant & literal src splitting, also fix mplayer gl2 shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Tom Fogal [Mon, 27 Sep 2010 04:32:15 +0000 (22:32 -0600)]
Prefer intrinsics to handrolled atomic ops.
Tom Fogal [Mon, 27 Sep 2010 00:57:59 +0000 (18:57 -0600)]
Implement x86_64 atomics for compilers w/o intrinsics.
Really old gcc's (3.3, at least) don't have support for the
intrinsics we need. This implements a fallback for that case.
Adam Jackson [Thu, 30 Sep 2010 18:08:35 +0000 (14:08 -0400)]
i965: Update renderer strings for sandybridge
Signed-off-by: Adam Jackson <ajax@redhat.com>
Jerome Glisse [Thu, 30 Sep 2010 14:43:26 +0000 (10:43 -0400)]
r600g: use constant buffer instead of register for constant
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Brian Paul [Thu, 30 Sep 2010 16:52:26 +0000 (10:52 -0600)]
gallivm: check for level=0 case in lp_build_minify()
This lets us avoid the shift and max() operations.
José Fonseca [Thu, 30 Sep 2010 16:39:17 +0000 (17:39 +0100)]
gallivm: More comprehensive border usage logic.
Chia-I Wu [Thu, 30 Sep 2010 15:43:58 +0000 (23:43 +0800)]
st/egl: Drop context argument from egl_g3d_get_egl_image.
Fix a regression since
17eace581d25a626a7d75d9d1205d012cbb14a6e.
Nicolas Kaiser [Thu, 30 Sep 2010 14:53:13 +0000 (07:53 -0700)]
st: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:52:02 +0000 (07:52 -0700)]
math: remove duplicated includes
Remove duplicated includes.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:50:43 +0000 (07:50 -0700)]
main: remove duplicated includes
Remove duplicated includes.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:48:29 +0000 (07:48 -0700)]
dri/savage: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:47:22 +0000 (07:47 -0700)]
dri/radeon: remove duplicated includes
Remove duplicated includes.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:46:06 +0000 (07:46 -0700)]
dri/r600: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:44:55 +0000 (07:44 -0700)]
dri/r300: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:43:48 +0000 (07:43 -0700)]
dri/r128: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:42:41 +0000 (07:42 -0700)]
dri/mga: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:41:26 +0000 (07:41 -0700)]
dri/intel: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:39:59 +0000 (07:39 -0700)]
dri/i965: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:38:53 +0000 (07:38 -0700)]
dri/i915: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:37:26 +0000 (07:37 -0700)]
dri/i810: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:36:12 +0000 (07:36 -0700)]
dri/common: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:34:53 +0000 (07:34 -0700)]
glx: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:33:43 +0000 (07:33 -0700)]
gallium/winsys: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:32:40 +0000 (07:32 -0700)]
gallium/st: remove duplicated includes
Remove duplicated includes.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:31:08 +0000 (07:31 -0700)]
gallium/softpipe: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:29:49 +0000 (07:29 -0700)]
gallium/llvmpipe: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:28:18 +0000 (07:28 -0700)]
gallium/i915: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:27:09 +0000 (07:27 -0700)]
gallium/util: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:25:36 +0000 (07:25 -0700)]
gallium/rtasm: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:25:31 +0000 (07:25 -0700)]
egl: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Nicolas Kaiser [Thu, 30 Sep 2010 14:25:21 +0000 (07:25 -0700)]
swrast: remove duplicated include
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
Francisco Jerez [Sat, 25 Sep 2010 13:29:02 +0000 (15:29 +0200)]
dri/nv10: Use fast Z clears.
Francisco Jerez [Tue, 28 Sep 2010 20:24:05 +0000 (22:24 +0200)]
dri/nouveau: Remove unnecessary flush.
Francisco Jerez [Tue, 28 Sep 2010 20:20:12 +0000 (22:20 +0200)]
dri/nouveau: Have a smaller amount of larger scratch buffers.
Larger VBOs avoid many kernel trips to get them in sync with the GPU.
Chia-I Wu [Thu, 30 Sep 2010 09:09:59 +0000 (17:09 +0800)]
mapi: Fix compiler warnings.
Do not use "void *" in arithmetics.
Chia-I Wu [Thu, 30 Sep 2010 08:53:33 +0000 (16:53 +0800)]
st/egl: Skip single-buffered configs in EGL.
Let DRI2 report single-buffered configs and skip them in EGL. This is
based on the patch by Luca Barbieri.
Chia-I Wu [Thu, 23 Sep 2010 18:42:15 +0000 (02:42 +0800)]
egl: Check extensions.
Do not call into the driver if the extension for the called function is
not enabled.
Zhenyu Wang [Thu, 30 Sep 2010 02:49:47 +0000 (10:49 +0800)]
i965: always set tiling for fbo depth buffer on sandybridge
Sandybridge requires depth buffer must be tiling.
Fix 'fbo_firecube' demo.
Marek Olšák [Wed, 29 Sep 2010 23:08:58 +0000 (01:08 +0200)]
r300g: fix conditional rendering in non-wait path
NOTE: This is a candidate for the 7.9 branch.
Eric Anholt [Wed, 29 Sep 2010 23:20:48 +0000 (16:20 -0700)]
i965: Remove my "safety counter" code from loops.
I've screwed this up enough times that I don't think it's worth it.
This time, it was that I was doing it once per top-level body
instruction instead of just once at the end of the loop body.
Eric Anholt [Wed, 29 Sep 2010 22:20:12 +0000 (15:20 -0700)]
i965: Add live interval analysis and hook it up to the register allocator.
Fixes 13 piglit cases that failed at register allocation before.
Eric Anholt [Wed, 29 Sep 2010 19:08:11 +0000 (12:08 -0700)]
i965: First cut at register allocation using graph coloring.
The interference is totally bogus (maximal), so this is equivalent to
our trivial register assignment before. As in, passes the same set of
piglit tests.
Eric Anholt [Mon, 27 Sep 2010 19:34:33 +0000 (12:34 -0700)]
ra: First cut at a graph-coloring register allocator for mesa.
Notably missing is choice of registers to spill.
Eric Anholt [Wed, 29 Sep 2010 17:43:46 +0000 (10:43 -0700)]
i965: Clean up the virtual GRF handling.
Now, virtual GRFs are consecutive integers, rather than offsetting the
next one by the size. We need the size information to still be around
for real register allocation, anyway.
Dave Airlie [Wed, 29 Sep 2010 23:17:20 +0000 (09:17 +1000)]
r600g: return string for chip family
use same strings as r600c.
Dave Airlie [Wed, 29 Sep 2010 23:07:07 +0000 (09:07 +1000)]
r600g: clean up some code from move to new paths.
mainly remove 2 suffix from function names
Dave Airlie [Wed, 29 Sep 2010 23:04:04 +0000 (09:04 +1000)]
r600g: add L8A8 unorm.
fixes texEnv warnings.
Dave Airlie [Wed, 29 Sep 2010 22:56:37 +0000 (08:56 +1000)]
r600g: port r300g fix for X* formats in texformat code
Eric Anholt [Wed, 29 Sep 2010 22:48:21 +0000 (15:48 -0700)]
i956: Make new FS discard do its work in a temp, not the null reg!
Fixes:
glsl-fs-discard-02 (GPU hang)
glsl1-discard statement (2)
Eric Anholt [Wed, 29 Sep 2010 22:19:52 +0000 (15:19 -0700)]
i965: Fix use of undefined mem_ctx in vector splitting.
José Fonseca [Wed, 29 Sep 2010 21:27:38 +0000 (22:27 +0100)]
gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.
José Fonseca [Sat, 25 Sep 2010 13:55:23 +0000 (14:55 +0100)]
python/retrace: Handle set_index_buffer and draw_vbo.
José Fonseca [Sat, 25 Sep 2010 13:55:00 +0000 (14:55 +0100)]
trace: Fix set_index_buffer and draw_vbo tracing.
Vinson Lee [Wed, 29 Sep 2010 21:22:20 +0000 (14:22 -0700)]
r300/compiler: Move declaration before code.
Fixes this GCC warning on linux-x86 build.
r3xx_vertprog.c: In function ‘ei_if’:
r3xx_vertprog.c:396: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 21:13:49 +0000 (14:13 -0700)]
r300/compiler: Move declaration before code.
Fixes these GCC warnings on linux-x86 build.
r500_fragprog_emit.c: In function ‘emit_paired’:
r500_fragprog_emit.c:237: warning: ISO C90 forbids mixed declarations and code
r500_fragprog_emit.c: In function ‘emit_tex’:
r500_fragprog_emit.c:367: warning: ISO C90 forbids mixed declarations and code
r500_fragprog_emit.c: In function ‘emit_flowcontrol’:
r500_fragprog_emit.c:415: warning: ISO C90 forbids mixed declarations and code
r500_fragprog_emit.c: In function ‘r500BuildFragmentProgramHwCode’:
r500_fragprog_emit.c:633: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 21:04:06 +0000 (14:04 -0700)]
r300/compiler: Move declaration before code.
Fixes these GCC warnings on linux-x86 build.
r500_fragprog.c: In function ‘r500_transform_IF’:
r500_fragprog.c:45: warning: ISO C90 forbids mixed declarations and code
r500_fragprog.c: In function ‘r500FragmentProgramDump’:
r500_fragprog.c:256: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:56:27 +0000 (13:56 -0700)]
r300/compiler: Move declaration before code.
Fixes these GCC warnings on linux-x86 build.
r300_fragprog_emit.c: In function ‘emit_alu’:
r300_fragprog_emit.c:143: warning: ISO C90 forbids mixed declarations and code
r300_fragprog_emit.c:156: warning: ISO C90 forbids mixed declarations and code
r300_fragprog_emit.c: In function ‘finish_node’:
r300_fragprog_emit.c:271: warning: ISO C90 forbids mixed declarations and code
r300_fragprog_emit.c: In function ‘emit_tex’:
r300_fragprog_emit.c:344: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:44:10 +0000 (13:44 -0700)]
r300/compiler: Remove declaration before code.
Fixes these GCC warnings on linux-x86 build.
r300_fragprog_swizzle.c: In function ‘r300_swizzle_is_native’:
r300_fragprog_swizzle.c:120: warning: ISO C90 forbids mixed declarations and code
r300_fragprog_swizzle.c: In function ‘r300_swizzle_split’:
r300_fragprog_swizzle.c:159: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:40:45 +0000 (13:40 -0700)]
r300/compiler: Move declaration before code.
Fixes this GCC warning on linux-x86 build.
radeon_rename_regs.c: In function ‘rc_rename_regs’:
radeon_rename_regs.c:112: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:34:56 +0000 (13:34 -0700)]
r300/compiler: Move declaration before code.
Fixes this GCC warning on linux-x86 build.
radeon_remove_constants.c: In function ‘rc_remove_unused_constants’:
radeon_remove_constants.c:100: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:30:34 +0000 (13:30 -0700)]
r300/compiler: Move declaration before code.
Fixes these GCC warning on linux-x86 build.
radeon_optimize.c: In function ‘constant_folding’:
radeon_optimize.c:419: warning: ISO C90 forbids mixed declarations and code
radeon_optimize.c:425: warning: ISO C90 forbids mixed declarations and code
radeon_optimize.c:432: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Wed, 29 Sep 2010 20:14:34 +0000 (13:14 -0700)]
r600g: Fix SCons build.
Vinson Lee [Wed, 29 Sep 2010 20:13:09 +0000 (13:13 -0700)]
r300/compiler: Move declaration before code.
Fixes these GCC warnings on linux-x86 build.
radeon_dataflow_deadcode.c: In function ‘push_branch’:
radeon_dataflow_deadcode.c:112: warning: ISO C90 forbids mixed declarations and code
radeon_dataflow_deadcode.c: In function ‘update_instruction’:
radeon_dataflow_deadcode.c:183: warning: ISO C90 forbids mixed declarations and code
radeon_dataflow_deadcode.c: In function ‘rc_dataflow_deadcode’:
radeon_dataflow_deadcode.c:352: warning: ISO C90 forbids mixed declarations and code
radeon_dataflow_deadcode.c:379: warning: ISO C90 forbids mixed declarations and code
Jerome Glisse [Wed, 29 Sep 2010 19:39:40 +0000 (15:39 -0400)]
r600g: more cleanup
Signed-off-by: Jerome Glisse <jglisse@redhat.com>