Lines Matching full:so
9 * Software is furnished to do so, subject to the following conditions:
67 * right after the commands taking care of alignment so we should sufficient
77 static int render_state_setup(struct intel_renderstate *so, in render_state_setup() argument
80 const struct intel_renderstate_rodata *rodata = so->rodata; in render_state_setup()
86 ret = i915_gem_object_prepare_write(so->obj, &needs_clflush); in render_state_setup()
90 d = kmap_atomic(i915_gem_object_get_dirty_page(so->obj, 0)); in render_state_setup()
96 u64 r = s + so->vma->node.start; in render_state_setup()
118 so->batch_offset = i915_ggtt_offset(so->vma); in render_state_setup()
119 so->batch_size = rodata->batch_items * sizeof(u32); in render_state_setup()
124 so->aux_offset = i * sizeof(u32); in render_state_setup()
154 so->aux_size = i * sizeof(u32) - so->aux_offset; in render_state_setup()
155 so->aux_offset += so->batch_offset; in render_state_setup()
160 so->aux_size = ALIGN(so->aux_size, 8); in render_state_setup()
168 i915_gem_object_finish_access(so->obj); in render_state_setup()
182 struct intel_renderstate so = {}; /* keep the compiler happy */ in intel_renderstate_emit() local
185 so.rodata = render_state_get_rodata(engine); in intel_renderstate_emit()
186 if (!so.rodata) in intel_renderstate_emit()
189 if (so.rodata->batch_items * 4 > PAGE_SIZE) in intel_renderstate_emit()
192 so.obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE); in intel_renderstate_emit()
193 if (IS_ERR(so.obj)) in intel_renderstate_emit()
194 return PTR_ERR(so.obj); in intel_renderstate_emit()
196 so.vma = i915_vma_instance(so.obj, &engine->gt->ggtt->vm, NULL); in intel_renderstate_emit()
197 if (IS_ERR(so.vma)) { in intel_renderstate_emit()
198 err = PTR_ERR(so.vma); in intel_renderstate_emit()
202 err = i915_vma_pin(so.vma, 0, 0, PIN_GLOBAL | PIN_HIGH); in intel_renderstate_emit()
206 err = render_state_setup(&so, rq->i915); in intel_renderstate_emit()
211 so.batch_offset, so.batch_size, in intel_renderstate_emit()
216 if (so.aux_size > 8) { in intel_renderstate_emit()
218 so.aux_offset, so.aux_size, in intel_renderstate_emit()
224 i915_vma_lock(so.vma); in intel_renderstate_emit()
225 err = i915_request_await_object(rq, so.vma->obj, false); in intel_renderstate_emit()
227 err = i915_vma_move_to_active(so.vma, rq, 0); in intel_renderstate_emit()
228 i915_vma_unlock(so.vma); in intel_renderstate_emit()
230 i915_vma_unpin(so.vma); in intel_renderstate_emit()
232 i915_vma_close(so.vma); in intel_renderstate_emit()
234 i915_gem_object_put(so.obj); in intel_renderstate_emit()