Brian
c45a525cdc
mesa: revert fast-track glColor and similar calls when not immediate mode rendering
...
Revert commit d08cd68d3f
This change caused some glean tests to fail. The alpha value of colors was
always 1.0 instead of the value from glColor4fv(). The mesa color array
found in st_draw() has size=3 instead of size=4.
2008-03-14 10:23:56 -06:00
Brian
ee55eaa609
gallium: in st_program_string_notify() free shader tokens.
...
When the shader instructions change, free the TGSI tokens. This signals the
state tracker to recompile the shader. Fixes a regression caused by recent
shader/state-tracker changes.
2008-03-14 10:23:56 -06:00
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