ilo_3d_pipeline_invalidate(hw3d->pipeline,
ILO_3D_PIPELINE_INVALIDATE_BATCH_BO |
ILO_3D_PIPELINE_INVALIDATE_STATE_BO);
- if (!hw3d->cp->hw_ctx) {
+ if (!hw3d->cp->render_ctx) {
ilo_3d_pipeline_invalidate(hw3d->pipeline,
ILO_3D_PIPELINE_INVALIDATE_HW);
}
int base = 0;
/* reset HW write offsets and offset buffer base */
- if (!p->cp->hw_ctx) {
+ if (!p->cp->render_ctx) {
ilo_cp_set_one_off_flags(p->cp, INTEL_EXEC_GEN7_SOL_RESET);
base += p->state.so_num_vertices * stride;
}
ilo_cp_exec_bo(struct ilo_cp *cp)
{
const bool do_exec = !(ilo_debug & ILO_DEBUG_NOHW);
+ struct intel_context *ctx;
unsigned long flags;
int err;
switch (cp->ring) {
case ILO_CP_RING_RENDER:
+ ctx = cp->render_ctx;
flags = INTEL_EXEC_RENDER;
break;
case ILO_CP_RING_BLT:
+ ctx = NULL;
flags = INTEL_EXEC_BLT;
break;
default:
+ ctx = NULL;
flags = 0;
break;
}
flags |= cp->one_off_flags;
if (likely(do_exec))
- err = cp->bo->exec(cp->bo, cp->used * 4, cp->hw_ctx, flags);
+ err = cp->bo->exec(cp->bo, cp->used * 4, ctx, flags);
else
err = 0;
{
if (cp->bo)
cp->bo->unreference(cp->bo);
- if (cp->hw_ctx)
- cp->winsys->destroy_context(cp->winsys, cp->hw_ctx);
+ if (cp->render_ctx)
+ cp->winsys->destroy_context(cp->winsys, cp->render_ctx);
FREE(cp->sys);
FREE(cp);
return NULL;
cp->winsys = winsys;
- cp->hw_ctx = winsys->create_context(winsys);
+ cp->render_ctx = winsys->create_context(winsys);
cp->ring = ILO_CP_RING_RENDER;
cp->no_implicit_flush = false;
* without being referenced by ilo->cp->bo. We have to flush
* unconditionally, and that is bad.
*/
- if (ilo->cp->hw_ctx)
+ if (ilo->cp->render_ctx)
ilo_cp_flush(ilo->cp);
return intel_bo_is_busy(bo);