Commit graph

23695 commits

Author SHA1 Message Date
Maciej Cencora
2b5f8d2b55 r300: fix RS setup when no colors and textures are sent to FP
RS_COL_FMT field is part of RS_IP_* reg not RS_INST_*
2009-06-11 23:25:53 +02:00
Maciej Cencora
34cb4b6be3 r300: r500 fragment program fixes
- when rewriting per component negate swizzle, first instruction should get not negated source
- KIL instruction ignores swizzles

TODO:
- tex instructions does not support saturation
- tex instructions cannot read from consant memory
2009-06-11 23:25:53 +02:00
Maciej Cencora
e21e82f425 radeon: increase max bo count 2009-06-11 23:25:53 +02:00
Maciej Cencora
9abc72d1fc r300: fix a GPU lock up
Sending from VAP more texture coordinates than RS expects results in GPU hang.

Fixes BumpSelfShadow from DirectX8 SDK.
2009-06-11 23:24:25 +02:00
Maciej Cencora
de19eb0b0d r300: fix vertex program bug
If the vertex program didn't write position attribute, the position invariant function would add necessary instructions, but the vertex position would be overwritten by artificial outputs insts added to satisfy fragment program requirements.

Fixes "whole screen is gray" problem for HW TCL path in sauerbraten when shaders are enabled, and whole slew of wine d3d9 tests.
2009-06-11 23:24:25 +02:00
Maciej Cencora
2611e92da5 r300: move some code for easier debugging 2009-06-11 23:24:25 +02:00
Maciej Cencora
52645c4647 r300: print vertex program when debugging is enabled 2009-06-11 23:24:25 +02:00
Maciej Cencora
28724b575d r300: fix output register allocation for vertex shaders
If the vertex program wrote secondary color without primary color, the secondary color output register index would be 0 which resulted in overwriting vertex position in some cases.
2009-06-11 23:24:25 +02:00
Maciej Cencora
b4ebd1c191 r300: hw doesn't support saturation for tex instructions 2009-06-11 23:24:25 +02:00
Jerome Glisse
b445e54868 r300: fix indexed primitive rendering when using memory manager 2009-06-11 11:06:14 +02:00
Jerome Glisse
316598b96f r300: make sure indexed rendering doesn't try to use more than the num of vertices
When with memory manager we need to make sure the GPU won't try to access
beyond vertex buffer size, do so by enforcing that the maximun index is the
last vertex of the buffer.
2009-06-10 14:59:33 +02:00
Dave Airlie
18b3cbcede radeon: fix mipmap_limits crasher.
This gets the correct srclvl image map when uploading images to the new mipmap.
2009-06-09 13:52:58 +10:00
Maciej Cencora
db63f63897 r300: fix regression caused by 056bc77547c304021a0faf204897ed238a5cf424
Fixes GPU hangs in software TCL path
2009-06-08 07:21:14 +10:00
Dave Airlie
545e574cd9 Merge remote branch 'origin/master' into radeon-rewrite 2009-06-07 16:51:32 +10:00
Michel Dänzer
e2aedfa620 r300: Endianness fixes for recent vertex path changes.
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2009-06-07 16:40:09 +10:00
Maciej Cencora
58982f8af1 r300: vertex array stride = 0 means that data are tightly packed in the array 2009-06-07 16:40:04 +10:00
Maciej Cencora
ca13937ef9 r300: GL_(U)SHORT and GL_(U)BYTE with < 4 components can also be HW accelerated
Also when index format is GL_UBYTE, convert it to GL_USHORT not GL_UINT.
Fix license header too.

