profile/ivi/mesa.git
15 years agoMerge branch 'mesa_7_5_branch'
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

15 years agosoftpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
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)

15 years agosoftpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
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)

15 years agost/mesa: increase ST_MAX_SHADER_TOKENS to 8k
Brian Paul [Thu, 4 Jun 2009 19:10:19 +0000 (13:10 -0600)]
st/mesa: increase ST_MAX_SHADER_TOKENS to 8k

15 years agotgsi: increase MAX_LABELS to 4096
Brian Paul [Thu, 4 Jun 2009 19:08:52 +0000 (13:08 -0600)]
tgsi: increase MAX_LABELS to 4096

15 years agomesa: update wglext.h to latest version
Brian Paul [Thu, 4 Jun 2009 16:30:25 +0000 (10:30 -0600)]
mesa: update wglext.h to latest version

15 years agomesa: remove PFNGL typedefs that are in glext.h
Brian Paul [Thu, 4 Jun 2009 16:29:44 +0000 (10:29 -0600)]
mesa: remove PFNGL typedefs that are in glext.h

15 years agomesa: upgrade glext.h to version 52
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.

15 years agointel: Add support for tiled textures.
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.

15 years agoi915: Don't rely on fence regs when we don't have to.
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.

15 years agoi915: Remove some long-dead i830 code.
Eric Anholt [Thu, 4 Jun 2009 09:40:44 +0000 (09:40 +0000)]
i915: Remove some long-dead i830 code.

15 years agosoftpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
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.

15 years agosoftpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
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.

15 years agoswrast: always do span clipping in _swrast_write_rgba_span()
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.

15 years agovbo: minor reformatting
Brian Paul [Wed, 3 Jun 2009 23:05:37 +0000 (17:05 -0600)]
vbo: minor reformatting

15 years agovbo: move/refactor debug code
Brian Paul [Wed, 3 Jun 2009 23:03:11 +0000 (17:03 -0600)]
vbo: move/refactor debug code

15 years agovbo: added debug code to check array data validity (disabled)
Brian Paul [Wed, 3 Jun 2009 22:59:44 +0000 (16:59 -0600)]
vbo: added debug code to check array data validity (disabled)

15 years agovbo: new debug/dump code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:46:56 +0000 (15:46 -0600)]
vbo: new debug/dump code (disabled)

15 years agomesa: added NaN checking code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:43:53 +0000 (15:43 -0600)]
mesa: added NaN checking code (disabled)

15 years agomesa: check/prevent NaN for EX2/LG2
Brian Paul [Wed, 3 Jun 2009 21:42:52 +0000 (15:42 -0600)]
mesa: check/prevent NaN for EX2/LG2

15 years agotnl: updated clip debug code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:40:05 +0000 (15:40 -0600)]
tnl: updated clip debug code (disabled)

15 years agomesa: added buffer object debug code (disabled)
Brian Paul [Wed, 3 Jun 2009 21:38:57 +0000 (15:38 -0600)]
mesa: added buffer object debug code (disabled)

15 years agotnl: add some floating point sanity checks (disabled)
Brian Paul [Wed, 3 Jun 2009 21:36:24 +0000 (15:36 -0600)]
tnl: add some floating point sanity checks (disabled)

15 years agovbo: tweak out-of-bounds VBO access error message
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.

15 years agoThank you git for doing the right thing.
Ian Romanick [Wed, 3 Jun 2009 16:55:42 +0000 (17:55 +0100)]
Thank you git for doing the right thing.

15 years agoFix compiling indirect.c when GLX_DIRECT_RENDERING is not defined
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?

15 years agoFast path when rebinding the same texture in single context environment
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%.

15 years agost/mesa: minor clean-ups, reformatting, etc
Brian Paul [Wed, 3 Jun 2009 03:46:17 +0000 (21:46 -0600)]
st/mesa: minor clean-ups, reformatting, etc

