Commit Graph

33810 Commits

Author SHA1 Message Date
Marek Olšák
075d9698ed st/mesa: trivially enable ATI_texture_mirror_once
This is a strict subset of already-advertised EXT_texture_mirror_clamp and
shares the same enumerants.
2010-04-14 04:48:19 +02:00
Marek Olšák
36e0100e9e r300g: kill off r300_fragment_shader::shadow_samplers and friends 2010-04-14 04:48:19 +02:00
José Fonseca
c57bac1f13 retrace: Update for recent interface changes. 2010-04-14 10:22:57 +09:00
José Fonseca
d2c5a3093f trace: Ignore transfer_flush_region too. 2010-04-14 10:22:57 +09:00
Vinson Lee
ee9ee03cab i915g: Fix winsys SCons build. 2010-04-13 17:17:15 -07:00
Jakob Bornecrantz
4e20781bac i915g: Whitespace & formating 2010-04-13 23:57:43 +01:00
Jakob Bornecrantz
136bcf6cee i915g: Mark shared layouts more clearly 2010-04-13 23:52:26 +01:00
Jakob Bornecrantz
2b64883269 i915: Fix comments about cube layouts 2010-04-13 23:52:26 +01:00
Jesse Barnes
1318848f78 Merge branch '7.8' 2010-04-13 09:40:14 -07:00
Jesse Barnes
157bdd1446 DRI2: report swap events correctly in direct rendered case
In the direct rendered case, we need to convert DRI2 swap complete
events to GLX events for the client to consume.  This path had what
looks like a stray "& 0x75" from some earlier debugging that prevented
clients from seeing the right event code.
2010-04-13 09:39:28 -07:00
Alan Hourihane
efc69ca61c llvmpipe: disable half float formats 2010-04-13 15:40:49 +01:00
Chia-I Wu
1e7f191d3a gallium: Remove pipe_screen::update_buffer.
It has no user after the removal of st_public.  Plus, it has never been
implemented by a pipe driver or winsys.
2010-04-13 21:47:23 +08:00
Alan Hourihane
cd834499eb gallium: disable tests when using embedded build 2010-04-13 12:54:36 +01:00
José Fonseca
cd4e5879eb scons: Fix exception when llvm-config is not present. 2010-04-13 19:42:29 +09:00
Michal Krol
ddc42b6380 util: Fix util_dynarray_trim(). 2010-04-13 09:00:39 +01:00
Luca Barbieri
a79521d497 nvfx: use dynamically sized rotating BO pool for fragment programs
Currently we used a single buffer for each fragment programs, leading to
rendering synchronization. This patch uses a doubly linked list of BOs,
which is dynamically resized if all the BOs are busy.

Note that inline image transfers could be an alternative option: this
will be explored later.

This removes one of the big performance limitations of the current
driver.

We also stop using pipe_resource internally in favor of using nouveau_bo
directly.
2010-04-13 09:55:49 +02:00
Vinson Lee
9f39d3240b draw llvm: Initialize variable. 2010-04-13 00:49:58 -07:00
Vinson Lee
8316da7cd2 r300g: Silence uninitialized variable warning. 2010-04-13 00:35:10 -07:00
Vinson Lee
833e6f0524 st/mesa: Remove state_tracker/st_framebuffer.c from SConscript.
This was missed in commit da8412ec19.
Fixes SCons build.
2010-04-13 00:29:33 -07:00
Chia-I Wu
da8412ec19 st/mesa: Drop st_public support.
There is no user of st_public now.
2010-04-13 15:15:43 +08:00
Chia-I Wu
a1dbd009d4 st/vega: Drop st_public support.
There is no user of st_public now.
2010-04-13 15:15:43 +08:00
Chia-I Wu
76708c665c st/vega: Do not rely on st_resize_framebuffer.
Add vg_context_update_draw_buffer (and helpers) that duplicates the
logic of st_resize_framebuffer.  Use the new function instead of
st_resize_framebuffer in vg_manager.c.
2010-04-13 15:15:43 +08:00
Luca Barbieri
50409dd71b nvfx: fix for 64-bit systems
Thanks to Patrice Mandin for debugging this.
2010-04-13 09:03:15 +02:00
Luca Barbieri
bf7e0e839f gallium/auxiliary: make util_dynarray_trim do nothing if size == capacity 2010-04-13 08:26:00 +02:00
Luca Barbieri
6c31dd1198 gallium/auxiliary: add util_dynarray_resize 2010-04-13 08:25:39 +02:00
Luca Barbieri
c572619817 gallium/auxiliary: fix util_dynarray_trim to 0 to free the data
This works better and preserves the
data != 0 if and only if capacity != 0 invariant.
2010-04-13 08:18:59 +02:00
Luca Barbieri
5f968a64dc util: implement Jose Fonseca's suggestions for u_buffer.h -> u_dynarray.h
Also describe invariants explicitly and use char* for arithmetic.
2010-04-13 06:10:31 +02:00
Corbin Simpson
c2e804a7e1 r300/compiler: Hax around instructions limits in mirroring code.
Stuff's starting to show up in arbnpot.
2010-04-12 18:24:05 -07:00
Brian Paul
497b66094d docs: update name, link for mesa-dev list 2010-04-12 18:45:10 -06:00
Dave Airlie
911fa4a4a1 ffvertex: don't touch tex coords if coord replace is enabled.
The fixed function vertex program shouldn't need to deal or touch tex coords
if stuffing is enabled.

