Commit graph

7664 commits

Author SHA1 Message Date
Marek Olšák
7a3bbd3d5d r600g: cleanup r600_reset_blittable_to_compressed 2011-10-21 03:34:54 +02:00
Marek Olšák
a04f8c3612 r300g: don't return NULL in resource_from_handle if the resource is too small
The DDX may allocate a buffer with a too small size.
Instead of failing, let's pretend everything's alright.

Such bugs should be fixed in the DDX, of course.

NOTE: This is a candidate for the stable branches.
2011-10-20 23:37:22 +02:00
Christoph Bumiller
1f4f0c41db softpipe: implement/fix TIMESTAMP queries 2011-10-20 18:03:49 +02:00
Brian Paul
9a8791c889 softpipe: remove unused vars in softpipe_clear() 2011-10-18 15:43:22 -06:00
Thomas Hellstrom
6235846cb7 svga: Plug a fence leak
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-10-18 10:37:12 +02:00
Stéphane Marchesin
0b3842edb1 i915g: Use the right shader limits. 2011-10-17 21:43:46 -07:00
Stéphane Marchesin
3637b5f0dd i915g: Add TODO. 2011-10-17 21:43:46 -07:00
Mathias Fröhlich
e556983fc8 r600g: Use the bitfield define matching the register it is used for.
Fix a typo that should result in the same code.
2011-10-18 06:35:21 +02:00
Tom Stellard
53d32600cc r300/compiler: Try to eliminate REPL_ALPHA instructions
Scalar instruction that need to write to the xyz components of a
register must reserve the RGB instruction slot for a REPL_ALPHA
instruction.  With this commit, the scheduler will attempt to free
the RGB slot by moving the write to the w component of a register.
2011-10-16 19:54:48 -07:00
Tom Stellard
8327fd18c9 r300/compiler: More agressive RGB to Alpha conversions 2011-10-16 19:54:48 -07:00
Tom Stellard
653c7af3d6 r300/compiler: Only convert RGB->Alpha when optimizations are enabled 2011-10-16 19:54:48 -07:00
José Fonseca
e9c1d87ce7 llvmpipe: Use lp_build_ifloor_fract for exp2 calculation.
Instead of separate ifloor / fract calls.

No change for SSE4.1 code, but less FP<->SI conversions on non SSE4.1
systems.
2011-10-16 14:18:41 +01:00
Marek Olšák
1350882e49 Revert "r300g: fix rendering with a non-zero index bias in draw_elements_immediate"
This reverts commit 5506f6ef96.

It breaks more things than it fixes.
2011-10-16 03:19:11 +02:00
Christoph Bumiller
9934bfe28d nv50,nvc0: extend formats table for integer formats 2011-10-15 14:12:31 +02:00
Tom Stellard
0dc97e7fd4 r300/compiler: Enable reg rename pass on r500 and run it before optimizations
The scheduler and the register allocator are now smart enough to handle
it.
2011-10-14 18:30:14 -07:00
Tom Stellard
163629fd05 r300/compiler: Implement the texture semaphore
The texture semaphore allows for prefetching of texture data.  On my
RV515, this increases the FPS of Lightsmark by 33% (This is with the
reg_rename pass enabled, which is enabled in the next commit).

There is a new env variable now called RADEON_TEX_GROUP, which allows
you to specify the maximum number of texture lookups to do at once.
The default is 8, but different values could produce better results
for various application / card combinations.
2011-10-14 18:30:14 -07:00
Tom Stellard
51fe9994bd r300/compiler: Don't pair output writes with GPR writes in the scheduler 2011-10-14 18:30:14 -07:00
Tom Stellard
6fafb6beb7 r300/compiler: Prevent regalloc from creating non-native swizzles 2011-10-14 18:30:14 -07:00
Tom Stellard
47c7512846 r300/compiler: Allow merged instructions to be scheduled on demand
We no longer emit full instructions immediately after they have been
merged.  Instead merged instructions are added to the ready list and
the scheduler can commit them whenever it wants.
2011-10-14 18:30:14 -07:00
Marek Olšák
ae272a92a1 r300g: set max vertex samplers to 0 on swtcl chipsets
This should fix a bug added by f5bfe54a.

Might also fix:
https://bugs.freedesktop.org/show_bug.cgi?id=41715
2011-10-14 15:06:01 +02:00
Dave Airlie
ae1153c4ac softpipe: fix regression with tex tile cache since integer support.
Don't use the uint/int paths for ZS formats for tex tile cache.

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

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-12 08:25:28 +01:00
Marcin Slusarz
7f3de70c3c nv50: don't crash on TXD opcode
It doesn't implement full TXD, but at least it does not crash.
Fixes arb_shader_texture_lod-texgrad and glsl-fs-shadow2DGradARB-*
piglit tests.
2011-10-11 19:35:04 +02:00
Brian Paul
b875838ec3 svga: remove old, unused sincos code for SM2.0 2011-10-11 09:55:48 -06:00
Brian Paul
94b219b9e2 svga: remove support for shader model 2.0
We've been requiring SM 3.0 all along so this just removes unused code.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2011-10-11 09:30:09 -06:00
Dave Airlie
396ac41fc2 softpipe: add integer support
This adds support to the clear and tile caches for integer storage
and clearing, avoiding any floating paths.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-11 16:13:29 +01:00
Dave Airlie
866f9b18c6 gallium: rename ZS stencil type to UINT (v2)
these are never USCALED, always UINT in reality.