15 years agodocs: remove version info carried over from 7.5
Brian Paul [Wed, 3 Jun 2009 03:41:03 +0000 (21:41 -0600)]
docs: remove version info carried over from 7.5

15 years agodocs: clarify GL_ARB_copy_buffer driver support
Brian Paul [Wed, 3 Jun 2009 03:30:22 +0000 (21:30 -0600)]
docs: clarify GL_ARB_copy_buffer driver support

15 years agost/mesa: implement/enable GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 03:24:28 +0000 (21:24 -0600)]
st/mesa: implement/enable GL_ARB_copy_buffer extension

15 years agomesa: fix error test mistake in _mesa_CopyBufferSubData()
Brian Paul [Wed, 3 Jun 2009 03:23:28 +0000 (21:23 -0600)]
mesa: fix error test mistake in _mesa_CopyBufferSubData()

15 years agodocs: added GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 02:33:09 +0000 (20:33 -0600)]
docs: added GL_ARB_copy_buffer extension

15 years agomesa: enable GL_ARB_copy_buffer for software drivers
Brian Paul [Wed, 3 Jun 2009 02:32:34 +0000 (20:32 -0600)]
mesa: enable GL_ARB_copy_buffer for software drivers

15 years agomesa: plug in new _mesa_CopyBufferSubData() functions
Brian Paul [Wed, 3 Jun 2009 02:32:15 +0000 (20:32 -0600)]
mesa: plug in new _mesa_CopyBufferSubData() functions

15 years agomesa: _mesa_CopyBufferSubData() function, and driver fall-back
Brian Paul [Wed, 3 Jun 2009 02:29:57 +0000 (20:29 -0600)]
mesa: _mesa_CopyBufferSubData() function, and driver fall-back

15 years agomesa: new state for GL_ARB_copy_buffer
Brian Paul [Wed, 3 Jun 2009 02:31:41 +0000 (20:31 -0600)]
mesa: new state for GL_ARB_copy_buffer

15 years agomesa: new CopyBufferSubData() driver hook
Brian Paul [Wed, 3 Jun 2009 02:31:02 +0000 (20:31 -0600)]
mesa: new CopyBufferSubData() driver hook

15 years agoglapi: regenerated files for GL_ARB_copy_buffer
Brian Paul [Wed, 3 Jun 2009 02:29:11 +0000 (20:29 -0600)]
glapi: regenerated files for GL_ARB_copy_buffer

15 years agoglapi: include ARB_copy_buffer.xml
Brian Paul [Wed, 3 Jun 2009 02:28:04 +0000 (20:28 -0600)]
glapi: include ARB_copy_buffer.xml

15 years agoglapi: GL_ARB_copy_buffer xml info
Brian Paul [Wed, 3 Jun 2009 02:27:08 +0000 (20:27 -0600)]
glapi: GL_ARB_copy_buffer xml info

15 years agoscons: Less aggressive optimizations for MSVC 64bit compiler.
José Fonseca [Wed, 3 Jun 2009 01:41:12 +0000 (18:41 -0700)]
scons: Less aggressive optimizations for MSVC 64bit compiler.

MSVC 64bit compiler takes forever on some of the files.

Might want to revisit this again later.

15 years agoscons: Output nice summary messages instead of long command lines.
José Fonseca [Wed, 3 Jun 2009 01:23:12 +0000 (18:23 -0700)]
scons: Output nice summary messages instead of long command lines.

You can still get the old behavior by passing the option quiet=no to scons.

15 years agoutil: Unsaved change missing from last commit.
José Fonseca [Tue, 2 Jun 2009 23:41:45 +0000 (16:41 -0700)]
util: Unsaved change missing from last commit.

15 years agor300-gallium: strip swtcl to the bare minimum
Joakim Sindholt [Tue, 2 Jun 2009 20:23:17 +0000 (22:23 +0200)]
r300-gallium: strip swtcl to the bare minimum

This was originally taken from i915 and it shows.
Basically most the stuff in r300_render.c was never needed and
shouldn't have worked in the first place

