Commit Graph

12231 Commits

Author SHA1 Message Date
Brian Paul 2f07e1caa0 gallium: fix render to depth texture 2008-05-08 17:42:18 -06:00
Brian Paul a7e8e31eee gallium: replace pipe_buffer_destroy() call with pipe_buffer_reference(NULL) 2008-05-08 17:13:01 -06:00
Brian Paul f3ecd488dd gallium: remove dead code 2008-05-08 17:11:55 -06:00
Brian Paul 29d9f6b0d2 gallium: no-op st_Bitmap() if width or height is zero 2008-05-08 17:11:05 -06:00
Brian Paul e93243cb80 gallium: clean-up, minor fix 2008-05-08 16:02:19 -06:00
Brian Paul 6548e9b018 gallium: plug in dummy stage->destroy func 2008-05-08 14:21:10 -06:00
Michel Dänzer d2ec02f440 Merge branch 'gallium-0.1' into gallium-tex-surfaces 2008-05-08 19:01:34 +01:00
Michel Dänzer 1dfb3d4729 cso_cache: Fix test for currently bound blend state. 2008-05-08 19:00:11 +01:00
José Fonseca 8eab7de888 pipebuffer: Temporarily reimplement validation as growable array.
Jose
2008-05-09 00:37:50 +09:00
Michel Dänzer 7ffbfaccfb gallium: Make sure functions have proper prototypes and remove unused variable. 2008-05-08 13:26:23 +01:00
José Fonseca 82dd0225e7 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.
2008-05-08 15:29:20 +09:00
José Fonseca 665b327a47 gallium: Really free hash entries.
Hook up to the new cso_hash_erase function.
2008-05-08 15:29:20 +09:00
José Fonseca 53996e562f pipebuffer: Don't include standard headers directly. 2008-05-08 15:29:20 +09:00
Brian Paul a266af9200 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.
2008-05-07 20:18:49 -06:00
Brian Paul 1a82d9648b 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...
2008-05-07 16:44:33 -06:00
Keith Whitwell ffe78987dc Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces 2008-05-07 15:57:36 +01:00
Brian Paul 3e1a4c2869 mesa: free shader program data before deleting shader objects.
Picked from master.
Fixes mem corruption seen when glean/api2 test exits.
2008-05-07 08:56:08 -06:00
Brian Paul a56a59ce74 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
2008-05-07 08:55:33 -06:00
José Fonseca 10b7192747 gallium: Implement util_pack_color for A8, L8, and I8 formats. 2008-05-07 22:01:27 +09:00
José Fonseca 33cda1e5e5 gallium: Fix release build.
pf_sprint_name might be used there too.
2008-05-07 21:37:32 +09:00
Michal Krol 5efd2d59eb gallium: Fix compilation errors. 2008-05-07 14:24:14 +02:00
José Fonseca 55c13f5af7 gallium: Implement pf_sprint_name as a simple static table. 2008-05-07 20:27:42 +09:00
José Fonseca 942b02956e gallium: Use the u_string.h functions. 2008-05-07 19:39:34 +09:00
Michel Dänzer 79931e38ab Revert "gallium: move setup of dest_surface in do_copy_texsubimage()"
This reverts commit f7dbd18371.

Looks like an accidental revert of commit
650c57f193.
2008-05-07 08:46:28 +01:00
José Fonseca 4d1bf8a85e gallium: Output the total of leaked memory. 2008-05-07 16:29:36 +09:00
José Fonseca c7ad942c54 gallium: Propagate tex_usage flags down to winsys. 2008-05-07 14:17:59 +09:00
José Fonseca fe06a47361 gallium: New PIPE_TEXTURE_USAGE_PRIMARY flag for primary surfaces. 2008-05-07 14:14:48 +09:00
Brian 05370685fe mesa: free shader program data before deleting shader objects.
Picked from master.
Fixes mem corruption seen when glean/api2 test exits.
2008-05-06 23:08:02 -06:00
Brian 103ae5d16f 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...
2008-05-06 22:13:06 -06:00
Brian 10f6ae0355 mesa: comments, whitespace 2008-05-06 19:16:26 -06:00
Brian Paul 6b0fd0f157 gallium: re-enable temporarily disabled code in do_copy_texsubimage() 2008-05-06 15:39:39 -06:00
Brian Paul 296378b6c8 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).
2008-05-06 13:48:27 -06:00
Michal Danzer 973d0c014d gallium: create renderbuffer surface w/out CPU_READ/WRITE flags 2008-05-06 13:48:27 -06:00
Michal Danzer f7dbd18371 gallium: move setup of dest_surface in do_copy_texsubimage() 2008-05-06 13:48:27 -06:00
José Fonseca a6ad492774 gallium: Simple facility to dump and view images for debugging. 2008-05-07 04:51:55 +09:00
Brian Paul 66f703dca9 gallium: change calculate_first_last_level() to match gallium-tex-surfaces branch 2008-05-06 08:40:41 -06:00
Brian Paul 809dd9089b gallium: sync up texture/sampler changes with master 2008-05-06 08:37:28 -06:00
Michel Dänzer d0279fc4b3 gallium: Make sure to release texture surfaces (at the right time). 2008-05-06 12:24:04 +01:00
Michel Dänzer 650c57f193 gallium: glCopyTexSubImage improvement.
Only get a texture surface for attempting an accelerated copy, and mark it for
GPU use only.
2008-05-06 12:23:16 +01:00
Michel Dänzer 4c6c073f99 gallium: Define util_sprintf for non-WIN32. 2008-05-06 09:07:11 +01:00
Keith Whitwell 09e6be9b57 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
2008-05-06 07:45:28 +01:00
José Fonseca 6361d6f48d gallium: New pipe_screen interface to overlay a texture on existing memory. 2008-05-06 14:57:18 +09:00
Alan Hourihane f77442fbd3 fix _mesa_ffs for alternative compilers 2008-05-05 23:09:38 +01:00
Alan Hourihane 736374c105 declare atoms as extern 2008-05-05 23:08:59 +01:00
José Fonseca 131a1fbc91 util: Alternative implementation for standard c library string functions. 2008-05-05 23:58:37 +09:00
Brian Paul ffde4e03cf gallium: fix some BaseLevel, lastLevel bugs 2008-05-03 17:01:20 -06:00
Brian Paul 736f535b4f gallium: fix warnings 2008-05-03 09:26:25 -06:00
Brian Paul 3837d401cc gallium: fix sampler->max_lod computation 2008-05-03 09:07:11 -06:00
Brian Paul 3668d20a9f 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...
2008-05-03 08:58:44 -06:00
Keith Whitwell 8e6a380798 gallium: add pipe surface layout value (Roland Scheidegger) 2008-05-03 15:41:05 +01:00