mesa.git
15 years agomesa: use the IROUND() macro in pixel packing code
Brian Paul [Wed, 18 Mar 2009 21:39:11 +0000 (15:39 -0600)]
mesa: use the IROUND() macro in pixel packing code

It turns out some tests are sensitive to rounding vs. truncating when
converting float color values to integers in glReadPixels().  In particular,
this matters when the destination format is 5/6/5 or 4/4/4/4, etc.

15 years agoslang: redo the last commit for if/break & if/continue tests as it
Alan Hourihane [Wed, 18 Mar 2009 21:42:14 +0000 (21:42 +0000)]
slang: redo the last commit for if/break & if/continue tests as it
wasn't good enough for deeply nested if's.

15 years agoRevert "slang: if we detect an if/break or if/continue within a loop and we're"
Alan Hourihane [Wed, 18 Mar 2009 21:40:03 +0000 (21:40 +0000)]
Revert "slang: if we detect an if/break or if/continue within a loop and we're"

This reverts commit 752296b8f311c5e3844f3ce89d17ba57224ce5ba.

15 years agoslang: if we detect an if/break or if/continue within a loop and we're
Alan Hourihane [Wed, 18 Mar 2009 21:16:35 +0000 (21:16 +0000)]
slang: if we detect an if/break or if/continue within a loop and we're
trying to unroll, bail, and fallback to doing the real loop.

15 years agost: call _glapi_check_multithread from st_make_current
Keith Whitwell [Wed, 18 Mar 2009 19:14:45 +0000 (19:14 +0000)]
st: call _glapi_check_multithread from st_make_current

This function is called from many OS-dependent versions of MakeCurrent.

Move the check for multithreading to this central location to avoid
having to make this check from all the callers.

15 years agostw: Fix makeCurrent.
Thomas Hellstrom [Wed, 18 Mar 2009 11:28:31 +0000 (12:28 +0100)]
stw: Fix makeCurrent.

Flush if we change current context.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
15 years agoprogs: Build the wgl examples with scons.
José Fonseca [Wed, 18 Mar 2009 16:37:20 +0000 (16:37 +0000)]
progs: Build the wgl examples with scons.

15 years agoprogs/trivial: Make quad-tex-sub repeat patterns
Jakob Bornecrantz [Wed, 18 Mar 2009 16:24:40 +0000 (17:24 +0100)]
progs/trivial: Make quad-tex-sub repeat patterns

15 years agotests: remove/update old comments
Brian Paul [Wed, 18 Mar 2009 16:23:31 +0000 (10:23 -0600)]
tests: remove/update old comments

15 years agost: need to free/realloc pipe texture when we're handed image level > last_level
Brian Paul [Wed, 18 Mar 2009 16:22:05 +0000 (10:22 -0600)]
st: need to free/realloc pipe texture when we're handed image level > last_level

Fixes progs/tests/tri-fbo-tex-mip.c

15 years agost: clean up some if-statment code
Brian Paul [Wed, 18 Mar 2009 16:21:05 +0000 (10:21 -0600)]
st: clean up some if-statment code

15 years agosoftpipe: more texture transfer fixes.
Brian Paul [Wed, 18 Mar 2009 16:17:48 +0000 (10:17 -0600)]
softpipe: more texture transfer fixes.

Need to null-out pointers after freeing transfer objects.
Fix mix-ups between tc->transfer and tc->tex_trans fields.

15 years agosoftpipe: need to set tc->transfer=NULL after destroying the transfer object
Brian Paul [Wed, 18 Mar 2009 15:55:00 +0000 (09:55 -0600)]
softpipe: need to set tc->transfer=NULL after destroying the transfer object

This fixes a number of crashes/regressions in programs such as lodbias.c,
mipmap_limits.c, etc.

15 years agost: update texture comments
Brian Paul [Wed, 18 Mar 2009 15:40:37 +0000 (09:40 -0600)]
st: update texture comments

15 years agoprogs/trivial: Add quad-tex-sub
Jakob Bornecrantz [Wed, 18 Mar 2009 16:15:40 +0000 (17:15 +0100)]
progs/trivial: Add quad-tex-sub

   Tests glTexSubImage

