Michel Dänzer [Thu, 8 May 2008 12:26:23 +0000 (13:26 +0100)]
gallium: Make sure functions have proper prototypes and remove unused variable.
José Fonseca [Thu, 8 May 2008 06:28:42 +0000 (15:28 +0900)]
pipebuffer: Preliminary buffer validation.
Use table to store a list of buffers to validate. Unfortunately cso_hash
shrinks/regrows the hash every time, so still has to be addressed.
Multi-thread validation is still WIP.
José Fonseca [Thu, 8 May 2008 06:19:07 +0000 (15:19 +0900)]
gallium: Really free hash entries.
Hook up to the new cso_hash_erase function.
José Fonseca [Thu, 8 May 2008 05:56:03 +0000 (14:56 +0900)]
pipebuffer: Don't include standard headers directly.
Brian Paul [Thu, 8 May 2008 02:18:49 +0000 (20:18 -0600)]
mesa: minor fixes in _mesa_free_shader_program_data() and _mesa_link_program()
From master:
Set shProg->NumShaders = 0 after freeing program's list of shaders.
Set _NEW_PROGRAM in _mesa_link_program() to fix a state validation bug.
Brian Paul [Wed, 7 May 2008 22:44:33 +0000 (16:44 -0600)]
gallium: fix some render to texture bugs
Before, we were sometimes rendering into a stale texture because
st_finalize_texture() would discard the old texture and create a new one.
Moved st_update_framebuffer atom after texture validation so that we
can create a new renderbuffer surface if the texture changes.
Also, split texture validation into two parts: finalize_textures and
update_textures. Do finalize_textures first to avoid getting into the
situtation where we're doing a pipe->surface_copy() mid-way through
state validation.
Some debug code still in place, but disabled...
Brian Paul [Wed, 7 May 2008 17:57:03 +0000 (11:57 -0600)]
mesa: document a/s keys
Brian Paul [Wed, 7 May 2008 17:56:24 +0000 (11:56 -0600)]
mesa: add texturing to thread test
Run with -t to enable texture mapping.
Press 't' to update the texture image. When the texture is changed in one
thread it should also get updated in the other threads since textures are
shared by all contexts.
Keith Whitwell [Wed, 7 May 2008 14:57:36 +0000 (15:57 +0100)]
Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
Brian Paul [Wed, 7 May 2008 14:56:08 +0000 (08:56 -0600)]
mesa: free shader program data before deleting shader objects.
Picked from master.
Fixes mem corruption seen when glean/api2 test exits.
Brian Paul [Wed, 7 May 2008 14:55:33 +0000 (08:55 -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...
Picked from gallium-0.1
Brian Paul [Wed, 7 May 2008 14:47:55 +0000 (08:47 -0600)]
mesa: update/add newer GL ES headers
José Fonseca [Wed, 7 May 2008 13:01:27 +0000 (22:01 +0900)]
gallium: Implement util_pack_color for A8, L8, and I8 formats.
José Fonseca [Wed, 7 May 2008 12:37:32 +0000 (21:37 +0900)]
gallium: Fix release build.
pf_sprint_name might be used there too.
Michal Krol [Wed, 7 May 2008 12:24:14 +0000 (14:24 +0200)]
gallium: Fix compilation errors.
José Fonseca [Wed, 7 May 2008 11:27:42 +0000 (20:27 +0900)]
gallium: Implement pf_sprint_name as a simple static table.
José Fonseca [Wed, 7 May 2008 10:39:34 +0000 (19:39 +0900)]
gallium: Use the u_string.h functions.
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.
José Fonseca [Wed, 7 May 2008 07:29:36 +0000 (16:29 +0900)]
gallium: Output the total of leaked memory.
José Fonseca [Wed, 7 May 2008 05:17:59 +0000 (14:17 +0900)]
gallium: Propagate tex_usage flags down to winsys.
José Fonseca [Wed, 7 May 2008 05:14:48 +0000 (14:14 +0900)]
gallium: New PIPE_TEXTURE_USAGE_PRIMARY flag for primary surfaces.
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.
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...
Brian [Fri, 2 May 2008 01:29:25 +0000 (19:29 -0600)]
mesa: comments, whitespace
Brian Paul [Tue, 6 May 2008 21:39:39 +0000 (15:39 -0600)]
gallium: re-enable temporarily disabled code in do_copy_texsubimage()
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).
Michal Danzer [Tue, 6 May 2008 18:35:25 +0000 (12:35 -0600)]
gallium: create renderbuffer surface w/out CPU_READ/WRITE flags
Michal Danzer [Tue, 6 May 2008 18:34:34 +0000 (12:34 -0600)]
gallium: move setup of dest_surface in do_copy_texsubimage()
José Fonseca [Tue, 6 May 2008 17:51:49 +0000 (02:51 +0900)]
gallium: Simple facility to dump and view images for debugging.
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
Brian Paul [Tue, 6 May 2008 14:37:28 +0000 (08:37 -0600)]
gallium: sync up texture/sampler changes with master
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).
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.
Michel Dänzer [Tue, 6 May 2008 08:07:11 +0000 (09:07 +0100)]
gallium: Define util_sprintf for non-WIN32.
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
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.
Alan Hourihane [Mon, 5 May 2008 22:09:38 +0000 (23:09 +0100)]
fix _mesa_ffs for alternative compilers
Alan Hourihane [Mon, 5 May 2008 22:08:59 +0000 (23:08 +0100)]
declare atoms as extern
José Fonseca [Mon, 5 May 2008 14:58:37 +0000 (23:58 +0900)]
util: Alternative implementation for standard c library string functions.
José Fonseca [Mon, 5 May 2008 14:57:51 +0000 (23:57 +0900)]
scons: A few more compiler flags adjustments to match winddk.
Brian Paul [Sat, 3 May 2008 23:01:20 +0000 (17:01 -0600)]
gallium: fix some BaseLevel, lastLevel bugs
Brian Paul [Sat, 3 May 2008 15:26:25 +0000 (09:26 -0600)]
gallium: fix warnings
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
Brian Paul [Sat, 3 May 2008 15:07:11 +0000 (09:07 -0600)]
gallium: fix sampler->max_lod computation
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...
Keith Whitwell [Sat, 3 May 2008 14:41:05 +0000 (15:41 +0100)]
gallium: add pipe surface layout value (Roland Scheidegger)
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.
Brian Paul [Fri, 2 May 2008 20:00:08 +0000 (14:00 -0600)]
gallium: remove obsolete PIPE_CAP_BITMAP_TEXCOORD_BIAS
Brian Paul [Fri, 2 May 2008 17:12:15 +0000 (11:12 -0600)]
gallium: set template.target = PIPE_TEXTURE_2D
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.
Keith Whitwell [Fri, 2 May 2008 16:55:22 +0000 (17:55 +0100)]
brw: remove dead code
Brian Paul [Fri, 2 May 2008 16:43:29 +0000 (10:43 -0600)]
gallium: minor code, comments clean-up
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.
Brian Paul [Fri, 2 May 2008 16:37:20 +0000 (10:37 -0600)]
gallium: new debug code (disabled)
Keith Whitwell [Fri, 2 May 2008 15:56:06 +0000 (16:56 +0100)]
i915: update to new display target allocation
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.
Brian Paul [Fri, 2 May 2008 15:26:17 +0000 (09:26 -0600)]
gallium: fix typos, comments, whitespace
Brian Paul [Fri, 2 May 2008 14:22:25 +0000 (08:22 -0600)]
gallium: remove ^M (CR) chars
Brian Paul [Fri, 2 May 2008 13:54:11 +0000 (07:54 -0600)]
gallium: code movement (XSHM code)
Brian Paul [Thu, 1 May 2008 22:21:43 +0000 (16:21 -0600)]
set TextureID = NULL after deleting the array
Brian Paul [Thu, 1 May 2008 21:29:25 +0000 (15:29 -0600)]
gallium: comments, clean-ups
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.
Alan Hourihane [Fri, 2 May 2008 15:25:37 +0000 (15:25 +0000)]
snprintf -> util_snprintf
Michal Krol [Fri, 2 May 2008 14:12:55 +0000 (16:12 +0200)]
tgsi: Enable fast high precision rsqrt.
Keith Whitwell [Fri, 2 May 2008 14:02:18 +0000 (16:02 +0200)]
tgsi: Implement fast rsqrtf. Not tested, inactive.
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.
Keith Whitwell [Fri, 2 May 2008 11:17:11 +0000 (12:17 +0100)]
gallium: fix build after merge
Keith Whitwell [Fri, 2 May 2008 11:00:13 +0000 (12:00 +0100)]
Merge branch 'gallium-0.1' into gallium-tex-surfaces
Alan Hourihane [Fri, 2 May 2008 10:34:58 +0000 (10:34 +0000)]
revert mode change back to 644
Alan Hourihane [Fri, 2 May 2008 10:31:46 +0000 (10:31 +0000)]
inline -> INLINE
Alan Hourihane [Fri, 2 May 2008 10:08:03 +0000 (10:08 +0000)]
Some changed for non-C99 compilers
Keith Whitwell [Thu, 1 May 2008 17:13:46 +0000 (18:13 +0100)]
re-add pipe_surface map/unmap inlines
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
Michal Krol [Fri, 2 May 2008 09:13:58 +0000 (11:13 +0200)]
tgsi: Do not assume IN and OUT registers are declared sequentially.
Michal Krol [Fri, 2 May 2008 08:20:53 +0000 (10:20 +0200)]
tgsi: Fix build on Win32.
Michal Krol [Thu, 1 May 2008 14:39:54 +0000 (16:39 +0200)]
tgsi: Dump destination register modulate modifier.
Brian [Fri, 2 May 2008 00:56:20 +0000 (18:56 -0600)]
gallium: temporarily disable broken SSE2 code for ARL opcode
Brian [Fri, 2 May 2008 00:49:20 +0000 (18:49 -0600)]
gallium: implement TGSI_OPCODE_EXP
Brian [Fri, 2 May 2008 00:42:01 +0000 (18:42 -0600)]
gallium: implement TGSI_OPCODE_LOG
Brian Paul [Thu, 1 May 2008 21:21:40 +0000 (15:21 -0600)]
added cast for MSVC
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
Brian Paul [Thu, 1 May 2008 21:08:05 +0000 (15:08 -0600)]
gallium: use screen->tex_surface_release()
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.
Keith Whitwell [Thu, 1 May 2008 19:44:41 +0000 (20:44 +0100)]
rtasm: learn another version of push
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?
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...
Keith Whitwell [Thu, 1 May 2008 17:50:33 +0000 (18:50 +0100)]
i915: avoid crashing on bad parameter
Keith Whitwell [Thu, 1 May 2008 17:49:52 +0000 (18:49 +0100)]
i915: fix warning
Keith Whitwell [Thu, 1 May 2008 17:49:07 +0000 (18:49 +0100)]
softpipe: fix warning
Keith Whitwell [Thu, 1 May 2008 17:48:28 +0000 (18:48 +0100)]
sct: fix bug in remove_context_from_surface
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.
Michel Dänzer [Thu, 1 May 2008 16:30:17 +0000 (17:30 +0100)]
gallium: Notify driver of texture updates in util_blit_pixels().
Keith Whitwell [Thu, 1 May 2008 14:45:51 +0000 (15:45 +0100)]
tgsi: restore HIGH_PRECISION setting
Keith Whitwell [Thu, 1 May 2008 14:36:14 +0000 (15:36 +0100)]
tgsi: add some const qualifiers to immediate pointers
Keith Whitwell [Thu, 1 May 2008 14:32:03 +0000 (15:32 +0100)]
mesa: squash harmless warning
Keith Whitwell [Thu, 1 May 2008 14:31:17 +0000 (15:31 +0100)]
rtasm: assert stack is fully popped in return
Keith Whitwell [Thu, 1 May 2008 14:30:50 +0000 (15:30 +0100)]
draw: avoid aliasing warning
Keith Whitwell [Thu, 1 May 2008 14:27:53 +0000 (15:27 +0100)]
tgsi: use EBX everywhere, be sure to push/pop it
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
Keith Whitwell [Thu, 1 May 2008 13:51:18 +0000 (14:51 +0100)]
tgsi: use ESI instead of EBX on non-win32 platforms