15 years agoutil: Support Z24S8/Z24X8 -> unsigned conversion.
José Fonseca [Tue, 2 Jun 2009 18:46:53 +0000 (11:46 -0700)]
util: Support Z24S8/Z24X8 -> unsigned conversion.

15 years agoutil: Fix 24 to 32 bit expansion binary arithmetic expression.
José Fonseca [Tue, 2 Jun 2009 18:46:06 +0000 (11:46 -0700)]
util: Fix 24 to 32 bit expansion binary arithmetic expression.

When approaching y = x * 0xffffffff / 0xffffff with bit arithmetic, the
8 least significant bits of y should come from the
8 most significant bits of x.

15 years agomesa: release VBO and PBO references upon context destruction
Brian Paul [Tue, 2 Jun 2009 16:27:05 +0000 (10:27 -0600)]
mesa: release VBO and PBO references upon context destruction

15 years agomesa: add #define FEATURE_ARB_pixel_buffer_object
Brian Paul [Tue, 2 Jun 2009 16:26:50 +0000 (10:26 -0600)]
mesa: add #define FEATURE_ARB_pixel_buffer_object

15 years agointel: Clip to window after calling Driver.TexImage2D
Ian Romanick [Mon, 18 May 2009 20:26:16 +0000 (13:26 -0700)]
intel: Clip to window after calling Driver.TexImage2D

This prevents the width / height from being clipped to the window size before
the texture is allocated.  This matches intelCopyTexImage1D.

This should fix bug #21227

Signed-off-by: Ian Romanick <ian.romanick@intel.com>
(cherry picked from commit 129f311673c99eb912d659023e50bc5f0ef53249)

15 years agointel: Clip to window after calling Driver.TexImage2D
Ian Romanick [Mon, 18 May 2009 20:26:16 +0000 (13:26 -0700)]
intel: Clip to window after calling Driver.TexImage2D

This prevents the width / height from being clipped to the window size before
the texture is allocated.  This matches intelCopyTexImage1D.

This should fix bug #21227

Signed-off-by: Ian Romanick <ian.romanick@intel.com>
15 years agoi915: Don't put VBOs in graphics memory unless required for an operation.
Eric Anholt [Tue, 2 Jun 2009 13:53:40 +0000 (06:53 -0700)]
i915: Don't put VBOs in graphics memory unless required for an operation.

This saves doing swtnl from uncached memory, which is painful.  Improves
clutter test-text performance by 10% since it started using VBOs.

15 years agoi965: Support OPCODE_TRUNC in the brw_wm_fp.c code.
Eric Anholt [Thu, 28 May 2009 17:34:08 +0000 (10:34 -0700)]
i965: Support OPCODE_TRUNC in the brw_wm_fp.c code.

This gets two more glean glsl1 tests using the non-GLSL path.

15 years agogallium/draw: Free specialized versions of driver shaders
Keith Whitwell [Tue, 2 Jun 2009 03:16:20 +0000 (20:16 -0700)]
gallium/draw: Free specialized versions of driver shaders

The pstipple, aaline and aapoint code would create specialized versions
of shaders and upload them to the driver -- but never free them.

15 years agodraw: free more token arrays
Keith Whitwell [Tue, 2 Jun 2009 03:15:28 +0000 (20:15 -0700)]
draw: free more token arrays

The AA line and point code also needs to free token arrays after
building driver shaders.

15 years agodraw: avoid leaking tokens when building pstipple fragment shader
Keith Whitwell [Tue, 2 Jun 2009 02:48:40 +0000 (19:48 -0700)]
draw: avoid leaking tokens when building pstipple fragment shader

Add missing FREE() after MALLOC().

15 years agomesa/st: restore flush to copy_texsubimage (was previously finish)
Keith Whitwell [Thu, 14 May 2009 09:26:56 +0000 (10:26 +0100)]
mesa/st: restore flush to copy_texsubimage (was previously finish)