15 years agoUse the specified X11 headers for xlib mesa
Dan Nicholson [Wed, 18 Mar 2009 06:33:04 +0000 (23:33 -0700)]
Use the specified X11 headers for xlib mesa

The xlib build was using the system's Xlib headers or bombing if they
weren't available.

15 years agotests: add simplest mipgen test
Keith Whitwell [Wed, 18 Mar 2009 14:01:47 +0000 (14:01 +0000)]
tests: add simplest mipgen test

15 years agopipe/atomic: dont use ms interlock calls from gcc
Keith Whitwell [Wed, 18 Mar 2009 13:27:53 +0000 (13:27 +0000)]
pipe/atomic: dont use ms interlock calls from gcc

15 years agoutil: avoid clashprone UINT, UBYTE enum values
Keith Whitwell [Wed, 18 Mar 2009 11:35:58 +0000 (11:35 +0000)]
util: avoid clashprone UINT, UBYTE enum values

15 years agodraw: use AOS_ERROR rather than clash-prone ERROR() macro
Keith Whitwell [Wed, 18 Mar 2009 11:35:26 +0000 (11:35 +0000)]
draw: use AOS_ERROR rather than clash-prone ERROR() macro

15 years agopipe/atomic: clean up #ifdef maze
Keith Whitwell [Wed, 18 Mar 2009 11:29:01 +0000 (11:29 +0000)]
pipe/atomic: clean up #ifdef maze

15 years agoprogs/tests: Update mipmap_limits to show image and colors
Jakob Bornecrantz [Wed, 18 Mar 2009 12:29:03 +0000 (13:29 +0100)]
progs/tests: Update mipmap_limits to show image and colors

15 years agoxlib st: Fix makeCurrent.
Thomas Hellstrom [Wed, 18 Mar 2009 10:52:24 +0000 (11:52 +0100)]
xlib st: Fix makeCurrent.

Flush if we change context.
Also reinstate the old optimization of doing nothing if
nothing changes.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
15 years agoprogs/trivial: Add tri-fbo-tex-mip
Jakob Bornecrantz [Tue, 17 Mar 2009 14:04:07 +0000 (15:04 +0100)]
progs/trivial: Add tri-fbo-tex-mip

   Tests rendering to mip levels other then first

15 years agonouveau: rewrite winsys in terms of drm_api, support dri2 state tracker
Ben Skeggs [Tue, 17 Mar 2009 22:22:35 +0000 (08:22 +1000)]
nouveau: rewrite winsys in terms of drm_api, support dri2 state tracker

drm_api is a set of hooks used by the dri2 state tracker, this wraps our
dri1 code around the same set of hooks.

Currently the dri2 build will produce nouveau_dri2.so which you'll need
to install as nouveau_dri.so if you wish to try it.  The dri2 state
tracker doesn't make it easy for a driver to support both paths in the
same binary.

15 years agost/dri2: use pipe_screen.is_format_supported to choose depth/stencil format
Ben Skeggs [Tue, 17 Mar 2009 22:21:32 +0000 (08:21 +1000)]
st/dri2: use pipe_screen.is_format_supported to choose depth/stencil format

15 years agor300-gallium: Move all unsorted state into invariant state.
Corbin Simpson [Tue, 17 Mar 2009 20:11:55 +0000 (13:11 -0700)]
r300-gallium: Move all unsorted state into invariant state.

Gotta just slowly whittle this down.

15 years agor300-gallium: Emit invariant state, no matter what.
Corbin Simpson [Tue, 17 Mar 2009 20:10:41 +0000 (13:10 -0700)]
r300-gallium: Emit invariant state, no matter what.

It's called "invariant" for a reason. :3

15 years agor300-gallium: Quick little cleanup of surface_fill state.
Corbin Simpson [Tue, 17 Mar 2009 20:07:44 +0000 (13:07 -0700)]
r300-gallium: Quick little cleanup of surface_fill state.

15 years agotgsi: Restore statement ordering.
José Fonseca [Tue, 17 Mar 2009 19:50:27 +0000 (19:50 +0000)]
tgsi: Restore statement ordering.

15 years agor300-gallium: Debugging for the more sensitive card registers.
Corbin Simpson [Tue, 17 Mar 2009 18:49:29 +0000 (11:49 -0700)]
r300-gallium: Debugging for the more sensitive card registers.

