mesa.git
16 years agogallium: Fix compilation errors.
Michal Krol [Wed, 7 May 2008 12:24:14 +0000 (14:24 +0200)]
gallium: Fix compilation errors.

16 years agogallium: Implement pf_sprint_name as a simple static table.
José Fonseca [Wed, 7 May 2008 11:27:42 +0000 (20:27 +0900)]
gallium: Implement pf_sprint_name as a simple static table.

16 years agogallium: Use the u_string.h functions.
José Fonseca [Wed, 7 May 2008 10:39:34 +0000 (19:39 +0900)]
gallium: Use the u_string.h functions.

16 years agoRevert "gallium: move setup of dest_surface in do_copy_texsubimage()"
Michel Dänzer [Wed, 7 May 2008 07:46:28 +0000 (08:46 +0100)]
Revert "gallium: move setup of dest_surface in do_copy_texsubimage()"

This reverts commit f7dbd18371f9cb6686b6a97642b3ca5577e83472.

Looks like an accidental revert of commit
650c57f19398800dfdcf357b6e9ec7b68bfa34f1.

16 years agogallium: Output the total of leaked memory.
José Fonseca [Wed, 7 May 2008 07:29:36 +0000 (16:29 +0900)]
gallium: Output the total of leaked memory.

16 years agogallium: Propagate tex_usage flags down to winsys.
José Fonseca [Wed, 7 May 2008 05:17:59 +0000 (14:17 +0900)]
gallium: Propagate tex_usage flags down to winsys.

16 years agogallium: New PIPE_TEXTURE_USAGE_PRIMARY flag for primary surfaces.
José Fonseca [Wed, 7 May 2008 05:14:48 +0000 (14:14 +0900)]
gallium: New PIPE_TEXTURE_USAGE_PRIMARY flag for primary surfaces.

16 years agogallium: re-enable temporarily disabled code in do_copy_texsubimage()
Brian Paul [Tue, 6 May 2008 21:39:39 +0000 (15:39 -0600)]
gallium: re-enable temporarily disabled code in do_copy_texsubimage()

16 years agogallium: create drawing surfaces as GPU_READ/WRITE only
Brian Paul [Tue, 6 May 2008 19:47:41 +0000 (13:47 -0600)]
gallium: create drawing surfaces as GPU_READ/WRITE only

Create different temporary surfaces for CPU_READ/WRITE when needed (such as
for glReadPixels, glAccum, some glCopy/DrawPixels, glCopyTexSubImage, etc).

16 years agogallium: create renderbuffer surface w/out CPU_READ/WRITE flags
Michal Danzer [Tue, 6 May 2008 18:35:25 +0000 (12:35 -0600)]
gallium: create renderbuffer surface w/out CPU_READ/WRITE flags

16 years agogallium: move setup of dest_surface in do_copy_texsubimage()
Michal Danzer [Tue, 6 May 2008 18:34:34 +0000 (12:34 -0600)]
gallium: move setup of dest_surface in do_copy_texsubimage()

16 years agogallium: Simple facility to dump and view images for debugging.
José Fonseca [Tue, 6 May 2008 17:51:49 +0000 (02:51 +0900)]
gallium: Simple facility to dump and view images for debugging.

16 years agogallium: sync up texture/sampler changes with master
Brian Paul [Tue, 6 May 2008 14:37:28 +0000 (08:37 -0600)]
gallium: sync up texture/sampler changes with master

16 years agogallium: Make sure to release texture surfaces (at the right time).
Michel Dänzer [Tue, 6 May 2008 11:24:04 +0000 (12:24 +0100)]
gallium: Make sure to release texture surfaces (at the right time).

16 years agogallium: glCopyTexSubImage improvement.
Michel Dänzer [Tue, 6 May 2008 11:23:16 +0000 (12:23 +0100)]
gallium: glCopyTexSubImage improvement.

Only get a texture surface for attempting an accelerated copy, and mark it for
GPU use only.

16 years agogallium: Define util_sprintf for non-WIN32.
Michel Dänzer [Tue, 6 May 2008 08:07:11 +0000 (09:07 +0100)]
gallium: Define util_sprintf for non-WIN32.

16 years agoMerge commit 'origin/gallium-0.1' into gallium-tex-surfaces
Keith Whitwell [Tue, 6 May 2008 06:45:28 +0000 (07:45 +0100)]
Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces

Conflicts:

src/mesa/state_tracker/st_atom_sampler.c
src/mesa/state_tracker/st_cb_texture.c