Need a flush here even though the original finish was overkill.

15 years agowgl: Destroy the framebuffer when the window is destroyed.
José Fonseca [Tue, 2 Jun 2009 03:20:48 +0000 (20:20 -0700)]
wgl: Destroy the framebuffer when the window is destroyed.

15 years agoprogs/vpglsl: add similar support for point rendering as progs/vp
Keith Whitwell [Thu, 14 May 2009 14:57:27 +0000 (15:57 +0100)]
progs/vpglsl: add similar support for point rendering as progs/vp

15 years agost/gl: Fix mip gen for compressed textures
Jakob Bornecrantz [Wed, 13 May 2009 20:35:06 +0000 (22:35 +0200)]
st/gl: Fix mip gen for compressed textures

15 years agotrivial/tri-z: add controls for depthrange min/max
Keith Whitwell [Wed, 13 May 2009 12:47:38 +0000 (13:47 +0100)]
trivial/tri-z: add controls for depthrange min/max

Also add key to set up quake-1 style ztrick rendering with clear depth
1.0, deptrange(1.0, 0.0) and depthfunc GL_GREATER.

15 years agoprogs/wgl: Small cleanup to wglinfo.
José Fonseca [Thu, 14 May 2009 14:32:10 +0000 (15:32 +0100)]
progs/wgl: Small cleanup to wglinfo.