taken from some work by Christoph Bumiller

v2: fixup formatting of table + tabs

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-11 16:13:29 +01:00
Brian Paul
6b3e75de7c llvmpipe: don't support rendering to sRGB surfaces
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=34199
2011-10-11 07:47:25 -06:00
Brian Paul
f0c036536f i915g: fix warning about void pointer arithmetic 2011-10-11 07:40:11 -06:00
Stéphane Marchesin
a13eed4b82 i915g: Remove duplicated comment. 2011-10-10 18:18:37 -07:00
Stéphane Marchesin
4855522678 i915g: Update TODO once more. 2011-10-10 16:56:49 -07:00
Dave Airlie
95fd5e5aba r600g: drop force int type workaround
now that we have integer texture types I can drop this workaround so that
copies of values is done properly (as floats would fail on some corner cases).

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-10 20:53:26 +01:00
Dave Airlie
8d3e505ed6 r600g: add integer texture/render integer formats for r600/700.
with these I can drop the force int type hack.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-10 20:52:35 +01:00
Stéphane Marchesin
6bf8c7c010 i915g: Update the TODO with another idea. 2011-10-10 00:15:06 -07:00
Stéphane Marchesin
9977fb42ac i915g: Enable instanced drawing. 2011-10-10 00:15:05 -07:00
Dave Airlie
9b34cea7e9 r600g: uarl fixes.
Not 100% sure these are correct yet
2011-10-09 16:48:45 +01:00
Dave Airlie
ddcdd6137b r600g: enable integer shader cap for evergreen.
Will get to adding r600/r700/cayman support, have it mostly written on
another PC.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-09 16:48:45 +01:00
Marcin Slusarz
90dcd6c89a nouveau: hide some debugging messages behind environment variable
They spam console, but are not very useful - hide them behind
NOUVEAU_MESA_DEBUG environment variable.
2011-10-09 14:49:30 +02:00
Marcin Slusarz
f03810fbdd nv50,nvc0: avoid unnecessary flushes
Relocations don't consume pushbuffer space, so there is no need to
ensure there is any space in pushbuffer.
2011-10-09 14:49:30 +02:00
Marcin Slusarz
9849f366cb nouveau: fix fence hang
If there is not enough space in pushbuffer for fence emission
(nouveau_fence_emit -> nv50_screen_fence_emit -> MARK_RING),
the pushbuffer is flushed, which through flush_notify ->
nv50_default_flush_notify -> nouveau_fence_update marks currently
emitting fence as flushed. But actual emission is done after this mark.
So later when there is a need to wait on this fence and pushbuffer
was not flushed in between, fence wait will never finish causing
application to hang.

To fix this, introduce new fence state between AVAILABLE and EMITTED,
set it before emission and handle it everywhere.

Additionally obtain fence sequence numbers after possible flush in
MARK_RING, because we want to emit fences in correct order.

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>

Note: This is a candidate for the 7.11 branch.
2011-10-09 14:49:30 +02:00
Dave Airlie
0110aa09e5 r600g/eg: add integer types support
adds handling for int texture/vertices to evergreen.

TODO r600/700 support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-09 10:06:18 +01:00
Dave Airlie
4e28e6f6c7 u_blitter: add integer clear support
We need add a new set of fragment shader variants, along with new vertex
elements for signed and unsigned clears.

The new fragment shader variants are due to the integers values requiring
CONSTANT interpolation. The new vertex element descriptions are for passing
the clear color as an unsigned or signed integer value.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-09 10:01:08 +01:00
Stéphane Marchesin
06415d3fab i915g: Remove another TODO item which was done a while ago. 2011-10-08 23:58:46 -07:00
Stéphane Marchesin
5dfeab71cf i915g: Remove a TODO item. 2011-10-08 23:58:06 -07:00
Stéphane Marchesin
03cd54dc60 i915g: Fix comment. 2011-10-08 23:57:27 -07:00
Stéphane Marchesin
8a22064d31 i915g: Implement vertex textures. 2011-10-08 23:54:53 -07:00
Stéphane Marchesin
e125786be8 i915g: Silence warning. 2011-10-08 20:19:53 -07:00
Stéphane Marchesin
49fea2e039 i915g: Remove old heuristic flusing remains. 2011-10-08 17:42:18 -07:00
Stéphane Marchesin
cd41960e8f i915g: Cleanup caps code a bit. 2011-10-08 17:12:37 -07:00
Dave Airlie
a441feb757 gallium: add initial pure integer support (v2)
This add support for unsigned/signed integer types via adding a 'pure' bit
in the format description table. It adds 4 new u_format get/put hooks,
for get/put uint and get/put sint so that accessors can get native access
to the integer bits. This is used to avoid precision loss via float converting
paths.

It doesn't add any float fetchers for these types at the moment, GL doesn't
require float fetching from these types and I expect we'll introduce a lot
of hidden bugs if we start allowing such conversions without an API mandating
it.

It adds all formats from EXT_texture_integer and EXT_texture_rg.

0 regressions on llvmpipe here with this.

(there is some more follow on code in my gallium-int-work branch, bringing
 softpipe and mesa to a pretty integer clean state)

v2: fixup python generator to get signed->unsigned and unsigned->signed
fetches working.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-08 17:44:59 +01:00
Marek Olšák
20788a908b r300g: remove unused r300_resource::tex_offset 2011-10-08 02:21:24 +02:00