Commit graph

42723 commits

Author SHA1 Message Date
Ben Skeggs
6b4e3e8941 nouveau: allow pipe driver to define which buffers should start in sysmem
PIPE_BIND_CONSTANT_BUFFER alone was OK for nv50/nvc0, but nv30 will need
to be able to set others on certain chipsets.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-03 15:56:20 +10:00
Christoph Bumiller
0c0e996d59 nv50: fix IB index buffer path
Add missing VERTEX_END and treat unaligned offsets correctly.
2011-03-02 22:37:56 +01:00
Christoph Bumiller
fa94f8b209 nv50: fix POINT_COORD_REPLACE_MAP method size
Introduced in 223d98bb8d.
2011-03-02 21:07:33 +01:00
Christoph Bumiller
47a62b1ca1 nv50: primitive restart trick for vertex data through FIFO mode
Also, on nv50 the VERTEX_BEGIN method doesn't follow VERTEX_END,
which was erroneously taken over from nvc0 and is fixed now.
2011-03-02 20:59:54 +01:00
Christoph Bumiller
b8646bc2af nv50: fix depth clamp for disabled primitive clipping 2011-03-02 20:59:53 +01:00
Christoph Bumiller
ddcb90248f nv50: implement independent blend functions for nva3+ and fix cap 2011-03-02 20:59:53 +01:00
Christoph Bumiller
669de7016c nv50: fix tile size calculations 2011-03-02 20:59:53 +01:00
Christoph Bumiller
223d98bb8d nv50: fix point sprite state validation
Wasn't updated if the FP didn't change, and coordinate replacement
wasn't disabled anymore.
2011-03-02 20:59:53 +01:00
Christoph Bumiller
dbdbbce066 nv50: allow accidentally disabled IB index buffers again
Must have sneaked in from debugging.
2011-03-02 20:59:53 +01:00
Christoph Bumiller
908013b737 nv50: apply relocations to shader code
On nv50, branches are absolute, so we need to adjust them according
to the shader's position in the code buffer.
2011-03-02 20:59:53 +01:00
Christoph Bumiller
040ff18a21 nv50: fix wrong miptree tile flags taken over from nvc0 2011-03-02 20:59:53 +01:00
Ben Skeggs
450aa241bf nouveau: remove nouveau_stateobj.h
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 17:43:13 +10:00
Ben Skeggs
28eb7214db nvc0: fix a crash on context destruction
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 17:23:31 +10:00
Ben Skeggs
1ba8e95108 nouveau: ensure vbo_dirty is set when buffer write transfer complete
This introduces a shared nouveau_context struct to track such things.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 17:23:31 +10:00
Ben Skeggs
96d57722fd nouveau: fix leak of nouveau_mman structs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 17:22:53 +10:00
Ben Skeggs
4826cd0f61 nvc0: port to common fence/mm/buffer code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 17:22:49 +10:00
Ben Skeggs
40d7a87a8e nv50: multiply polygon offset units by 2
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
be68782d9a nv50: sync textures with render targets ourselves
Port of the nvc0 commit doing the same.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
79079141fa nv50: move onto common linear buffer manager
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
5c1c4f8593 nouveau: common linear buffer manager, ported from nv50/nvc0 drivers
nv50_resource is being called nv04_resource now temporarily, to avoid
a naming conflict with nouveau_resource from libdrm.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
cd24fcedec nouveau: create linear gart/vram mman in common screen init
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
3a38a4b0a8 nouveau: fix fence_ref() where fence and *ref are the same fence
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:43 +10:00
Ben Skeggs
d6bdf1f6ae nouveau: fix compiler complaint
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:42 +10:00
Ben Skeggs
2f30a5bdaa nv50: make mm available as common code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:42 +10:00
Ben Skeggs
7a8ee058a8 nv50: move onto shared fence code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:42 +10:00
Ben Skeggs
5a0915870c nouveau: move nv50/nvc0 fencing to common location, and modify slightly
Modified from original to remove chipset-specific code, and to be decoupled
from the mm present in said drivers.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:42 +10:00
Ben Skeggs
48e191f90c nv50-nvc0: set cur_ctx during init if none currently bound
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-03-01 14:44:42 +10:00
Christoph Bumiller
f80c03e187 nv50: replace most of it with nvc0 driver ported to nv50
We'll have to do some unification now to reduce code duplication.
2011-02-28 12:41:09 +01:00
Marek Olšák
d1dbbf7bf4 r300g: disable hyper-z on rs6xx+
It doesn't work.
2011-02-28 12:28:07 +01:00
Vinson Lee
93893139a4 mesa: Add texcompress_rgtc.c to SConscript. 2011-02-27 23:17:49 -08:00
Dave Airlie
e107a3aa08 rgtc: update docs 2011-02-28 13:43:32 +10:00
Dave Airlie
83ebc01c1d mesa/st: add RGTC format support.
this just adds a format check + format conversion.
2011-02-28 13:35:35 +10:00
Dave Airlie
903726d285 swrast: add RGTC support 2011-02-28 13:35:35 +10:00
Dave Airlie
8d47c91985 mesa: Add RGTC texture store/fetch support.
This adds support for the RGTC unsigned and signed
texture storage and fetch methods.

