mesa.git
16 years agodraw: streamline the varray path
Keith Whitwell [Mon, 12 May 2008 16:36:35 +0000 (17:36 +0100)]
draw: streamline the varray path

- drop support for running the pipeline (ie. don't populate the flags values)
- pass through all split-able primitives intact to the middle end
- only primitives that can't be split are shunted on the draw-element path

16 years agosoftpipe: more work to get non-reduced primitives working in vbuf
Keith Whitwell [Mon, 12 May 2008 16:30:05 +0000 (17:30 +0100)]
softpipe: more work to get non-reduced primitives working in vbuf

16 years agosoftpipe: make vbuf handle all primitive types
Keith Whitwell [Mon, 12 May 2008 15:16:04 +0000 (16:16 +0100)]
softpipe: make vbuf handle all primitive types

16 years agodraw: add fetch-shade-emit path
Keith Whitwell [Mon, 12 May 2008 14:20:38 +0000 (15:20 +0100)]
draw: add fetch-shade-emit path

Enable with TEST_FSE=t.  Performs fetch from API-provided vertex buffers,
transformation with one of three (two working) hard-coded shaders, and
final emit to hardware vertices all in a single pass.

Currently only really useful for profiling in conjunction with SP_NO_RAST=t.

16 years agosoftpipe: add failure paths for context creation
Keith Whitwell [Mon, 12 May 2008 13:10:03 +0000 (14:10 +0100)]
softpipe: add failure paths for context creation

16 years agoxlib: add failure paths for context creation
Keith Whitwell [Mon, 12 May 2008 13:09:50 +0000 (14:09 +0100)]
xlib: add failure paths for context creation

16 years agodraw: mimize cost of translate key compares, use cache universally
Keith Whitwell [Fri, 9 May 2008 12:10:15 +0000 (13:10 +0100)]
draw: mimize cost of translate key compares, use cache universally

16 years agotranslate: helper functions for mimizing cost of key compares
Keith Whitwell [Fri, 9 May 2008 12:09:58 +0000 (13:09 +0100)]
translate: helper functions for mimizing cost of key compares

16 years agodraw: fix translate double-free, minor cleanups
Keith Whitwell [Fri, 9 May 2008 14:02:59 +0000 (15:02 +0100)]
draw: fix translate double-free, minor cleanups

16 years agoMerge branch 'gallium-0.1' into gallium-vertex-linear
Keith Whitwell [Thu, 8 May 2008 21:16:05 +0000 (22:16 +0100)]
Merge branch 'gallium-0.1' into gallium-vertex-linear

16 years agodraw: only fill in / compare the part of the translate key we're using.
Keith Whitwell [Thu, 8 May 2008 21:13:21 +0000 (22:13 +0100)]
draw: only fill in / compare the part of the translate key we're using.

It's quite a big struct & we examine it a lot (too much).  Reduce
the impact of this by just looking at the active part where possible.

16 years agoxlib: more SP_NO_RAST support
Keith Whitwell [Thu, 8 May 2008 21:10:15 +0000 (22:10 +0100)]
xlib: more SP_NO_RAST support

For some resaon normal (non-display-buffer) buffers are being allocated
through Xshm...  Bypass at least for SP_NO_RAST

16 years agosoftpipe: don't calc det if NO_RAST set
Keith Whitwell [Thu, 8 May 2008 21:07:52 +0000 (22:07 +0100)]
softpipe: don't calc det if NO_RAST set

16 years agofix quad strips
Zack Rusin [Thu, 8 May 2008 19:11:16 +0000 (15:11 -0400)]
fix quad strips

16 years agofix triangle strips
Zack Rusin [Thu, 8 May 2008 16:10:24 +0000 (12:10 -0400)]
fix triangle strips

16 years agofix silly mistakes
Zack Rusin [Wed, 7 May 2008 23:34:12 +0000 (19:34 -0400)]
fix silly mistakes

16 years agoredo the linear paths
Zack Rusin [Tue, 6 May 2008 22:59:45 +0000 (18:59 -0400)]
redo the linear paths

16 years agofix the regressions
Zack Rusin [Mon, 5 May 2008 16:49:40 +0000 (12:49 -0400)]
fix the regressions

16 years agosilence debugging output
Zack Rusin [Sun, 4 May 2008 05:37:32 +0000 (01:37 -0400)]
silence debugging output

16 years agoimplement linear path for fetch_emit pipeline
Zack Rusin [Sun, 4 May 2008 05:23:01 +0000 (01:23 -0400)]
implement linear path for fetch_emit pipeline

16 years agodon't fill in linear fetch_elts
Zack Rusin [Sun, 4 May 2008 04:44:27 +0000 (00:44 -0400)]
don't fill in linear fetch_elts

16 years agoimplement linear emition and fetching and plug it in the varray paths
Zack Rusin [Sun, 4 May 2008 02:32:17 +0000 (22:32 -0400)]
implement linear emition and fetching and plug it in the varray paths

16 years agosplit larger primitives in the simple varray pt
Zack Rusin [Fri, 2 May 2008 03:54:39 +0000 (23:54 -0400)]
split larger primitives in the simple varray pt

16 years agoabstract fetching elts
Zack Rusin [Thu, 1 May 2008 16:38:51 +0000 (12:38 -0400)]
abstract fetching elts

16 years agocso_cache: Fix test for currently bound blend state.
Michel Dänzer [Thu, 8 May 2008 18:00:11 +0000 (19:00 +0100)]
cso_cache: Fix test for currently bound blend state.

16 years agomesa: update/add newer GL ES headers
Brian Paul [Wed, 7 May 2008 14:47:55 +0000 (08:47 -0600)]
mesa: update/add newer GL ES headers

16 years agomesa: free shader program data before deleting shader objects.
Brian [Wed, 7 May 2008 05:08:02 +0000 (23:08 -0600)]
mesa: free shader program data before deleting shader objects.

Picked from master.
Fixes mem corruption seen when glean/api2 test exits.

16 years agogallium: implement full reference counting for vertex/fragment programs
Brian [Wed, 7 May 2008 04:13:06 +0000 (22:13 -0600)]
gallium: implement full reference counting for vertex/fragment programs

Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
Fixes a memory corruption bug found with glean/api2 test.
Another memory bug involving shaders yet to be fixed...

16 years agomesa: comments, whitespace
Brian [Fri, 2 May 2008 01:29:25 +0000 (19:29 -0600)]
mesa: comments, whitespace

16 years agogallium: change calculate_first_last_level() to match gallium-tex-surfaces branch
Brian Paul [Tue, 6 May 2008 14:40:41 +0000 (08:40 -0600)]
gallium: change calculate_first_last_level() to match gallium-tex-surfaces branch

16 years agofix _mesa_ffs for alternative compilers
Alan Hourihane [Mon, 5 May 2008 22:09:38 +0000 (23:09 +0100)]
fix _mesa_ffs for alternative compilers

16 years agodeclare atoms as extern
Alan Hourihane [Mon, 5 May 2008 22:08:59 +0000 (23:08 +0100)]
declare atoms as extern

16 years agogallium: fix warnings
Brian Paul [Sat, 3 May 2008 15:26:25 +0000 (09:26 -0600)]
gallium: fix warnings

16 years agoPress <space> to reset limit/bias values, clean-up limit/bias printf
Brian Paul [Sat, 3 May 2008 15:08:42 +0000 (09:08 -0600)]
Press <space> to reset limit/bias values, clean-up limit/bias printf

16 years agogallium: fix sampler->max_lod computation
Brian Paul [Sat, 3 May 2008 15:07:11 +0000 (09:07 -0600)]
gallium: fix sampler->max_lod computation

16 years agogallium: fix computation of sampler->min_lod
Brian Paul [Sat, 3 May 2008 14:58:44 +0000 (08:58 -0600)]
gallium: fix computation of sampler->min_lod

The texture BaseLevel is accounted for in texture layout so it doesn't factor
in here.  May also need to adjust max_lod...

16 years agogallium: remove 0.5 vertex biases in set_vertex_data()
Brian Paul [Fri, 2 May 2008 20:00:35 +0000 (14:00 -0600)]
gallium: remove 0.5 vertex biases in set_vertex_data()

These should not be needed and were causing garbage to appear along the
edges of the mipmap images.

16 years agogallium: remove obsolete PIPE_CAP_BITMAP_TEXCOORD_BIAS
Brian Paul [Fri, 2 May 2008 20:00:08 +0000 (14:00 -0600)]
gallium: remove obsolete PIPE_CAP_BITMAP_TEXCOORD_BIAS

16 years agogallium: minor code, comments clean-up
Brian Paul [Fri, 2 May 2008 16:43:29 +0000 (10:43 -0600)]
gallium: minor code, comments clean-up

16 years agogallium: in st_finalize_texture() check texture dimensions
Brian Paul [Fri, 2 May 2008 16:38:39 +0000 (10:38 -0600)]
gallium: in st_finalize_texture() check texture dimensions

Check dimensions in addition to target, format, etc.
Fixes a bug where we failed to detect a change in texture image sizes and
wound up using the old texture data.

16 years agogallium: new debug code (disabled)
Brian Paul [Fri, 2 May 2008 16:37:20 +0000 (10:37 -0600)]
gallium: new debug code (disabled)

16 years agogallium: fix typos, comments, whitespace
Brian Paul [Fri, 2 May 2008 15:26:17 +0000 (09:26 -0600)]
gallium: fix typos, comments, whitespace

16 years agogallium: remove ^M (CR) chars
Brian Paul [Fri, 2 May 2008 14:22:25 +0000 (08:22 -0600)]
gallium: remove ^M (CR) chars

16 years agogallium: code movement (XSHM code)
Brian Paul [Fri, 2 May 2008 13:54:11 +0000 (07:54 -0600)]
gallium: code movement (XSHM code)

16 years agoset TextureID = NULL after deleting the array
Brian Paul [Thu, 1 May 2008 22:21:43 +0000 (16:21 -0600)]
set TextureID = NULL after deleting the array

16 years agogallium: comments, clean-ups
Brian Paul [Thu, 1 May 2008 21:29:25 +0000 (15:29 -0600)]
gallium: comments, clean-ups

16 years agogallium: Reallocate pipe_texture in st_TexImage if the texture object was used.
Michel Dänzer [Fri, 2 May 2008 15:22:20 +0000 (16:22 +0100)]
gallium: Reallocate pipe_texture in st_TexImage if the texture object was used.

Fixes problems with interleaved glTexImage and rendering calls.

16 years agosnprintf -> util_snprintf
Alan Hourihane [Fri, 2 May 2008 15:25:37 +0000 (15:25 +0000)]
snprintf -> util_snprintf

16 years agotgsi: Enable fast high precision rsqrt.
Michal Krol [Fri, 2 May 2008 14:12:55 +0000 (16:12 +0200)]
tgsi: Enable fast high precision rsqrt.

16 years agotgsi: Implement fast rsqrtf. Not tested, inactive.
Keith Whitwell [Fri, 2 May 2008 14:02:18 +0000 (16:02 +0200)]
tgsi: Implement fast rsqrtf. Not tested, inactive.

16 years agorevert mode change back to 644
Alan Hourihane [Fri, 2 May 2008 10:34:58 +0000 (10:34 +0000)]
revert mode change back to 644

16 years agoinline -> INLINE
Alan Hourihane [Fri, 2 May 2008 10:31:46 +0000 (10:31 +0000)]
inline -> INLINE

16 years agoSome changed for non-C99 compilers
Alan Hourihane [Fri, 2 May 2008 10:08:03 +0000 (10:08 +0000)]
Some changed for non-C99 compilers

16 years agotgsi: Do not assume IN and OUT registers are declared sequentially.
Michal Krol [Fri, 2 May 2008 09:13:58 +0000 (11:13 +0200)]
tgsi: Do not assume IN and OUT registers are declared sequentially.

16 years agotgsi: Fix build on Win32.
Michal Krol [Fri, 2 May 2008 08:20:53 +0000 (10:20 +0200)]
tgsi: Fix build on Win32.

16 years agotgsi: Dump destination register modulate modifier.
Michal Krol [Thu, 1 May 2008 14:39:54 +0000 (16:39 +0200)]
tgsi: Dump destination register modulate modifier.

16 years agogallium: temporarily disable broken SSE2 code for ARL opcode
Brian [Fri, 2 May 2008 00:56:20 +0000 (18:56 -0600)]
gallium: temporarily disable broken SSE2 code for ARL opcode

16 years agogallium: implement TGSI_OPCODE_EXP
Brian [Fri, 2 May 2008 00:49:20 +0000 (18:49 -0600)]
gallium: implement TGSI_OPCODE_EXP

16 years agogallium: implement TGSI_OPCODE_LOG
Brian [Fri, 2 May 2008 00:42:01 +0000 (18:42 -0600)]
gallium: implement TGSI_OPCODE_LOG

16 years agoadded cast for MSVC
Brian Paul [Thu, 1 May 2008 21:21:40 +0000 (15:21 -0600)]
added cast for MSVC

16 years agogallium: remove the unused softpipe_winsys code
Brian Paul [Thu, 1 May 2008 21:19:00 +0000 (15:19 -0600)]
gallium: remove the unused softpipe_winsys code

The struct is still there though until all winsys layers are updated

16 years agotgsi: remove some bogus win vs. linux crud
Keith Whitwell [Thu, 1 May 2008 19:45:15 +0000 (20:45 +0100)]
tgsi: remove some bogus win vs. linux crud

Pass arguments properly in linux now.  Still need to change this to use
a single calling convention on both platforms.

16 years agortasm: learn another version of push
Keith Whitwell [Thu, 1 May 2008 19:44:41 +0000 (20:44 +0100)]
rtasm: learn another version of push

16 years agodraw: label fn args -- shouldn't this be defined where the fn is created?
Keith Whitwell [Thu, 1 May 2008 19:42:44 +0000 (20:42 +0100)]
draw: label fn args -- shouldn't this be defined where the fn is created?

16 years agortasm: fix labels after (not so) recent change to allow dynamic fn growth
Keith Whitwell [Thu, 1 May 2008 19:41:03 +0000 (20:41 +0100)]
rtasm: fix labels after (not so) recent change to allow dynamic fn growth

Using char * for labels doesn't work if you realloc the function
during assembly and free the old storage...

16 years agoi915: avoid crashing on bad parameter
Keith Whitwell [Thu, 1 May 2008 17:50:33 +0000 (18:50 +0100)]
i915: avoid crashing on bad parameter

16 years agoi915: fix warning
Keith Whitwell [Thu, 1 May 2008 17:49:52 +0000 (18:49 +0100)]
i915: fix warning

16 years agosoftpipe: fix warning
Keith Whitwell [Thu, 1 May 2008 17:49:07 +0000 (18:49 +0100)]
softpipe: fix warning

16 years agosct: fix bug in remove_context_from_surface
Keith Whitwell [Thu, 1 May 2008 17:48:28 +0000 (18:48 +0100)]
sct: fix bug in remove_context_from_surface

16 years agogallium: Set sampler->min_lod instead of always reallocating pipe_textures.
Michel Dänzer [Thu, 1 May 2008 16:31:39 +0000 (17:31 +0100)]
gallium: Set sampler->min_lod instead of always reallocating pipe_textures.

16 years agogallium: Notify driver of texture updates in util_blit_pixels().
Michel Dänzer [Thu, 1 May 2008 16:30:17 +0000 (17:30 +0100)]
gallium: Notify driver of texture updates in util_blit_pixels().

16 years agotgsi: restore HIGH_PRECISION setting
Keith Whitwell [Thu, 1 May 2008 14:45:51 +0000 (15:45 +0100)]
tgsi: restore HIGH_PRECISION setting

16 years agotgsi: add some const qualifiers to immediate pointers
Keith Whitwell [Thu, 1 May 2008 14:36:14 +0000 (15:36 +0100)]
tgsi: add some const qualifiers to immediate pointers

16 years agomesa: squash harmless warning
Keith Whitwell [Thu, 1 May 2008 14:32:03 +0000 (15:32 +0100)]
mesa: squash harmless warning

16 years agortasm: assert stack is fully popped in return
Keith Whitwell [Thu, 1 May 2008 14:31:17 +0000 (15:31 +0100)]
rtasm: assert stack is fully popped in return

16 years agodraw: avoid aliasing warning
Keith Whitwell [Thu, 1 May 2008 14:30:50 +0000 (15:30 +0100)]
draw: avoid aliasing warning

16 years agotgsi: use EBX everywhere, be sure to push/pop it
Keith Whitwell [Thu, 1 May 2008 14:27:53 +0000 (15:27 +0100)]
tgsi: use EBX everywhere, be sure to push/pop it

16 years agotgsi: use x86_fn_arg instead of get_argument() -- it knows about push/pops to the...
Keith Whitwell [Thu, 1 May 2008 14:13:46 +0000 (15:13 +0100)]
tgsi: use x86_fn_arg instead of get_argument() -- it knows about push/pops to the stack

16 years agotgsi: use ESI instead of EBX on non-win32 platforms
Keith Whitwell [Thu, 1 May 2008 13:51:18 +0000 (14:51 +0100)]
tgsi: use ESI instead of EBX on non-win32 platforms

16 years agogallium: do something sensible on the error path to try to avoid crashing in release...
Keith Whitwell [Thu, 1 May 2008 13:19:25 +0000 (14:19 +0100)]
gallium: do something sensible on the error path to try to avoid crashing in release builds

16 years agoFix build problem with MSVC
Alan Hourihane [Thu, 1 May 2008 13:54:56 +0000 (14:54 +0100)]
Fix build problem with MSVC

16 years agoAdd Brian's explanation for inheritance in C.
José Fonseca [Thu, 1 May 2008 12:52:05 +0000 (21:52 +0900)]
Add Brian's explanation for inheritance in C.

16 years agogallium: Add newline to eof.
José Fonseca [Thu, 1 May 2008 01:20:31 +0000 (10:20 +0900)]
gallium: Add newline to eof.

16 years agodraw: squash warnings
Keith Whitwell [Thu, 1 May 2008 12:47:27 +0000 (13:47 +0100)]
draw: squash warnings

16 years agodraw: turn on SSE swizzle code
Keith Whitwell [Thu, 1 May 2008 12:47:09 +0000 (13:47 +0100)]
draw: turn on SSE swizzle code

16 years agogallium: remove old files
Brian Paul [Thu, 1 May 2008 00:23:17 +0000 (18:23 -0600)]
gallium: remove old files

16 years agogallium: fix texture border removal bug
Brian Paul [Thu, 1 May 2008 00:21:10 +0000 (18:21 -0600)]
gallium: fix texture border removal bug

16 years agogallium: use the newer PIPE_FORMAT_x_UNORM format names
Brian Paul [Wed, 30 Apr 2008 22:50:17 +0000 (16:50 -0600)]
gallium: use the newer PIPE_FORMAT_x_UNORM format names

16 years agogallium: rename old PIPE_FORMAT_U_I8 with PIPE_FORMAT_I8_UNORM, etc.
Brian Paul [Wed, 30 Apr 2008 22:49:38 +0000 (16:49 -0600)]
gallium: rename old PIPE_FORMAT_U_I8 with PIPE_FORMAT_I8_UNORM, etc.

Now all the packed color types are consistantly named.
Added temporary #defines for the old names until all drivers are updated.

16 years agogallium: replace old PIPE_FORMAT_U_S8 with PIPE_FORMAT_S8_UNORM
Brian Paul [Wed, 30 Apr 2008 22:41:53 +0000 (16:41 -0600)]
gallium: replace old PIPE_FORMAT_U_S8 with PIPE_FORMAT_S8_UNORM

16 years agoAdd support for GL_REPLACE_EXT texture env mode.
Brian Paul [Wed, 30 Apr 2008 22:05:01 +0000 (16:05 -0600)]
Add support for GL_REPLACE_EXT texture env mode.

GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension.  Found an old demo that
actually uses it.
The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.

16 years agoadded xdemos/sharedtex.c test
Brian Paul [Wed, 30 Apr 2008 20:43:28 +0000 (14:43 -0600)]
added xdemos/sharedtex.c test

Test that modifications to a texture object in one rendering context are seen
in a second rendering context.
Press 't' to change the texture's image/colors.

16 years agogallium: fix typo: s/custam/custom/
Brian Paul [Wed, 30 Apr 2008 19:24:35 +0000 (13:24 -0600)]
gallium: fix typo: s/custam/custom/

16 years agoplug a memleak, destroy setup context
Zack Rusin [Wed, 30 Apr 2008 18:05:49 +0000 (14:05 -0400)]
plug a memleak, destroy setup context

16 years agotry to fix the deleting of the bound cso during cleanup of the hash
Zack Rusin [Wed, 30 Apr 2008 06:04:28 +0000 (02:04 -0400)]
try to fix the deleting of the bound cso during cleanup of the hash

16 years agogallium: Fix release build.
José Fonseca [Wed, 30 Apr 2008 18:43:19 +0000 (03:43 +0900)]
gallium: Fix release build.

16 years agod3d: Windows miniport driver portability fixes.
José Fonseca [Wed, 30 Apr 2008 15:59:12 +0000 (00:59 +0900)]
d3d: Windows miniport driver portability fixes.

16 years agoscons: Try to cope with scons 0.98+.
José Fonseca [Wed, 30 Apr 2008 15:58:04 +0000 (00:58 +0900)]
scons: Try to cope with scons 0.98+.

16 years agogallium: use new buffer wrapper functions in p_inlines.h
Brian Paul [Wed, 30 Apr 2008 16:43:59 +0000 (10:43 -0600)]
gallium: use new buffer wrapper functions in p_inlines.h

This allows us to remove most of the direct references to winsys in the state tracker.

16 years agogallium: new pipe_buffer alloc/map/unmap/ref wrappers
Brian Paul [Wed, 30 Apr 2008 16:43:09 +0000 (10:43 -0600)]
gallium: new pipe_buffer alloc/map/unmap/ref wrappers