Commit graph

12245 commits

Author SHA1 Message Date
Keith Whitwell
2f9b1b9cc2 Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces 2008-05-09 13:11:48 +01:00
Keith Whitwell
1a03812fb5 draw: mimize cost of translate key compares, use cache universally 2008-05-09 13:10:15 +01:00
Keith Whitwell
80474d576c translate: helper functions for mimizing cost of key compares 2008-05-09 13:09:58 +01:00
José Fonseca
54777e124c gallium: Define util_vsprintf. 2008-05-09 18:48:01 +09:00
Keith Whitwell
36e1bc865b Merge branch 'gallium-0.1' into gallium-tex-surfaces 2008-05-09 08:56:01 +01:00
José Fonseca
47f639a629 gallium: Disable debug_get_option for release builds on Windows.
It always creates the C:\gallium.cfg , even if it does not exists, which
might be confusing.
2008-05-09 14:34:51 +09:00
José Fonseca
2268306f58 gallium: Don't serialize GPU writes.
Only make sure the GPU is finished with a buffer before mapping.

The opposite -- waiting for the CPU to be finished before handing
to the CPU -- must be done before fencing.
2008-05-09 11:02:26 +09:00
Brian Paul
f763cc3cb5 gallium: don't free shader.tokens in get_passthrough_fs() 2008-05-08 19:32:49 -06:00
Brian Paul
2a39dbe736 gallium: fix out of tex memory crashes 2008-05-08 19:19:52 -06:00
Brian Paul
044d583ba1 gallium: handle null ptrs 2008-05-08 18:38:02 -06:00
Brian Paul
f9e2f26df3 gallium: re-enable call to init_renderbuffer_bits(), remove dead code 2008-05-08 17:45:59 -06:00
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
Keith Whitwell
b514f5f3ba 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.
2008-05-08 22:15:00 +01:00
Keith Whitwell
fec1d215f6 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
2008-05-08 22:14:59 +01:00
Keith Whitwell
9002cdb48e softpipe: don't calc det if NO_RAST set 2008-05-08 22:14:59 +01: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