svp->far = 1;
}
-static void prepare_cc_vp( struct brw_context *brw )
+static int prepare_cc_vp( struct brw_context *brw )
{
struct brw_cc_viewport ccv;
struct sane_viewport svp;
memset(&ccv, 0, sizeof(ccv));
/* PIPE_NEW_VIEWPORT */
- calc_sane_viewport( &brw->vp, &svp );
+ calc_sane_viewport( &brw->curr.vp, &svp );
ccv.min_depth = svp.near;
ccv.max_depth = svp.far;
brw->sws->bo_unreference(brw->cc.vp_bo);
brw->cc.vp_bo = brw_cache_data( &brw->cache, BRW_CC_VP, &ccv, NULL, 0 );
+
+ return 0;
}
const struct brw_tracked_state brw_cc_vp = {
cc_unit_populate_key(const struct brw_context *brw,
struct brw_cc_unit_key *key)
{
- key->cc0 = brw->dsa->cc0;
- key->cc1 = brw->dsa->cc1;
- key->cc2 = brw->dsa->cc2;
- key->cc3 = combine_cc3( brw->dsa->cc3, brw->blend->cc3 );
- key->cc5 = brw->blend->cc5;
- key->cc6 = brw->blend->cc6;
- key->cc7 = brw->blend->cc7;
+ key->cc0 = brw->curr.zstencil->cc0;
+ key->cc1 = brw->curr.zstencil->cc1;
+ key->cc2 = brw->curr.zstencil->cc2;
+ key->cc3 = combine_cc3( brw->curr.zstencil->cc3, brw->curr.blend->cc3 );
+ key->cc5 = brw->curr.blend->cc5;
+ key->cc6 = brw->curr.blend->cc6;
+ key->cc7 = brw->curr.zstencil->cc7;
}
/**
cc.cc3 = key->cc3;
/* CACHE_NEW_CC_VP */
- cc.cc4.cc_viewport_state_offset = brw->cc.vp_bo->offset >> 5; /* reloc */
+ cc.cc4.cc_viewport_state_offset = *(brw->cc.vp_bo->offset) >> 5; /* reloc */
cc.cc5 = key->cc5;
cc.cc6 = key->cc6;
return bo;
}
-static void prepare_cc_unit( struct brw_context *brw )
+static int prepare_cc_unit( struct brw_context *brw )
{
struct brw_cc_unit_key key;
if (brw->cc.state_bo == NULL)
brw->cc.state_bo = cc_unit_create_from_key(brw, &key);
+
+ return 0;
}
const struct brw_tracked_state brw_cc_unit = {