mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 16:48:07 +02:00
llvmpipe: checkpoint some initial state binning code
This commit is contained in:
parent
ffd0759973
commit
e2f4634456
2 changed files with 15 additions and 3 deletions
|
|
@ -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…
Add table
Reference in a new issue