Commit graph

12582 commits

Author SHA1 Message Date
Daniel Vetter
8f9e546fde i915g: kill relocs accouting
No one ever cared. libdrm does dynamic resizing of its reloc-table,
anyway.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01 22:18:11 +01:00
Daniel Vetter
ee7acf6493 i915g: switch to the exact batch space reservation code
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01 22:18:10 +01:00
Daniel Vetter
179cb58795 i915g: split up hw state emission into small atoms
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01 22:18:09 +01:00
Daniel Vetter
583eb13948 i915g: fix i915_winsys_batchbuffer_write
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01 20:57:57 +01:00
Marek Olšák
952222e4bf r300g: initialize some r500 PS3 regs 2011-03-01 19:10:30 +01:00
Marek Olšák
a5ee80a264 r300g: document some more DRM 2.8.0 features 2011-03-01 19:10:30 +01:00
Thomas Hellstrom
8b145e2302 st/egl: Implement swapbuffer throttling
When doing copy swapbuffers using drm, throttle on outstanding copy operations.
Introduces a new environment variable, EGL_THROTTLE_FENCES that the
user can use to indicate the desired number of outstanding swapbuffers, or
disable throttling using EGL_THROTTLE_FENCES=0.

This can and perhaps should be extended to the pageflip case as well, since
with some hardware pageflips can be pipelined. In case the pageflip syncs, the
throttle operation will be a no-op anyway.

Update copyright notices.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-01 10:36:19 +01:00
Thomas Hellstrom
c9febff31f st/egl/drm: Rework swapbuffers
Use the pageflip ioctl when available.
Otherwise, or when the backbuffer contents need to be preserved,
fall back to a copy operation.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-01 10:36:19 +01:00
Thomas Hellstrom
2b079485f6 st/egl: Add a helper to perform a copy swap on a resource surface
The copy swap can be used when we need to preserve the contents of
the back buffer or when there is no way to do native page-flipping.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-01 10:36:19 +01:00
Thomas Hellstrom
d1e4117355 st/egl: Move the copy context to the native display structure
This makes it usable also for native helpers.
Also add inline functions to access the context and to
uninit the native display structure.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-01 10:36:18 +01:00
Dave Airlie
b1ceda5cbd st/dri: one more missing array size
whats one more between friends.

again bnf on irc.
2011-03-01 18:32:33 +10:00
Dave Airlie
02448f2241 st/dri: fix missing array size init.
Init array size to 1,

reported by bnf on irc.
2011-03-01 18:29:24 +10:00
Dave Airlie
2d62e39c62 egl/st: add array size initialisor
reported by bnf on irc.
2011-03-01 18:24:15 +10:00
Dave Airlie
a44b65312e r600g: add NV_conditional_render support.
This is reliant on a drm patch that I posted on the list + a version bump.

These will appear in drm-next today.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-01 15:09:00 +10:00
Dave Airlie
929be6eb95 r600g: start using drm minor version to enable things.
If the drm minor version is > 9 (i.e. whats in drm-next),
we enable s3tc + texture tiling by default now.

this changes R600_FORCE_TILING to R600_TILING which can
be set to false to disable tiling on working drm.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-01 15:08:50 +10:00
Marek Olšák
ea4a19c392 r300g: fix RGTC2_SNORM
ATI engineers have probably chosen those sign bits by a dice roll.
2011-03-01 05:25:33 +01:00
Marek Olšák
66d5de74c4 r300g: reorder parts of translate_texformat 2011-03-01 05:25:33 +01:00
Alex Deucher
1dc204d145 r600g: truncate point sampled texture coordinates
By default the hardware rounds texcoords.  However,
for point sampled textures, the expected behavior is
to truncate.  When we have point sampled textures,
set the truncate bit in the sampler.

Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=25871

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-28 22:01:59 -05:00
Marek Olšák
7a61957424 r300g: fix RGTC1_UNORM and RGTC2_UNORM
Signs don't work the way I'd like...
2011-03-01 03:24:55 +01:00
Brian Paul
125b4ac7e6 softpipe: remove redundant draw_flush() call
We'll flush after the same-shader comparison.
2011-02-28 18:25:41 -07:00
Brian Paul
e6f3e24330 draw: setup pipe's draw pointer for the aapoint stage
The other draw stages like aaline and pstipple were already doing this.
If the driver used the aapoint stage but not the others it would crash
because of a null pipe->draw pointer.
2011-02-28 18:25:37 -07:00
Brian Paul
7e161bcf11 svga: add assertions in svga_shader_type() 2011-02-28 18:24:30 -07:00
Marek Olšák
790c731409 r300g: set the correct HiZ clear value 2011-03-01 01:46:27 +01:00
Marek Olšák
4609be4410 r300g: update derived state before uploading vertex buffers
The function may invoke blitter, which invalidates vertex buffers.
2011-03-01 00:46:58 +01:00
Marek Olšák
fbedd9c73a u_vbuf_mgr: compute user buffer size for instance data from instance_count 2011-03-01 00:46:58 +01:00
Marek Olšák
2f665885cd r300g: fix printing whether Z compression is enabled 2011-03-01 00:46:58 +01:00
Marek Olšák
ebf69f2c50 r300g: disable HiZ permanently if the the depth function is inverted
Instead of temporarily.

The HiZ function (something like a depth function) is a property
of a HiZ buffer and can only be changed during HiZ clears.
2011-03-01 00:46:54 +01:00
Marek Olšák
d99ec708af r300g: fix HiZ memory size computation and deciding when to use HiZ
I removed the HiZ memory management, because the HiZ RAM is too small
and I also did it in hope that HiZ will be enabled more often.

This also sets aligned strides to HIZ_PITCH and ZMASK_PITCH.
2011-03-01 00:23:11 +01:00
Alex Deucher
5f44fab5a6 r600g: add missing evergreen INT_TO_FLT to r600_bc_get_num_operands
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-28 17:21:26 -05:00
Jerome Glisse
c33e091d17 r600g: indentation fixes
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2011-02-28 13:33:13 -05:00
Marek Olšák
ab824a0722 r300g: initialize SC_SCREENDOOR 2011-02-28 12:43:26 +01:00
Marek Olšák
d1dbbf7bf4 r300g: disable hyper-z on rs6xx+
It doesn't work.
2011-02-28 12:28:07 +01: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
Daniel Vetter
132dc0b6d2 i915g: make dynamic state emission actually lazy
Premature semicolon.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-26 21:20:03 +01:00
Jakob Bornecrantz
11f9ec5422 gallivm: Initialize stack values
valgrind gives me a warning with llvmpipe with profile builds but
not debug builds, this seems to fix the issue at least.
2011-02-26 20:13:08 +01:00
Jakob Bornecrantz
052122a8cd i915g: Handle null constants properly 2011-02-26 15:45:47 +01:00
Daniel Vetter
b8e44f648e i915g: fix null deref in draw_rect emission
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-26 15:35:24 +01:00