These are nearly always the cause of hardlocks, so let's dump them.

15 years agor300-gallium: r500-fs: Fixup immediate->constant counting a bit.
Corbin Simpson [Tue, 17 Mar 2009 18:48:55 +0000 (11:48 -0700)]
r300-gallium: r500-fs: Fixup immediate->constant counting a bit.

15 years agor300-gallium: More query stuff.
Corbin Simpson [Tue, 17 Mar 2009 18:42:13 +0000 (11:42 -0700)]
r300-gallium: More query stuff.

Should work, but doesn't. At least it doesn't hardlock.

15 years agoswrast: use better _swrast_compute_lambda() function
Brian Paul [Tue, 17 Mar 2009 16:28:32 +0000 (10:28 -0600)]
swrast: use better _swrast_compute_lambda() function

The MAX-based function can produce values that are non-monotonic for a span
which causes glitches in texture filtering.  The sqrt-based one avoids that.

This is perhaps slightly slower than before, but the difference
probably isn't noticable given we're doing software mipmap filtering.

Issue reported by Nir Radian <nirr@horizonsemi.com>

15 years agomesa: update/fix doxygen comments
Vinson Lee [Tue, 17 Mar 2009 15:34:30 +0000 (09:34 -0600)]
mesa: update/fix doxygen comments

15 years agoutil: Realloc takes bytes.
José Fonseca [Tue, 17 Mar 2009 14:36:37 +0000 (14:36 +0000)]
util: Realloc takes bytes.

15 years agowgl: Port sharedtex_mt to WGL.
Michal Krol [Tue, 17 Mar 2009 13:27:47 +0000 (14:27 +0100)]
wgl: Port sharedtex_mt to WGL.

15 years agotgsi: Document ps_2_0 instruction set operations.
Michal Krol [Tue, 17 Mar 2009 11:41:39 +0000 (12:41 +0100)]
tgsi: Document ps_2_0 instruction set operations.

15 years agotgsi: Document ps_1_4 instruction set operations.
Michal Krol [Tue, 17 Mar 2009 11:31:06 +0000 (12:31 +0100)]
tgsi: Document ps_1_4 instruction set operations.

15 years agotgsi: Document ps_1_1 instruction set operations.
Michal Krol [Tue, 17 Mar 2009 11:29:07 +0000 (12:29 +0100)]
tgsi: Document ps_1_1 instruction set operations.

15 years agotgsi: Begin documenting GLSL instruction set operations.
Michal Krol [Tue, 17 Mar 2009 11:26:25 +0000 (12:26 +0100)]
tgsi: Begin documenting GLSL instruction set operations.

15 years agotgsi: Begin documenting NV_geometry_program4 instruction set operations.
Michal Krol [Tue, 17 Mar 2009 11:21:03 +0000 (12:21 +0100)]
tgsi: Begin documenting NV_geometry_program4 instruction set operations.

15 years agoxdemos: Fix sharedtex_mt.
Thomas Hellstrom [Tue, 17 Mar 2009 10:33:20 +0000 (11:33 +0100)]
xdemos: Fix sharedtex_mt.

1) Don't allow multiple threads sharing current context,
   even if they are mutex protected.
2) Remove all XLockDisplay(), XUnLockDisplay() calls, as they were
   only workarounds for xcb.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
15 years agopython: Return on unknown pixel format.
Michal Krol [Tue, 17 Mar 2009 10:34:42 +0000 (11:34 +0100)]
python: Return on unknown pixel format.

15 years agogallium: Use `_new' name, `new' is a reserved keyword in C++.
Michal Krol [Tue, 17 Mar 2009 09:56:00 +0000 (10:56 +0100)]
gallium: Use `_new' name, `new' is a reserved keyword in C++.

15 years agogallium: Provide unprotected atomic implementation for display and miniport interfaces.
Michal Krol [Tue, 17 Mar 2009 09:54:08 +0000 (10:54 +0100)]
gallium: Provide unprotected atomic implementation for display and miniport interfaces.

15 years agopython: Fix build after refcount rework.
Michal Krol [Tue, 17 Mar 2009 09:43:04 +0000 (10:43 +0100)]
python: Fix build after refcount rework.

15 years agopython: Include `p_winsys_screen.h'.
Michal Krol [Tue, 17 Mar 2009 09:33:25 +0000 (10:33 +0100)]
python: Include `p_winsys_screen.h'.

15 years agopython: Do not pass screen object to pipe_buffer_reference.
Michal Krol [Tue, 17 Mar 2009 09:26:38 +0000 (10:26 +0100)]
python: Do not pass screen object to pipe_buffer_reference.

15 years agotgsi: Silence const pointer cast warnings.
Michal Krol [Tue, 17 Mar 2009 09:18:24 +0000 (10:18 +0100)]
tgsi: Silence const pointer cast warnings.

15 years agor300-gallium: r500-fs: Properly set up TEX/OUT.
Corbin Simpson [Tue, 17 Mar 2009 00:00:27 +0000 (17:00 -0700)]
r300-gallium: r500-fs: Properly set up TEX/OUT.

15 years agor300-gallium: r500-fs: Texture insts, ABS, moar comments.
Corbin Simpson [Mon, 16 Mar 2009 23:47:05 +0000 (16:47 -0700)]
r300-gallium: r500-fs: Texture insts, ABS, moar comments.

15 years agor300-gallium: Clean up some code, un-special-case scalar ops.
Corbin Simpson [Mon, 16 Mar 2009 17:44:23 +0000 (10:44 -0700)]
r300-gallium: Clean up some code, un-special-case scalar ops.

15 years agor300-gallium: r500-fs: CMP/MOV/SWZ, negation, ADD/MAD/MUL/SUB.
Corbin Simpson [Mon, 16 Mar 2009 17:23:45 +0000 (10:23 -0700)]
r300-gallium: r500-fs: CMP/MOV/SWZ, negation, ADD/MAD/MUL/SUB.

Also a fair amount of cleanup.

15 years agor300-gallium: Fix relocation for textures.
Corbin Simpson [Mon, 16 Mar 2009 16:48:07 +0000 (09:48 -0700)]
r300-gallium: Fix relocation for textures.

This keeps texture emit from invalidating CS.

15 years agotrace: Fix memory leak
Jakob Bornecrantz [Mon, 16 Mar 2009 19:57:34 +0000 (20:57 +0100)]
trace: Fix memory leak

15 years agoutil: bitmask data type.
José Fonseca [Mon, 16 Mar 2009 19:11:08 +0000 (19:11 +0000)]
util: bitmask data type.

15 years agotrace: Re-init refcounters just incase
Jakob Bornecrantz [Mon, 16 Mar 2009 19:32:14 +0000 (20:32 +0100)]
trace: Re-init refcounters just incase

15 years agotrace: Dump buffer data via buffer writes
Jakob Bornecrantz [Sat, 14 Mar 2009 09:22:48 +0000 (10:22 +0100)]
trace: Dump buffer data via buffer writes

15 years agoprogs/trivial: Ignores
Jakob Bornecrantz [Mon, 16 Mar 2009 19:14:21 +0000 (20:14 +0100)]
progs/trivial: Ignores

15 years agoprogs/tests: Ignores
Jakob Bornecrantz [Fri, 13 Mar 2009 07:37:01 +0000 (08:37 +0100)]
progs/tests: Ignores

15 years agopython: Use transfer object to read from a surface.
Michal Krol [Mon, 16 Mar 2009 15:48:18 +0000 (16:48 +0100)]
python: Use transfer object to read from a surface.

15 years agopython: pipe_vertex_buffer's pitch member has been renamed to stride.
Michal Krol [Mon, 16 Mar 2009 15:10:54 +0000 (16:10 +0100)]
python: pipe_vertex_buffer's pitch member has been renamed to stride.

15 years agopython: size is not a member of pipe_constant_buffer any more.
Michal Krol [Mon, 16 Mar 2009 15:07:55 +0000 (16:07 +0100)]
python: size is not a member of pipe_constant_buffer any more.

15 years agor300-gallium: r500-fs: Add ABS.
Corbin Simpson [Mon, 16 Mar 2009 13:48:05 +0000 (06:48 -0700)]
r300-gallium: r500-fs: Add ABS.

15 years agor300-gallium: r500-fs: Clamp only when saturation flags are set.
Corbin Simpson [Mon, 16 Mar 2009 13:41:57 +0000 (06:41 -0700)]
r300-gallium: r500-fs: Clamp only when saturation flags are set.

15 years agor300-gallium: r500-fs: Working ADD and MUL, add more sop stuff.
Corbin Simpson [Mon, 16 Mar 2009 13:36:55 +0000 (06:36 -0700)]
r300-gallium: r500-fs: Working ADD and MUL, add more sop stuff.

15 years agor300-gallium: Cleanup a few things.
Corbin Simpson [Mon, 16 Mar 2009 13:19:30 +0000 (06:19 -0700)]
r300-gallium: Cleanup a few things.

15 years agor300-gallium: r500-fs: MUL.
Corbin Simpson [Mon, 16 Mar 2009 13:14:23 +0000 (06:14 -0700)]
r300-gallium: r500-fs: MUL.

15 years agor300-gallium: r500-fs: Stub out the simple scalar ops.
Corbin Simpson [Mon, 16 Mar 2009 12:58:46 +0000 (05:58 -0700)]
r300-gallium: r500-fs: Stub out the simple scalar ops.

COS, SIN, and CSC are not simple.

15 years agor300-gallium: r500-fs: Add DPH.
Corbin Simpson [Mon, 16 Mar 2009 12:13:03 +0000 (05:13 -0700)]
r300-gallium: r500-fs: Add DPH.

15 years agor300-gallium: r500-fs: Add dot products.
Corbin Simpson [Mon, 16 Mar 2009 11:57:43 +0000 (04:57 -0700)]
r300-gallium: r500-fs: Add dot products.

We're cookin' now.

15 years agogallium: Implement atomic for MSVC on x86.
Michal Krol [Mon, 16 Mar 2009 12:42:22 +0000 (13:42 +0100)]
gallium: Implement atomic for MSVC on x86.

15 years agogallium: Implement atomic interface for windows user mode subsystem.
Michal Krol [Mon, 16 Mar 2009 12:07:22 +0000 (13:07 +0100)]
gallium: Implement atomic interface for windows user mode subsystem.

15 years agoscons: Promote declaration-after-statement to error. Detect more warnings.
José Fonseca [Fri, 13 Mar 2009 16:21:30 +0000 (16:21 +0000)]
scons: Promote declaration-after-statement to error. Detect more warnings.

15 years agoprogs: Try to read the texture from the current dir, if full path fails.
José Fonseca [Fri, 13 Mar 2009 16:16:00 +0000 (16:16 +0000)]
progs: Try to read the texture from the current dir, if full path fails.

15 years agogallium: Use macro parameter names consistently.
Michal Krol [Mon, 16 Mar 2009 11:39:07 +0000 (12:39 +0100)]
gallium: Use macro parameter names consistently.

15 years agogallium: pipe_mutex_init() is of type void.
Michal Krol [Mon, 16 Mar 2009 11:36:22 +0000 (12:36 +0100)]
gallium: pipe_mutex_init() is of type void.

Both the windows and fallback versions are void already.

15 years agogallium: Include p_compiler.h for integer types.
Michal Krol [Mon, 16 Mar 2009 11:27:47 +0000 (12:27 +0100)]
gallium: Include p_compiler.h for integer types.

15 years agosoftpipe: Use p_atomic_read, not atomic_read.
Michal Krol [Mon, 16 Mar 2009 11:22:50 +0000 (12:22 +0100)]
softpipe: Use p_atomic_read, not atomic_read.

15 years agogallium: Use struct pipe_atomic for pipe refcounts.
Thomas Hellstrom [Fri, 13 Mar 2009 14:47:18 +0000 (15:47 +0100)]
gallium: Use struct pipe_atomic for pipe refcounts.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
15 years agogallium: Add simple atomic class api.
Thomas Hellstrom [Mon, 16 Mar 2009 10:40:18 +0000 (11:40 +0100)]
gallium: Add simple atomic class api.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
15 years agotgsi: Begin documenting NV_gpu_program4 instruction set operations.
Michal Krol [Mon, 16 Mar 2009 09:24:16 +0000 (10:24 +0100)]
tgsi: Begin documenting NV_gpu_program4 instruction set operations.