15 years agoprogs/wgl: Use an invisible window in wglinfo.
José Fonseca [Thu, 14 May 2009 12:28:09 +0000 (13:28 +0100)]
progs/wgl: Use an invisible window in wglinfo.

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Mon, 1 Jun 2009 21:01:33 +0000 (15:01 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agost/mesa: fix incorrect sprite origin when drawing to FBO/texture
Brian Paul [Mon, 1 Jun 2009 20:59:11 +0000 (14:59 -0600)]
st/mesa: fix incorrect sprite origin when drawing to FBO/texture

Need to take the draw buffer's up/down orientation into consideration
when setting the sprite_coord_mode field.

Fixes inverted sprites when drawing into an FBO.

15 years agodraw: reset extra_vp_outputs.slot to zero in widepoint_flush()
Brian Paul [Mon, 1 Jun 2009 20:28:57 +0000 (14:28 -0600)]
draw: reset extra_vp_outputs.slot to zero in widepoint_flush()

Fixes a crash when clearing the window with a quad after drawing large
points.  We were asking the draw module how many vertex shader outputs
there were and got 3 instead of 2.  This led to creating vertices with
too many attributes and trying to read invalid memory.

We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's
flush functions already.
This omission was just an oversight in the wide_point stage.

15 years agor300-gallium: Slightly hacky fix for glxgears-style TCL.
Corbin Simpson [Mon, 1 Jun 2009 19:04:29 +0000 (12:04 -0700)]
r300-gallium: Slightly hacky fix for glxgears-style TCL.

15 years agodemos: add missing dependencies for util files
Brian Paul [Mon, 1 Jun 2009 17:23:39 +0000 (11:23 -0600)]
demos: add missing dependencies for util files

15 years agoUse separate $(MINSTALL) for installing libraries
Dan Nicholson [Fri, 22 May 2009 16:39:02 +0000 (09:39 -0700)]
Use separate $(MINSTALL) for installing libraries

The special feature of bin/minstall to copy symlinks is only ever needed
when installing libraries which may have .so symlinks. All the headers
and directories can use a normal install program.

These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the
user (or autoconf) to override installing normal files as they please.
An autoconf check for the install program has been added and will be
used in preference to minstall when available.

Fixes bug 16053.

15 years agoprogs/rbug: Add small remote debugging cli applications
Jakob Bornecrantz [Mon, 1 Jun 2009 10:20:05 +0000 (11:20 +0100)]
progs/rbug: Add small remote debugging cli applications

15 years agotrace/rbug: Add rbug integration for remote debugging
Jakob Bornecrantz [Mon, 1 Jun 2009 10:19:55 +0000 (11:19 +0100)]
trace/rbug: Add rbug integration for remote debugging

15 years agorbug: Add Gallium Remote Debugger Protocol code
Jakob Bornecrantz [Thu, 14 May 2009 23:07:05 +0000 (01:07 +0200)]
rbug: Add Gallium Remote Debugger Protocol code

This is the (de)marshalling and connection managment code

15 years agoutil: Add simple network functions
Jakob Bornecrantz [Sun, 22 Mar 2009 03:22:33 +0000 (04:22 +0100)]
util: Add simple network functions

15 years agowgl: Cleanup framebuffer destruction logic.
José Fonseca [Mon, 1 Jun 2009 00:16:26 +0000 (17:16 -0700)]
wgl: Cleanup framebuffer destruction logic.

15 years agowgl: Ensure we only create framebuffers for HDC associated with a window.
José Fonseca [Sun, 31 May 2009 18:10:22 +0000 (11:10 -0700)]
wgl: Ensure we only create framebuffers for HDC associated with a window.

15 years agowgl: Use the right pixel format.
José Fonseca [Sun, 31 May 2009 02:58:50 +0000 (19:58 -0700)]
wgl: Use the right pixel format.

There is no current pixel format. Each HDC has its pixelformat which is
kept by gdi and set/get via the SetPixelFormat/GetPixelFormat functions.

Now the HDC's pixelformat is kept in the stw_framebuffer, which is
created during the SetPixelFormat.

15 years agowgl: Fix debugging output.
José Fonseca [Sun, 31 May 2009 02:51:33 +0000 (19:51 -0700)]
wgl: Fix debugging output.

15 years agowgl: Rename function.
José Fonseca [Sun, 31 May 2009 01:00:18 +0000 (18:00 -0700)]
wgl: Rename function.

15 years agowgl: Remove unused field.
José Fonseca [Sat, 30 May 2009 21:33:11 +0000 (14:33 -0700)]
wgl: Remove unused field.

15 years agomesa: Output warnings to debugger on Windows.
José Fonseca [Sat, 30 May 2009 19:42:55 +0000 (12:42 -0700)]
mesa: Output warnings to debugger on Windows.

Stderr of Windows applications without console is not usually
visible.

15 years agomesa: Check/propagate return value on st_make_current.
José Fonseca [Sat, 30 May 2009 19:41:14 +0000 (12:41 -0700)]
mesa: Check/propagate return value on st_make_current.

Prevents segmentation fault when trying to set the viewport/scissor
after a context/drawable visual mismatch.

15 years agomesa: Add success/failures return value to _mesa_make_current.
José Fonseca [Sat, 30 May 2009 19:38:45 +0000 (12:38 -0700)]
mesa: Add success/failures return value to _mesa_make_current.

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Sun, 31 May 2009 02:10:04 +0000 (20:10 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agoRevert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
Brian Paul [Sun, 31 May 2009 02:09:19 +0000 (20:09 -0600)]
Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"

This reverts commit 5d75124db480b37977c353511b4e228905b7cc95.

This fixed unclipped polygons, but broke clipped polygons.
A better fix from the mesa 7.5 branch will be merged next...

15 years agosoftpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGON
Brian Paul [Sun, 31 May 2009 02:07:18 +0000 (20:07 -0600)]
softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGON

This fixes the incorrect colors seen when rendering flat-shaded polygons.
Note that clipped polygons were correct, but unclipped polygons were wrong.

See the glean/clipFlat test for regression testing.

15 years agosoftpipe: update comments for max texture size
Brian Paul [Fri, 29 May 2009 14:22:21 +0000 (08:22 -0600)]
softpipe: update comments for max texture size

15 years agosoftpipe: increase max 2D/cube texture size to 4K x 4K
Brian Paul [Fri, 29 May 2009 06:55:54 +0000 (00:55 -0600)]
softpipe: increase max 2D/cube texture size to 4K x 4K

15 years agor300-gallium, radeon-gallium: Make add_buffer indicate when a flush is needed.
Corbin Simpson [Thu, 28 May 2009 14:46:34 +0000 (07:46 -0700)]
r300-gallium, radeon-gallium: Make add_buffer indicate when a flush is needed.

On a side note, why is RADEON_MAX_BOS 24? Should ask airlied about that.

15 years agonv50: some mipmapping fixes
Ben Skeggs [Thu, 28 May 2009 05:47:54 +0000 (15:47 +1000)]
nv50: some mipmapping fixes

15 years agonv50: negate sources directly where supported
Christoph Bumiller [Wed, 27 May 2009 22:17:14 +0000 (00:17 +0200)]
nv50: negate sources directly where supported

15 years agonv50: introduce emit_cvt and use it
Christoph Bumiller [Sat, 23 May 2009 14:14:37 +0000 (16:14 +0200)]
nv50: introduce emit_cvt and use it

This makes some code cleaner, and we can now easily
do CEIL and TRUNC.

15 years agonv50: fix TXP
Christoph Bumiller [Sat, 23 May 2009 14:14:06 +0000 (16:14 +0200)]
nv50: fix TXP

For TXP we need to divide texture coords by their w component, or
use the coords' 1/w in the perspective interpolation instruction.

This also tries to support 1D, 3D and CUBE textures, and lets the
instruction only load the components that are used.

15 years agonv50: use multiple constant buffers
Christoph Bumiller [Sat, 23 May 2009 14:13:24 +0000 (16:13 +0200)]
nv50: use multiple constant buffers

Use different buffers for immds, FP params, and VP params.
One has to map constant buffer indices in shader code to buffers
defined via CB_DEF. In principle, we could use more buffers so
we'd have to change the shader code less frequently.

15 years agonv50: don't look for unfreed temps in free_nv50_pc
Christoph Bumiller [Sat, 23 May 2009 13:17:03 +0000 (15:17 +0200)]
nv50: don't look for unfreed temps in free_nv50_pc

Since we stopped using alloc_temp to get hw indices for FP attrs
there shouldn't be any non-deallocated temps left.

15 years agonv50: release hw TEMPs early
Christoph Bumiller [Sat, 23 May 2009 13:15:20 +0000 (15:15 +0200)]
nv50: release hw TEMPs early

Since we know when we don't use a TEMP or FP ATTR register anymore,
we can release their hw resources early.

15 years agonv50: allow immediates for MOV, ADD and MUL
Christoph Bumiller [Sat, 23 May 2009 13:12:04 +0000 (15:12 +0200)]
nv50: allow immediates for MOV, ADD and MUL

Immediates are inlined now where possible, so we need to set
pc->allow32 to FALSE in LIT where we have the conditional MOV,
since immediates swallow the predicate bits.

15 years agonv50: enable half insns for MOV and MUL
Christoph Bumiller [Sat, 23 May 2009 13:10:56 +0000 (15:10 +0200)]
nv50: enable half insns for MOV and MUL

15 years agonv50: make sure half-long insns are paired
Christoph Bumiller [Sat, 23 May 2009 13:10:01 +0000 (15:10 +0200)]
nv50: make sure half-long insns are paired

I chose to just convert unpaired 32 bit length instructions
after parsing all instructions, although it might be possible
to determine beforehand whether there would be any lone ones,
and then even do some swapping to bring them together ...

15 years agonv50: enable KIL in register 19a8
Christoph Bumiller [Sat, 23 May 2009 13:05:55 +0000 (15:05 +0200)]
nv50: enable KIL in register 19a8

15 years agonv50: don't overwrite sources before they're used
Christoph Bumiller [Sat, 23 May 2009 13:04:53 +0000 (15:04 +0200)]
nv50: don't overwrite sources before they're used

This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1]
or RCP/RSQ TEMP[i], TEMP[i].