Commit graph

13710 commits

Author SHA1 Message Date
Keith Whitwell
e4cdce43ce gallium: fix some compiler warnings 2008-03-14 08:42:45 +00:00
Keith Whitwell
d34bc880a4 tgsi: add debug_printf version of tgsi_dump 2008-03-14 08:42:08 +00:00
Brian
78302c7ca3 gallium: need to all draw_flush() in softpipe_unmap_constant_buffers()
Otherwise, we won't have our constants when we run the fragment shader.
Fixes crash in glsl tests when SP_VBUF=1.
2008-03-13 18:19:47 -06:00
Brian
34be396950 gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info() 2008-03-13 17:39:30 -06:00
Brian
d088d640fc gallium: plug in vertex passthrough code
Based on a patch from Zack.
Basically, implement a new draw_arrays function that copies the incoming
user-vertices to the hardware vertex buffer, doing format/type conversion
as needed.
The vertex fetch/store code is totally temporary for now.
2008-03-13 17:10:28 -06:00
Brian
5bae5871f0 gallium: for TEST_DRAW_PASSTHROUGH, pass inClipCoords=FALSE to st_draw_vertices()
When pass-through mode is fully supported we'll clean this up more.
2008-03-13 17:06:13 -06:00
Brian
ce49c4c24b gallium: fix bug in draw_num_vs_outputs() 2008-03-13 17:04:56 -06:00
Brian
cf106789ab gallium: added EMIT_HEADER case 2008-03-13 17:04:04 -06:00
Brian
269fbeb545 gallium: in softpipe_get_vertex_info() generate a vbuf vertex_info with real attribs
Can't use the EMIT_ALL shortcut/optimization anymore because of passthrough mode.
2008-03-13 16:57:57 -06:00
Brian
13334c8dd2 gallium: added EMIT_HEADER case in emit_vertex() 2008-03-13 16:57:37 -06:00
Brian
b9518a4e39 gallium: added new EMIT_HEADER token
Used to emit the struct vertex_header info for softpipe.
Before we were using the EMIT_ALL token but that's insufficient for the
draw pass-through mode.  EMIT_ALL might get removed soon...
2008-03-13 16:55:48 -06:00
Brian
7d5e38a55a gallium: plug in new sp_vbuf_draw_arrays() function
Will be used for pass-through mode.
Also, call draw_set_render() to register the vbuf stage.  Should probably
rename that function to something like draw_set_vbuf_stage().
2008-03-13 16:53:44 -06:00
Brian
3e625ce18e gallium: add some temporary code for testing draw module vertex passthrough
Set TEST_DRAW_PASSTHROUGH=1, run progs/trivial/clear-scissor
2008-03-13 15:08:18 -06:00
Brian
69c39b9ae2 gallium: set surface status to CLEAR or DEFINED in clearing/drawing code.
Otherwise, we were never setting these flags.  This confused the state tracker.
Fixes progs/demos/texenv.c, probably others.
2008-03-13 15:08:18 -06:00
Zack Rusin
a889928d85 add a way of removing an exact iterator from the hash 2008-03-13 16:41:37 -04:00
Brian
3faf6230ff gallium: added draw_need_pipeline() predicate function
To test if we need any pipeline stage, or whether we can go into passthrough mode.
2008-03-13 14:34:35 -06:00
Brian
8b8c9acdb7 gallium: added draw_enable_line_stipple() function
Allows drivers that implement line stipple to turn off this drawing stage.
2008-03-13 14:33:57 -06:00
Brian
b6ed165748 gallium: added bypass_vs flag to rasterizer state (may be temporary) 2008-03-13 14:32:20 -06:00
Ian Romanick
3115e8c968 cell: Fix to work with commit fa9e7e9a8d 2008-03-13 13:10:16 -07:00
Brian Paul
b12a28db96 gallium: remove dead code related to shader semantic input/output info 2008-03-13 14:05:30 -06:00
Brian Paul
7ffbaebce1 gallium: fix bug in stip_first_tri()
Need to compute num_samplers after binding/creating the fragment shader.
2008-03-13 13:22:51 -06:00
Brian Paul
cb294542bc gallium: remove a debug printf 2008-03-13 13:22:51 -06:00
Ian Romanick
6472138045 Replicate TXP changes in the SPU version of TGSI exec
Replicate changes from commit ba75e82b6e
in spu_exec.c
2008-03-13 11:21:14 -07:00
Brian Paul
fa9e7e9a8d gallium: remove semantic info from pipe_shader_state
Brian's patch to clean up the shader interfaces.
2008-03-13 18:10:26 +00:00
Keith Whitwell
b0d5519b44 gallium: make the windows config function more readable with 80-ish columns 2008-03-13 18:10:26 +00:00
Michal Krol
bcb454e7a6 tgsi: Drop pre-ps_2_0 opcodes. 2008-03-13 18:12:36 +01:00
Michal Krol
78ddfbd130 tgsi: Remove OPCODE_TEXCOORD, OPCODE_TEXCRD aliases. 2008-03-13 13:00:44 +01:00
José Fonseca
42f2868416 gallium: General purpose hash table, which is actually just a convenient frontend to cso_hash. 2008-03-13 10:23:02 +00:00
José Fonseca
734ccee565 gallium: Standardize most important error codes. 2008-03-13 10:23:02 +00:00
José Fonseca
e584eb888f gallium: Add a bit of documentation to cso_hash. 2008-03-13 10:23:02 +00:00
José Fonseca
8506e41dc0 gallium: Fix debug_mask_vprintf's example. 2008-03-13 10:23:02 +00:00
José Fonseca
192d1cbbdf gallium: Add a new handle_table_set that accepts an arbitrary handle. 2008-03-13 10:23:02 +00:00
Keith Whitwell
92523ad0fd mesa: fix (harmless?) assignment in assert 2008-03-13 10:14:21 +00:00
Keith Whitwell
ddb4e5cbac tgsi: replace erroneous use of FETCH with emit_tempf 2008-03-13 10:02:38 +00:00
Keith Whitwell
5ba2f0a507 tgsi: bump MAX_SRC_REGS to 4, for TXD 2008-03-13 10:02:38 +00:00
Zack Rusin
cac037d36d add code handling dependencies between generated code 2008-03-12 22:57:52 -04:00
Zack Rusin
2366bb1baf Add some basic documentation for gallivm code 2008-03-12 22:06:51 -04:00
Zack Rusin
a1d5672865 document hash collision resolutions 2008-03-12 21:49:06 -04:00
Brian
329c543134 gallium: fix polygon stipple
Was broken by commit 4528287e04 (bind all
samplers/texures at once).
2008-03-12 19:29:30 -06:00
Brian
d91e62e9c6 gallium: in clear_stencil_buffer() check surface format to determine stencil clear value
... as we do for the Z and Z+stencil cases
2008-03-12 18:24:46 -06:00
Brian
2109ba4c5d i915: handle NULL object in i915_bind_rasterizer_state() 2008-03-12 16:56:12 -06:00
Brian
d1284d3be2 mesa: set SamplersUsed bitmask when parsing ARB fragment programs 2008-03-12 15:34:24 -06:00
Brian
0dd79011b9 gallium: pass NULL to cso_single_sampler() when the sampler isn't used.
This fixes an AA line crash/regression.
The aaline stage needs to find a free/unused sampler to do its thing.
2008-03-12 14:20:54 -06:00
Brian
51809bc1bc remove reference to obsolete ExtDivide 2008-03-12 13:22:58 -06:00
Brian
a2b917c1cd gallium: use TXP rather than ExtDivide flag 2008-03-12 13:21:41 -06:00
Brian
12ab5f9701 gallium: change draw_vertex_shader->state from pointer to struct
We were sometimes keeping a pointer to a stack-allocated object.
Now make a copy of the pipe_shader_state object.
This should fix some seemingly random memory errors/crashes.
2008-03-12 13:20:29 -06:00
Michal Krol
ba75e82b6e tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP. 2008-03-12 16:41:25 +01:00
Michal Krol
e5b1a53c9f tgsi: Dump TXP opcode. 2008-03-12 16:26:08 +01:00
José Fonseca
8901a46a74 gallium: Generic handle table. 2008-03-12 15:02:50 +00:00
José Fonseca
a2ea51ed82 gallium: Change assert behavior on runtime (Mark Mueller). 2008-03-12 15:02:50 +00:00