15 years agotgsi: Document NV_vertex_program3 instruction set operations.`
Michal Krol [Mon, 16 Mar 2009 09:04:51 +0000 (10:04 +0100)]
tgsi: Document NV_vertex_program3 instruction set operations.`

15 years agowgl: Port glthreads to WGL.
Michal Krol [Mon, 16 Mar 2009 08:45:23 +0000 (09:45 +0100)]
wgl: Port glthreads to WGL.

15 years agomesa: Silence compiler warnings.
Michal Krol [Mon, 16 Mar 2009 08:12:21 +0000 (09:12 +0100)]
mesa: Silence compiler warnings.

15 years agor300-gallium: r500-fs: Actually handle consts and imms correctly.
Corbin Simpson [Mon, 16 Mar 2009 07:30:56 +0000 (00:30 -0700)]
r300-gallium: r500-fs: Actually handle consts and imms correctly.

This makes mad.txt draw correctly. Yay!

15 years agor300-gallium: Emit constants as floats, not uints.
Corbin Simpson [Mon, 16 Mar 2009 07:29:37 +0000 (00:29 -0700)]
r300-gallium: Emit constants as floats, not uints.

15 years agopython: Include missing `p_compiler.h' header.
michal [Mon, 16 Mar 2009 07:08:09 +0000 (08:08 +0100)]
python: Include missing `p_compiler.h' header.

15 years agopython: Do not pass shader_state to util shader functions.
michal [Mon, 16 Mar 2009 05:48:25 +0000 (06:48 +0100)]
python: Do not pass shader_state to util shader functions.

15 years agopython: Use transfer objects to initialise texture data.
michal [Mon, 16 Mar 2009 05:44:16 +0000 (06:44 +0100)]
python: Use transfer objects to initialise texture data.

15 years agopython: Use new bypass_vs_clip_and_viewport rasteriser flag.
michal [Mon, 16 Mar 2009 05:06:31 +0000 (06:06 +0100)]
python: Use new bypass_vs_clip_and_viewport rasteriser flag.

15 years agor300-gallium: Fix vertex memory offsets.
Corbin Simpson [Mon, 16 Mar 2009 06:42:42 +0000 (23:42 -0700)]
r300-gallium: Fix vertex memory offsets.

Wow, I must have been asleep when I made that mistake.

15 years agoradeon-gallium: Add my R580 to the xorg PCI ID list.
Corbin Simpson [Mon, 16 Mar 2009 06:05:55 +0000 (23:05 -0700)]
radeon-gallium: Add my R580 to the xorg PCI ID list.

At some point, going to have to grab the big list from xf86-video-ati.

15 years agor300-gallium: r500-fs: Setup immediates.
Corbin Simpson [Mon, 16 Mar 2009 06:04:49 +0000 (23:04 -0700)]
r300-gallium: r500-fs: Setup immediates.

Textures still not working. RS block shenanigans expected.

15 years agodri2-gallium: Add occlusion query support at the state tracker level.
Corbin Simpson [Thu, 12 Mar 2009 19:15:56 +0000 (12:15 -0700)]
dri2-gallium: Add occlusion query support at the state tracker level.

15 years agor300-gallium: Actually set stride when creating textures.
Corbin Simpson [Thu, 12 Mar 2009 19:14:35 +0000 (12:14 -0700)]
r300-gallium: Actually set stride when creating textures.

Duh.

15 years agor300-gallium: r500-fs: Add writemasks and some flexibility for MOV/SWZ.
Corbin Simpson [Thu, 12 Mar 2009 19:13:53 +0000 (12:13 -0700)]
r300-gallium: r500-fs: Add writemasks and some flexibility for MOV/SWZ.

15 years agor300-gallium: Always rasterize at least one color.
Corbin Simpson [Thu, 12 Mar 2009 19:13:02 +0000 (12:13 -0700)]
r300-gallium: Always rasterize at least one color.

15 years agor300-gallium: Fix spacing.
Corbin Simpson [Thu, 12 Mar 2009 19:12:26 +0000 (12:12 -0700)]
r300-gallium: Fix spacing.

It was driving me crazy.