16 years agogallium: New pipe_screen interface to overlay a texture on existing memory.
José Fonseca [Tue, 6 May 2008 05:57:18 +0000 (14:57 +0900)]
gallium: New pipe_screen interface to overlay a texture on existing memory.

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 agoutil: Alternative implementation for standard c library string functions.
José Fonseca [Mon, 5 May 2008 14:58:37 +0000 (23:58 +0900)]
util: Alternative implementation for standard c library string functions.

16 years agoscons: A few more compiler flags adjustments to match winddk.
José Fonseca [Mon, 5 May 2008 14:57:51 +0000 (23:57 +0900)]
scons: A few more compiler flags adjustments to match winddk.

16 years agogallium: fix some BaseLevel, lastLevel bugs
Brian Paul [Sat, 3 May 2008 23:01:20 +0000 (17:01 -0600)]
gallium: fix some BaseLevel, lastLevel bugs

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: add pipe surface layout value (Roland Scheidegger)
Keith Whitwell [Sat, 3 May 2008 14:41:05 +0000 (15:41 +0100)]
gallium: add pipe surface layout value (Roland Scheidegger)

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: set template.target = PIPE_TEXTURE_2D
Brian Paul [Fri, 2 May 2008 17:12:15 +0000 (11:12 -0600)]
gallium: set template.target = PIPE_TEXTURE_2D

16 years agogallium: identify depth-stencil textures
Keith Whitwell [Fri, 2 May 2008 16:56:01 +0000 (17:56 +0100)]
gallium: identify depth-stencil textures

And don't use the display-target path to allocate them.

16 years agobrw: remove dead code
Keith Whitwell [Fri, 2 May 2008 16:55:22 +0000 (17:55 +0100)]
brw: remove dead code

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 agoi915: update to new display target allocation
Keith Whitwell [Fri, 2 May 2008 15:56:06 +0000 (16:56 +0100)]
i915: update to new display target allocation

16 years agogallium: Add texture usage flags, special-case allocation of display targets
Keith Whitwell [Fri, 2 May 2008 15:46:31 +0000 (16:46 +0100)]
gallium: Add texture usage flags, special-case allocation of display targets

For many envirionments it's necessary to allocate display targets
in a window-system friendly manner.  Add facilities so that a driver
can tell if a texture is likely to be used to generate a display surface
and if use special allocation paths if necessary.

Hook up softpipe to call into the winsys->surface_alloc_storage()
routine in this case, though we probably want to change that interface
slightly also.

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 agogallium: remove usage of winsys->surface_alloc_storage from state tracker
Keith Whitwell [Fri, 2 May 2008 13:27:10 +0000 (14:27 +0100)]
gallium: remove usage of winsys->surface_alloc_storage from state tracker

Allocate a texture containing storage instead.

Also clean up ACCUM buffer allocation slightly -- drivers will need
some changes to texture allocation logic to accomodate the concept of
a texture that will only as image storage by the CPU, but it's cleaner
than it was.

16 years agogallium: fix build after merge
Keith Whitwell [Fri, 2 May 2008 11:17:11 +0000 (12:17 +0100)]
gallium: fix build after merge

16 years agoMerge branch 'gallium-0.1' into gallium-tex-surfaces
Keith Whitwell [Fri, 2 May 2008 11:00:13 +0000 (12:00 +0100)]
Merge branch 'gallium-0.1' into gallium-tex-surfaces

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 agore-add pipe_surface map/unmap inlines
Keith Whitwell [Thu, 1 May 2008 17:13:46 +0000 (18:13 +0100)]
re-add pipe_surface map/unmap inlines

16 years agocso: can memcmp-compare pipe_framebuffer_state now it includes fb dimensions
Keith Whitwell [Thu, 1 May 2008 16:55:52 +0000 (17:55 +0100)]
cso: can memcmp-compare pipe_framebuffer_state now it includes fb dimensions

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 agogallium: use screen->tex_surface_release()
Brian Paul [Thu, 1 May 2008 21:08:05 +0000 (15:08 -0600)]
gallium: use screen->tex_surface_release()

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: add information to surface to identify which texture image it is pointing at
Keith Whitwell [Thu, 1 May 2008 11:28:50 +0000 (12:28 +0100)]
gallium: add information to surface to identify which texture image it is pointing at

16 years agosoftpipe: missing file
Keith Whitwell [Thu, 1 May 2008 11:21:48 +0000 (12:21 +0100)]
softpipe: missing file

16 years agosoftpipe: use CPU flags for mapping
Keith Whitwell [Thu, 1 May 2008 10:28:47 +0000 (11:28 +0100)]
softpipe: use CPU flags for mapping

But when creating surfaces, adjust incoming flags from GPU->CPU usage.

16 years agogallium: tex surface checkpoint
Keith Whitwell [Thu, 1 May 2008 10:07:21 +0000 (11:07 +0100)]
gallium: tex surface checkpoint

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/