Though I'm not 100% this won't break assumption made elsewhere it seems like
the correct thing to do, and makes r300g point sprites a lot easier to implement.

draw: fix point-sprite when vertex program is used.

This commit regressed draw, so fix it as well to help bisection.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-13 09:19:39 +10:00
Marek Olšák
745c4b5685 r300g: add generating texture coordinates for point sprites
[airlied -
	Convert sprite coord index to a per-coord enable bit
	set the rasteriser block up correctly for point sprites.

The inputs to the RS hw block change for sprite coords, so fix them up
properly - this fixes piglit point-sprite test.
]

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-13 09:18:47 +10:00
José Fonseca
6917ef10f2 progs/gallium: Move into src/gallium/tests
Two reasons:
- progs will eventually have its own repository
- it is just to easy to forget updating the
  code for interface changes when it is outside of src
2010-04-13 07:05:46 +09:00
Luca Barbieri
6cd82eb399 gallium/auxiliary: add dynamically sized buffer/array/vector 2010-04-12 23:50:37 +02:00
Luca Barbieri
70fe9fd007 nvfx: add LRP in vertprog
glsl generates these.
2010-04-12 23:43:40 +02:00
Luca Barbieri
b385a31452 nvfx: add SIN and COS in vertprog 2010-04-12 23:43:39 +02:00
Luca Barbieri
d2e3942531 nvfx: add missing vertprog setcond instructions
Trivially adds SEQ, SGT, SLE, SNE, SFL, STR and SSG which were missing.
2010-04-12 23:43:22 +02:00
Luca Barbieri
6f65dcfb9f nvfx: allocate a bigger block for queries
This patch allocates a bigger chunk of memory to store queries in,
increasing the (hidden) outstanding query limit.
2010-04-12 23:36:21 +02:00
Luca Barbieri
9ad385fef9 nvfx: support an unlimited number of occlusion queries
Currently on nv30/nv40 an assert will be triggered once 32 queries are
outstanding.

This violates the OpenGL/Gallium interface, which requires support for
an unlimited number of fences.

This patch fixes the problem by putting queries in a linked list and
waiting on the oldest one if allocation fails.

nVidia seems to use a similar strategy, but with 1024 instead of 32 fences.
The next patch will improve this.
2010-04-12 23:36:21 +02:00
Vinson Lee
202760b437 r300g: Move declaration before code.
Fixes SCons build.
2010-04-12 12:50:41 -07:00
Luca Barbieri
31268d2107 nvfx: fix TXL opcode value
Was broken during unification
2010-04-12 20:48:52 +02:00
Luca Barbieri
7fc7b75995 nvfx: Add support for two sided color
This patch adds support for two-sided vertex color to nv30/nv40.

When set, the COLOR0/1 fs inputs on back faces will be wired to vs outputs BCOLOR0/1.
This makes OpenGL two sided lighting work, which can be tested with progs/demos/projtex.
2010-04-12 20:46:18 +02:00
Luca Barbieri
a2ddae0fc3 nvfx: fix compile error 2010-04-12 20:43:26 +02:00
Luca Barbieri
6d6acaebad nvfx: don't use hw index buffers on nv3x and nv44
They only apparently work on nv40 grclass cards, and this was the
previous behavior of the driver.

This really needs to be investigated more.
2010-04-12 20:39:09 +02:00
Luca Barbieri
f9397f34b6 nvfx: expose PIPE_FORMAT_B8G8R8X8_UNORM support
This is implemented in nvfx_state_fb and fragtex but was missing
in nvfx_screen.

This allows to avoid glCopyTexSubImage CPU fallbacks and makes Doom 3
much faster as a result.
2010-04-12 20:23:02 +02:00
Luca Barbieri
44ef1577be nvfx: add support for ARB_half_float_vertex 2010-04-12 20:20:02 +02:00
Luca Barbieri
d5dcd4ee35 st/mesa: half float vertex support (unexposed)
This was proposed by Marek Olšák and no one objected, so just
pushing it.

The extension is currently not exposed, because the mechanism to
discover if the driver actually supports this is missing.

We probably should change is_format_supported to handle this too.

This will allow to test Gallium drivers anyway in the meantime.

Based on work by Dave Airlie.

Changes by me:
1. Fix assertion in st
2. Change to use unpadded Gallium formats
2010-04-12 20:19:56 +02:00
Luca Barbieri
f9c665e9e6 nvfx: allocate buffers in GART if !NOUVEAU_SWTNL
Should improve performance and fix serious regressions on AGP cards.
2010-04-12 18:53:30 +02:00
Luca Barbieri
8f0d5382e3 nvfx: move check for NOUVEAU_SWTNL 2010-04-12 18:06:06 +02:00
Luca Barbieri
f647f46e03 nvfx: remove #include "nouveau_stateobj.h"
No longer used, finally!
2010-04-12 12:21:25 +02:00
Luca Barbieri
330925d911 nvfx: rework validation logic to use code and avoid stateobjs
This makes the code faster due to the lack of indirect calls and also
makes it much easier to understand what is actually going on.
2010-04-12 12:21:25 +02:00