Reported by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-06-07 16:39:58 +10:00
Maciej Cencora
a8c7c96be7 r300: remove unused code 2009-06-07 16:39:54 +10:00
Maciej Cencora
72c78b9992 r300: rewrite vertex setup for software T&L path using functions from software TCL path 2009-06-07 16:39:47 +10:00
Maciej Cencora
6cd0628f9f r300: prepare for some code duplication removal 2009-06-07 16:39:43 +10:00
Maciej Cencora
365799caea r300: enable EXT_vertex_array_bgra extensions 2009-06-07 16:39:39 +10:00
Maciej Cencora
fd80128e15 r300: add hw accelerated support for different vertex data formats 2009-06-07 16:39:33 +10:00
Maciej Cencora
e98082997c r300: prepare for different vertex data type support 2009-06-07 16:39:28 +10:00
Maciej Cencora
a27b689d08 r300: fixup vertex attributes ordering
Always allocate the vertex program input registers in the same order as the vertex attributes are passed in vertex arrays.
2009-06-07 16:39:23 +10:00
Maciej Cencora
ab60a44331 r300: always pass 4 color components to RS unit
Even if we don't pass all 4 color components to vertex shader unit, the vertex program can generate the missing components.
2009-06-07 16:39:16 +10:00
Ben Skeggs
f1edfa09ea nv50: fix multi-texturing 2009-06-06 16:24:09 +10:00
Ben Skeggs
6c1627a51c nv50: support non-normalized texture coords 2009-06-06 16:24:08 +10:00
Corbin Simpson
b7aa5b1d10 r300-gallium: Use VAP_CLIP_CNTL.
Makes tri-userclip work with HW TCL.
2009-06-05 13:46:59 -07:00
Corbin Simpson
1a359d9835 r300-gallium: Emit UCP. 2009-06-05 11:21:09 -07:00
Corbin Simpson
9e4590dff7 r300-gallium: Improve vs emit. 2009-06-05 10:18:20 -07:00
Michal Krol
4c034441a8 mesa: Fix wglext.h prototypes. 2009-06-05 15:01:08 +02:00
Ben Skeggs
d06e380e02 nv50: use larger tile sizes 2009-06-05 22:53:24 +10:00
Ben Skeggs
a471497345 nv50: use nouveau_bo for query buffers 2009-06-05 22:53:24 +10:00
Ben Skeggs
1a92c71a66 nv50: create textures with nouveau_bo, for flexibility with tiling later 2009-06-05 22:53:23 +10:00
Michal Krol
b04470b0bc util: Fix winsock include. 2009-06-05 14:32:31 +02:00
Corbin Simpson
90bfff0a29 r300-gallium: Mute some debug info.
Most of it is no longer interesting.
2009-06-05 00:12:26 -07:00
Corbin Simpson
4c66c5bf92 r300-gallium: vs: Fix negation calculation.
Still doesn't draw right, but at least it's the right numbers now.
Thanks to taiu in #dri-devel.
2009-06-04 23:56:32 -07:00
Corbin Simpson
571b36831b r300-gallium: Fix pasta.
Trivial but annoying.
2009-06-04 23:56:08 -07:00
Corbin Simpson
8652ad6899 r300-gallium: Improve vs debug more.
Still not showing me why my stuff's failing, but getting there.
2009-06-04 23:27:46 -07:00
Corbin Simpson
31609acbe9 r300-gallium: vs: Add negation, SUB.
Doesn't work. WTF.
2009-06-04 23:27:46 -07:00
Corbin Simpson
fb7d1fb0f0 r300: Moar vs debug. 2009-06-04 23:27:46 -07:00
Ben Skeggs
36705ee044 nouveau: plug in our map_buffer_range and friends 2009-06-05 14:48:45 +10:00
Ben Skeggs
40ed449918 nouveau: fix build with libdrm_nouveau 0.6 2009-06-05 14:37:04 +10:00
Ben Skeggs
6b3ca672eb nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws-> 2009-06-05 14:37:03 +10:00
Ben Skeggs
80e9e1ee81 nouveau: move channel creation into pipe drivers 2009-06-05 14:37:03 +10:00
Ben Skeggs
1b207d9bb8 nouveau: call notifier/grobj etc funcs directly
libdrm_nouveau is linked with the winsys, there's no good reason to do all
this through yet another layer.
2009-06-05 14:37:03 +10:00
Ben Skeggs
d4d584b16e nv04: remove u_simple_screen usage 2009-06-05 14:37:02 +10:00
Ben Skeggs
251c47117b nv10: remove u_simple_screen usage 2009-06-05 14:37:02 +10:00
Ben Skeggs
74c45add47 nv20: remove u_simple_screen usage 2009-06-05 14:37:01 +10:00
Ben Skeggs
901d7c3057 nv30: remove u_simple_screen usage 2009-06-05 14:37:01 +10:00