Commit Graph

11830 Commits

Author SHA1 Message Date
Brian Paul 593cf5a6b5 gallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.
The two functions were mostly the same.  We can look at the shader header
info to determine if it's a vertex or fragment shader.
2008-04-11 15:27:00 -06:00
Brian Paul 7c2416f06e gallium: handle TGSI immediates in SSE code for vertex shaders 2008-04-11 15:02:21 -06:00
Brian Paul e3cf0cd6a9 gallium: implement immediates (aka literals) for SSE fragment shaders 2008-04-11 14:19:32 -06:00
Brian Paul 097301395d gallium: comments 2008-04-11 14:19:31 -06:00
Brian Paul 9e8a85ef67 gallium: fix SCS codegen (sin scalar src comes from X, not Y) 2008-04-11 14:19:31 -06:00
Keith Whitwell 1690051521 mesa: fix broken x86_call() 2008-04-11 14:19:31 -06:00
Keith Whitwell 4d184cc331 gallium: fix broken x86_call() 2008-04-11 14:19:31 -06:00
Michel Dänzer 02250c855f gallium: Flush render cache at the beginning of fallback_copy_texsubimage().
It may get stale bits otherwise.
2008-04-11 17:45:41 +01:00
Brian Paul d758479b9f mesa: Fix glBegin-time test for invalid programs/shaders.
Cherry-picked from master.
2008-04-11 10:14:17 -06:00
Michal Krol f41cc50ef0 tgsi: Dump processor type and version as a single token. 2008-04-11 11:50:09 +02:00
Michal Krol 2483062f10 tgsi: Dump semantics before interpolator. 2008-04-11 11:50:08 +02:00
José Fonseca 03a3373bdf gallium: Thread condition variables. 2008-04-11 12:18:06 +09:00
Brian Paul 87b0b8e7bc gallium: flags param to surface_alloc_storage() is unused and deprecated 2008-04-10 18:33:53 -06:00
José Fonseca bc56e87ce1 gallium: Attribute realloc leaks to the first malloc call. 2008-04-11 09:32:26 +09:00
Keith Whitwell c95dcc4962 remove usage of vertex_header 2008-04-10 14:35:47 -04:00
Brian Paul 7a8ad75c89 gallium: fix readback of z16 values 2008-04-10 10:30:46 -06:00
Brian Paul 311e402684 gallium: more elaborate tracking of front color buffer state
This fixes the case where the app calls SwapBuffers then calls glReadPixels
to read the front color buffer.  We now keep track of when the front buffer
is a _logically_ copy of the back buffer (after SwapBuffers) and read from
the back color buffer instead of the front.
2008-04-09 18:39:51 -06:00
Brian Paul 54d7c399a8 gallium: more flush/finish changes
New, separate is_front_buffer_dirty() function.
2008-04-09 16:59:14 -06:00
Brian Paul 4ecbd5a70f gallium: reorder funcs 2008-04-09 16:32:46 -06:00
Brian Paul aade2f41b0 gallium: call_flush_front_buffer() from st_glFinish() 2008-04-09 16:32:22 -06:00
Brian Paul 574f964667 gallium: fold st_gl_flush() into st_glFlush() 2008-04-09 16:30:28 -06:00
Brian Paul 9c86c0e88b gallium: refactor code, new flush_front_buffer() function 2008-04-09 16:26:56 -06:00
Brian Paul a52faa9325 gallium: remove unneeded st->haveFramebufferSurfaces field. 2008-04-09 16:09:46 -06:00
Brian Paul f7e475280a gallium: fix bug in PIPE_BLENDFACTOR_INV_DST_ALPHA case 2008-04-09 14:20:43 -06:00
Brian da8934034b gallium: re-order, clean-up PIPE_MAX_* definitions 2008-04-08 21:43:36 -06:00
Brian be37e8350f gallium: remove obsolete/unused PIPE_ATTRIB_MAX 2008-04-08 21:38:44 -06:00
Brian 7e57a9e8bb cell: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
Brian 1f888abf16 i915: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
Brian 28cf8c8fdc gallium: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
José Fonseca 4382b0c9cb gallium: Fix overzealous assert. 2008-04-08 20:42:24 +09:00
Michel Dänzer f97c56e057 gallium: Fix up scons build. 2008-04-08 10:53:37 +01:00
Brian 17f6409903 gallium: get rid of bufloop quad stage 2008-04-07 22:00:41 -06:00
Brian c7daa68ca3 gallium: begin reworking quad stages for multiple color outputs 2008-04-07 21:59:12 -06:00
José Fonseca 4e2127b0e5 gallium: Allow to debug memory leaks in nested scopes. 2008-04-08 12:04:03 +09:00
Brian Paul 985134211d gallium: check ctx->DrawBuffer before flushing bitmap cache.
During context unbind, we may not have a draw buffer.
This fixes demos/tunnel2.c
2008-04-07 16:45:17 -06:00
Brian Paul d28a2004b8 gallium: fix the texture case in default_deep_rgba_format()
Fixes glean pixelFormat test
2008-04-07 15:53:49 -06:00
Brian Paul 2b8b2420d4 gallium: slightly improved accum clear/mad operations
Instead of get/put_tile(), map the buffer and operate on values directly.
2008-04-07 15:05:28 -06:00
Brian Paul 0dd596fbc7 gallium: accum buffer fixes
If the driver can't create a PIPE_FORMAT_R16G16B16A16_SNORM surface, create
an accum surface using a shallower format and taller height.  Since only the
accum buffer code accesses the surface the actual format doesn't really
matter, just that there's enough memory.
2008-04-07 14:53:49 -06:00
Brian Paul 29b65a709c gallium: remove stray comment 2008-04-07 14:17:32 -06:00
Brian Paul 2b2d0e0584 gallium: clean-up in st_renderbuffer_alloc_storage() 2008-04-07 13:50:02 -06:00
Brian 42a9218daa mesa: call _mesa_remove_varying_reads() after compiling vertex shaders 2008-04-07 11:23:44 -06:00
Brian 48a25bdd36 mesa: new _mesa_remove_varying_reads() function
We'll apply this function to GLSL vertex programs.  In GLSL it's legal to
read and write varying (output) vars in a vertex shader.  But reading from
an output register isn't supported by all hardware.  This routine examines
the vertex program for that condition and rewrites it to use temporary
registers where needed.
2008-04-07 11:23:44 -06:00
Brian 5d1e73028a mesa: added _mesa_insert_instructions()
Also, use new _mesa_free_instructions() in a few places.
2008-04-07 11:23:43 -06:00
Brian f3bd7bf5c9 mesa: added _mesa_free_instructions() 2008-04-07 11:23:43 -06:00
Keith Whitwell a8a5376406 draw: strip edgeflags out of fetch-emit path 2008-04-07 12:28:31 +01:00
Keith Whitwell 5c19e47362 draw: fix edgeflag handling on the pt paths
Encode edgeflags (and reset_stipple info) into the top two bits of the
fetch elements.  This info could be moved elsewhere, but for now we
can live with a 1<<30 maximum element size...

Also use the primitive decomposition code from draw_prim.c verbatim, as
it includes all this stuff and is known to work.
2008-04-06 14:31:41 +01:00
Michal Krol a8ca549553 draw: Use debug_printf(). 2008-04-05 10:22:47 +02:00
José Fonseca fdff063343 gallium: Keep fenced buffers list ordered.
This allows to keep the list small without the overhead of full walks.
2008-04-05 13:45:41 +09:00
José Fonseca f1efef809c gallium: Fix typo. 2008-04-05 13:45:40 +09:00
José Fonseca c1d26d3dcc gallium: Use the custom snprintf implementation everywhere (for Win32).
Because winddk's implemenation does not handle floats.
2008-04-05 13:45:40 +09:00