llvmpipe: checkpoint some initial state binning code
This commit is contained in:
parent
ffd0759973
commit
e2f4634456
|
@ -235,6 +235,8 @@ void lp_rast_load_zstencil( struct lp_rasterizer *rast,
|
|||
void lp_rast_set_state( struct lp_rasterizer *rast,
|
||||
const union lp_rast_cmd_arg arg )
|
||||
{
|
||||
const struct lp_rast_state *state = arg.set_state;
|
||||
|
||||
RAST_DEBUG("%s\n", __FUNCTION__);
|
||||
|
||||
/* XXX to do */
|
||||
|
|
|
@ -594,14 +594,24 @@ lp_setup_update_shader_state( struct setup_context *setup )
|
|||
memcmp(setup->fs.stored,
|
||||
&setup->fs.current,
|
||||
sizeof setup->fs.current) != 0) {
|
||||
struct lp_rast_state *stored;
|
||||
|
||||
stored = get_data(&setup->data, sizeof *stored);
|
||||
/* The fs state that's been stored in the bins is different from
|
||||
* the new, current state. So allocate a new lp_rast_state object
|
||||
* and append it to the bin's setup data buffer.
|
||||
*/
|
||||
struct lp_rast_state *stored =
|
||||
(struct lp_rast_state *) get_data(&setup->data, sizeof *stored);
|
||||
if(stored) {
|
||||
memcpy(stored,
|
||||
&setup->fs.current,
|
||||
sizeof setup->fs.current);
|
||||
setup->fs.stored = stored;
|
||||
|
||||
#if 0
|
||||
/* put the state-set command into all bins */
|
||||
bin_everywhere( setup,
|
||||
lp_rast_set_state,
|
||||
*setup->fs.stored );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue