Maciej Cencora [Wed, 10 Jun 2009 15:05:38 +0000 (17:05 +0200)]
r300: fix VAP setup
If GL context had e.g. tex0, tex2 and fog the VAPOutputCntl1 returned 0x104 instead of 0x124 - that meaned we're sending only 8 texcoords (instead of 12) which ended up in GPU hang.
Maciej Cencora [Wed, 10 Jun 2009 14:58:15 +0000 (16:58 +0200)]
r300: fix for SW TCL path
We shouldn't use i variable for SWTCL_OVM_TEX because textures doesn't have to be enabled in "packed" order.
We could have tex1,tex3 and fog which would receive 7,9,8 OVM locations instead of 6,7,8.
Maciej Cencora [Wed, 10 Jun 2009 14:56:51 +0000 (16:56 +0200)]
r300: don't send unused attributes for SW TCL path
Maciej Cencora [Wed, 10 Jun 2009 14:04:35 +0000 (16:04 +0200)]
r300: send only RS_IP_* regs that we are going to use
Maciej Cencora [Wed, 10 Jun 2009 22:43:55 +0000 (00:43 +0200)]
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_*
Maciej Cencora [Wed, 10 Jun 2009 02:09:33 +0000 (04:09 +0200)]
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
Maciej Cencora [Sun, 7 Jun 2009 19:27:52 +0000 (21:27 +0200)]
radeon: increase max bo count
Maciej Cencora [Sun, 7 Jun 2009 19:34:44 +0000 (21:34 +0200)]
r300: fix a GPU lock up
Sending from VAP more texture coordinates than RS expects results in GPU hang.
Fixes BumpSelfShadow from DirectX8 SDK.
Maciej Cencora [Fri, 5 Jun 2009 16:32:05 +0000 (18:32 +0200)]
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.
Maciej Cencora [Fri, 5 Jun 2009 16:27:00 +0000 (18:27 +0200)]
r300: move some code for easier debugging
Maciej Cencora [Fri, 5 Jun 2009 16:23:55 +0000 (18:23 +0200)]
r300: print vertex program when debugging is enabled
Maciej Cencora [Fri, 5 Jun 2009 16:14:15 +0000 (18:14 +0200)]
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.
Maciej Cencora [Fri, 5 Jun 2009 16:00:58 +0000 (18:00 +0200)]
r300: hw doesn't support saturation for tex instructions
Jerome Glisse [Thu, 11 Jun 2009 09:06:14 +0000 (11:06 +0200)]
r300: fix indexed primitive rendering when using memory manager
Jerome Glisse [Wed, 10 Jun 2009 12:59:33 +0000 (14:59 +0200)]
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.
Dave Airlie [Tue, 9 Jun 2009 03:52:58 +0000 (13:52 +1000)]
radeon: fix mipmap_limits crasher.
This gets the correct srclvl image map when uploading images to the new mipmap.
Maciej Cencora [Sun, 7 Jun 2009 20:51:46 +0000 (22:51 +0200)]
r300: fix regression caused by
056bc77547c304021a0faf204897ed238a5cf424
Fixes GPU hangs in software TCL path
Dave Airlie [Sun, 7 Jun 2009 06:51:32 +0000 (16:51 +1000)]
Merge remote branch 'origin/master' into radeon-rewrite
Michel Dänzer [Thu, 4 Jun 2009 06:42:29 +0000 (08:42 +0200)]
r300: Endianness fixes for recent vertex path changes.
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
Maciej Cencora [Fri, 5 Jun 2009 15:58:04 +0000 (17:58 +0200)]
r300: vertex array stride = 0 means that data are tightly packed in the array
Maciej Cencora [Sun, 31 May 2009 21:00:57 +0000 (23:00 +0200)]
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>
Maciej Cencora [Sat, 30 May 2009 14:12:53 +0000 (16:12 +0200)]
r300: remove unused code
Maciej Cencora [Sat, 30 May 2009 11:50:50 +0000 (13:50 +0200)]
r300: rewrite vertex setup for software T&L path using functions from software TCL path
Maciej Cencora [Sat, 30 May 2009 13:09:19 +0000 (15:09 +0200)]
r300: prepare for some code duplication removal
Maciej Cencora [Sat, 30 May 2009 11:19:07 +0000 (13:19 +0200)]
r300: enable EXT_vertex_array_bgra extensions
Maciej Cencora [Sat, 30 May 2009 18:38:29 +0000 (20:38 +0200)]
r300: add hw accelerated support for different vertex data formats
Maciej Cencora [Sat, 30 May 2009 11:28:47 +0000 (13:28 +0200)]
r300: prepare for different vertex data type support
Maciej Cencora [Wed, 27 May 2009 20:17:31 +0000 (22:17 +0200)]
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.
Maciej Cencora [Wed, 27 May 2009 20:12:56 +0000 (22:12 +0200)]
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.
Ben Skeggs [Sat, 6 Jun 2009 04:00:45 +0000 (14:00 +1000)]
nv50: fix multi-texturing
Ben Skeggs [Sat, 6 Jun 2009 00:57:19 +0000 (10:57 +1000)]
nv50: support non-normalized texture coords
Corbin Simpson [Fri, 5 Jun 2009 20:46:59 +0000 (13:46 -0700)]
r300-gallium: Use VAP_CLIP_CNTL.
Makes tri-userclip work with HW TCL.
Corbin Simpson [Fri, 5 Jun 2009 18:21:09 +0000 (11:21 -0700)]
r300-gallium: Emit UCP.
Corbin Simpson [Fri, 5 Jun 2009 17:18:20 +0000 (10:18 -0700)]
r300-gallium: Improve vs emit.
Michal Krol [Fri, 5 Jun 2009 13:00:15 +0000 (15:00 +0200)]
mesa: Fix wglext.h prototypes.
Ben Skeggs [Fri, 5 Jun 2009 12:04:07 +0000 (22:04 +1000)]
nv50: use larger tile sizes
Ben Skeggs [Fri, 5 Jun 2009 10:45:58 +0000 (20:45 +1000)]
nv50: use nouveau_bo for query buffers
Ben Skeggs [Fri, 5 Jun 2009 10:32:32 +0000 (20:32 +1000)]
nv50: create textures with nouveau_bo, for flexibility with tiling later
Michal Krol [Fri, 5 Jun 2009 12:32:31 +0000 (14:32 +0200)]
util: Fix winsock include.
Corbin Simpson [Fri, 5 Jun 2009 07:12:26 +0000 (00:12 -0700)]
r300-gallium: Mute some debug info.
Most of it is no longer interesting.
Corbin Simpson [Fri, 5 Jun 2009 06:56:32 +0000 (23:56 -0700)]
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.
Corbin Simpson [Fri, 5 Jun 2009 06:56:08 +0000 (23:56 -0700)]
r300-gallium: Fix pasta.
Trivial but annoying.
Corbin Simpson [Fri, 5 Jun 2009 06:25:46 +0000 (23:25 -0700)]
r300-gallium: Improve vs debug more.
Still not showing me why my stuff's failing, but getting there.
Corbin Simpson [Fri, 5 Jun 2009 05:41:33 +0000 (22:41 -0700)]
r300-gallium: vs: Add negation, SUB.
Doesn't work. WTF.
Corbin Simpson [Fri, 5 Jun 2009 04:38:33 +0000 (21:38 -0700)]
r300: Moar vs debug.
Ben Skeggs [Fri, 5 Jun 2009 04:48:45 +0000 (14:48 +1000)]
nouveau: plug in our map_buffer_range and friends
Ben Skeggs [Fri, 5 Jun 2009 02:27:42 +0000 (12:27 +1000)]
nouveau: fix build with libdrm_nouveau 0.6
Ben Skeggs [Fri, 5 Jun 2009 01:21:08 +0000 (11:21 +1000)]
nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws->
Ben Skeggs [Fri, 5 Jun 2009 00:28:13 +0000 (10:28 +1000)]
nouveau: move channel creation into pipe drivers
Ben Skeggs [Thu, 4 Jun 2009 22:47:42 +0000 (08:47 +1000)]
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.
Ben Skeggs [Thu, 4 Jun 2009 11:57:53 +0000 (21:57 +1000)]
nv04: remove u_simple_screen usage
Ben Skeggs [Thu, 4 Jun 2009 11:53:57 +0000 (21:53 +1000)]
nv10: remove u_simple_screen usage
Ben Skeggs [Thu, 4 Jun 2009 11:44:20 +0000 (21:44 +1000)]
nv20: remove u_simple_screen usage
Ben Skeggs [Thu, 4 Jun 2009 11:37:59 +0000 (21:37 +1000)]
nv30: remove u_simple_screen usage
Ben Skeggs [Thu, 4 Jun 2009 11:30:41 +0000 (21:30 +1000)]
nv40: remove u_simple_screen usage
Ben Skeggs [Thu, 4 Jun 2009 00:19:04 +0000 (10:19 +1000)]
nouveau: add pipe_buffer/fence code to pipe drivers, move nv50 over
Ben Skeggs [Thu, 4 Jun 2009 06:13:56 +0000 (16:13 +1000)]
nouveau: pass nouveau_bo instead of pipe_buffer to so_ calls
Ben Skeggs [Thu, 4 Jun 2009 05:26:07 +0000 (15:26 +1000)]
nouveau: call nouveau_pushbuf directly rather than going through nvws
Dan Nicholson [Fri, 5 Jun 2009 02:42:08 +0000 (19:42 -0700)]
osmesa: Link with -ldl for dlopen code
Now that the dlopen wrappers are built into libmesa.a, we need to link
standalone libOSMesa with libdl to resolve dlopen and friends on
platforms that need it.
Dan Nicholson [Thu, 4 Jun 2009 13:21:10 +0000 (06:21 -0700)]
osmesa: Allow building standalone in all three channel widths
autoconf had been designating the 8 bit libOSMesa as the default
standalone osmesa, but the Makefile expected it to be linked to libGL.
Fix up the osmesa Makefile so that it allows any of the combinations of
standalone and channel width to be built.
Fixes bug #21980.
Jakob Bornecrantz [Fri, 5 Jun 2009 02:01:34 +0000 (03:01 +0100)]
trace/rbug: Use condvar on system that has it for blocking
Jakob Bornecrantz [Fri, 5 Jun 2009 01:57:19 +0000 (02:57 +0100)]
gallium: Make pipe thread say if it has condvars or not
Jakob Bornecrantz [Thu, 4 Jun 2009 22:40:10 +0000 (23:40 +0100)]
trace/rbug: Add new contexts functions to trace rbug
Jakob Bornecrantz [Thu, 4 Jun 2009 13:36:10 +0000 (14:36 +0100)]
rbug: Update rbug protocol with new context calls
Brian Paul [Thu, 4 Jun 2009 20:26:51 +0000 (14:26 -0600)]
mesa: call _mesa_ funcs, not gl funcs for debugging
Brian Paul [Thu, 4 Jun 2009 19:16:13 +0000 (13:16 -0600)]
Merge branch 'mesa_7_5_branch'
Conflicts:
src/mesa/main/context.c
Brian Paul [Thu, 4 Jun 2009 19:13:14 +0000 (13:13 -0600)]
softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN.
This is a follow-on to commit
a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
(cherry picked from commit
086ecea179ed572c89aa77c5f465671a5cef87a7)
Brian Paul [Thu, 4 Jun 2009 19:12:13 +0000 (13:12 -0600)]
softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
This fixes incorrect front/back-face orientation.
(cherry picked from commit
a64bbdaa3e0b036a880d6db65ceb4a66205062f1)
Brian Paul [Thu, 4 Jun 2009 19:10:19 +0000 (13:10 -0600)]
st/mesa: increase ST_MAX_SHADER_TOKENS to 8k
Brian Paul [Thu, 4 Jun 2009 19:08:52 +0000 (13:08 -0600)]
tgsi: increase MAX_LABELS to 4096
Brian Paul [Thu, 4 Jun 2009 16:30:25 +0000 (10:30 -0600)]
mesa: update wglext.h to latest version
Brian Paul [Thu, 4 Jun 2009 16:29:44 +0000 (10:29 -0600)]
mesa: remove PFNGL typedefs that are in glext.h
Brian Paul [Thu, 4 Jun 2009 16:27:47 +0000 (10:27 -0600)]
mesa: upgrade glext.h to version 52
A number of the PFNGL* function typedefs are now in glext.h and must be
omitted from the gl.h file. gl.h will be pruned in the next commit.
Eric Anholt [Wed, 3 Jun 2009 16:40:20 +0000 (16:40 +0000)]
intel: Add support for tiled textures.
This is about a 30% performance win in OA with high settings on my GM45,
and experiments with 915GM indicate that it'll be around a 20% win there.
Currently, 915-class hardware is seriously hurt by the fact that we use
fence regs to control the tiling even for 3D instructions that could live
without them, so we spend a bunch of time waiting on previous rendering in
order to pull fences off. Thus, the texture_tiling driconf option defaults
off there for now.
Eric Anholt [Thu, 4 Jun 2009 10:21:29 +0000 (10:21 +0000)]
i915: Don't rely on fence regs when we don't have to.
We're on the way to telling the kernel about when we need fence regs on our
objects or not, and this will cut the number of places needing them.
Eric Anholt [Thu, 4 Jun 2009 09:40:44 +0000 (09:40 +0000)]
i915: Remove some long-dead i830 code.
Brian Paul [Thu, 4 Jun 2009 00:33:07 +0000 (18:33 -0600)]
softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN.
This is a follow-on to commit
a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
Brian Paul [Thu, 4 Jun 2009 00:31:55 +0000 (18:31 -0600)]
softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
This fixes incorrect front/back-face orientation.
Brian Paul [Wed, 3 Jun 2009 23:09:03 +0000 (17:09 -0600)]
swrast: always do span clipping in _swrast_write_rgba_span()
It's possible for mis-behaving vertex programs to produce vertex data
with very large/NaN values. This doesn't get handled reliably by the
clipper code so we may try to rasterize triangles that extend beyond
the viewport/window. Always clip spans to avoid invalid memory accesses
later.
Brian Paul [Wed, 3 Jun 2009 23:05:37 +0000 (17:05 -0600)]
vbo: minor reformatting
Brian Paul [Wed, 3 Jun 2009 23:03:11 +0000 (17:03 -0600)]
vbo: move/refactor debug code
Brian Paul [Wed, 3 Jun 2009 22:59:44 +0000 (16:59 -0600)]
vbo: added debug code to check array data validity (disabled)
Brian Paul [Wed, 3 Jun 2009 21:46:56 +0000 (15:46 -0600)]
vbo: new debug/dump code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:43:53 +0000 (15:43 -0600)]
mesa: added NaN checking code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:42:52 +0000 (15:42 -0600)]
mesa: check/prevent NaN for EX2/LG2
Brian Paul [Wed, 3 Jun 2009 21:40:05 +0000 (15:40 -0600)]
tnl: updated clip debug code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:38:57 +0000 (15:38 -0600)]
mesa: added buffer object debug code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:36:24 +0000 (15:36 -0600)]
tnl: add some floating point sanity checks (disabled)
Brian Paul [Tue, 2 Jun 2009 15:16:33 +0000 (09:16 -0600)]
vbo: tweak out-of-bounds VBO access error message
Subtract 1 from _MaxElement to be clearer.
Ian Romanick [Wed, 3 Jun 2009 16:55:42 +0000 (17:55 +0100)]
Thank you git for doing the right thing.
Ian Romanick [Tue, 2 Jun 2009 17:33:55 +0000 (18:33 +0100)]
Fix compiling indirect.c when GLX_DIRECT_RENDERING is not defined
DO NOT HAND-EDIT GLX PROTOCOL FILES. Seriously. How can you miss the giant
comment at the top of the file?
Ian Romanick [Wed, 3 Jun 2009 16:49:05 +0000 (17:49 +0100)]
Fast path when rebinding the same texture in single context environment
If there is no shared context, there is no purpose in rebinding the same
texture. In some artificial tests this improves performance 10% - 30%.
Brian Paul [Wed, 3 Jun 2009 03:46:17 +0000 (21:46 -0600)]
st/mesa: minor clean-ups, reformatting, etc
Brian Paul [Wed, 3 Jun 2009 03:41:03 +0000 (21:41 -0600)]
docs: remove version info carried over from 7.5
Brian Paul [Wed, 3 Jun 2009 03:30:22 +0000 (21:30 -0600)]
docs: clarify GL_ARB_copy_buffer driver support
Brian Paul [Wed, 3 Jun 2009 03:24:28 +0000 (21:24 -0600)]
st/mesa: implement/enable GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 03:23:28 +0000 (21:23 -0600)]
mesa: fix error test mistake in _mesa_CopyBufferSubData()
Brian Paul [Wed, 3 Jun 2009 02:33:09 +0000 (20:33 -0600)]
docs: added GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 02:32:34 +0000 (20:32 -0600)]
mesa: enable GL_ARB_copy_buffer for software drivers
Brian Paul [Wed, 3 Jun 2009 02:32:15 +0000 (20:32 -0600)]
mesa: plug in new _mesa_CopyBufferSubData() functions