the code is a port of the DXT5 alpha compression code.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-28 13:35:34 +10:00
Dave Airlie
e792e79f5a mesa: make_float_temp_image non-static
We need this to do signed stuff for RGTC.
2011-02-28 13:34:25 +10:00
Dave Airlie
e3709c26a6 rgtc: llvmpipe/softpipe refuse RGTC until u_format has support.
So far I haven't implemented the u_format code for these.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-28 13:34:25 +10:00
Dave Airlie
0495425dc3 r300g: force swizzles for RGTC
still can't get signed to work
2011-02-28 13:21:44 +10:00
Christian König
96bbc627f3 r600g: implement instanced drawing support 2011-02-28 02:19:39 +01:00
Christian König
bce4f9ac39 st/mesa & v_bug_mgr: two small instanced drawing fixes 2011-02-28 02:19:39 +01:00
Dave Airlie
0a17444133 Revert "r600g: Don't negate result of ABS instruction"
This reverts commit b6d4021393.

This actually breaks gears here on my rv670.
2011-02-28 11:10:35 +10:00
Fabian Bieler
0ab7dcddb3 r600g: Process TRUNC with tgis_op2
TRUNC is neither a scalar instruction nor exclusive to the Trans unit.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-28 09:22:16 +10:00
Fabian Bieler
b6d4021393 r600g: Don't negate result of ABS instruction
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-28 09:21:41 +10:00
Daniel Vetter
d42c9433b0 i915g: implement cache flushing
With an extremely dumb strategy. But it's the same i915c employs.

Also improve the hw_atom code slightly by statically specifying the
required batch space. For extremely variably stuff (shaders, constants)
it would probably be better to add a new parameter to the hw_atom->validate
function.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 22:10:46 +01:00
Daniel Vetter
f90fa55347 i915g: buffer validation for blitter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 22:03:51 +01:00
Daniel Vetter
342016010a i915g: buffer validation for render state
Also contains the first few bits for hw state atoms.

v2: Implement suggestion by Jakob Bornecrantz.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 21:57:31 +01:00
Daniel Vetter
3c59b3eb4b i915g/winsys: buffer validation support
v2: Add the batch bo to the libdrm validation lost, for otherwise
libdrm won't take previously used buffers into account.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 18:49:56 +01:00
Daniel Vetter
e20c3255e2 i915g: add raw batchbuffer dumping in drm winsys
These files can be decoded with intel_dump_decode from the intel-gpu-tools
available at:

http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 16:32:38 +01:00
Daniel Vetter
f58c11af72 i915g: cleanup static state calculation, part 2
Now also for the DRAW_RECT command

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 15:58:13 +01:00
Daniel Vetter
beaf039f97 i915g: cleanup static state calculation, part 1
Move it to i915_state_static.c This way i915_emit_state.c only emits
state and doesn't (re)calculate it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27 15:58:03 +01:00
Kenneth Graunke
a385ac6207 glsl/builtins: Fix return type for textureSize sampler2DArray variants.
A copy and paste error.
2011-02-27 00:44:47 -08:00