[PATCH 6/6] drm/i915: Add support for CCS modifiers
Daniel Stone
daniel at fooishbar.org
Sat Jul 29 12:55:47 UTC 2017
Hi,
On 26 July 2017 at 19:08, Ben Widawsky <ben at bwidawsk.net> wrote:
> +static const uint64_t skl_plane_format_modifiers_noccs[] = {
> + I915_FORMAT_MOD_Yf_TILED,
> + I915_FORMAT_MOD_Y_TILED,
> + I915_FORMAT_MOD_X_TILED,
> + DRM_FORMAT_MOD_LINEAR,
> + DRM_FORMAT_MOD_INVALID
> +};
> +
> static const uint64_t skl_plane_format_modifiers[] = {
> + I915_FORMAT_MOD_Yf_TILED_CCS,
> + I915_FORMAT_MOD_Y_TILED_CCS,
> I915_FORMAT_MOD_Yf_TILED,
> I915_FORMAT_MOD_Y_TILED,
> I915_FORMAT_MOD_X_TILED,
This is also missing the relevant hunk in format_mod_supported.
> @@ -1234,6 +1244,19 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
> plane_formats = skl_plane_formats;
> num_plane_formats = ARRAY_SIZE(skl_plane_formats);
> modifiers = skl_plane_format_modifiers;
> + } else if (INTEL_GEN(dev_priv) >= 9) {
> + intel_plane->can_scale = true;
> + state->scaler_id = -1;
> +
> + intel_plane->update_plane = skl_update_plane;
> + intel_plane->disable_plane = skl_disable_plane;
> +
> + plane_formats = skl_plane_formats;
> + num_plane_formats = ARRAY_SIZE(skl_plane_formats);
> + if (pipe >= PIPE_C)
> + modifiers = skl_plane_format_modifiers_noccs;
> + else
> + modifiers = skl_plane_format_modifiers;
This explains the inconsistency.
Cheers,
Daniel
More information about the dri-devel
mailing list