diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-10-28 13:58:31 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-10-28 20:53:44 +0100 |
commit | 4e50f082ac51c95046a8315612ce1d9acb2b3d63 (patch) | |
tree | 8db893a7dc556b77776eaa723ed60a6f475a5190 /drivers/gpu/drm/i915/i915_gem_render_state.h | |
parent | 920cf4194954ec6f971506013c7fe3b7def178b6 (diff) | |
download | linux-stable-4e50f082ac51c95046a8315612ce1d9acb2b3d63.tar.gz linux-stable-4e50f082ac51c95046a8315612ce1d9acb2b3d63.tar.bz2 linux-stable-4e50f082ac51c95046a8315612ce1d9acb2b3d63.zip |
drm/i915: Reuse the active golden render state batch
The golden render state is constant, but we recreate the batch setting
it up for every new context. If we keep that batch in a volatile cache
we can safely reuse it whenever we need to initialise a new context. We
mark the pages as purgeable and use the shrinker to recover pages from
the batch whenever we face memory pressues, recreating that batch afresh
on the next new context.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtien@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161028125858.23563-8-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_render_state.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_render_state.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.h b/drivers/gpu/drm/i915/i915_gem_render_state.h index 18cce3f06e9c..87481845799d 100644 --- a/drivers/gpu/drm/i915/i915_gem_render_state.h +++ b/drivers/gpu/drm/i915/i915_gem_render_state.h @@ -26,6 +26,8 @@ struct drm_i915_gem_request; -int i915_gem_render_state_init(struct drm_i915_gem_request *req); +int i915_gem_render_state_init(struct intel_engine_cs *engine); +int i915_gem_render_state_emit(struct drm_i915_gem_request *req); +void i915_gem_render_state_fini(struct intel_engine_cs *engine); #endif /* _I915_GEM_RENDER_STATE_H_ */ |