Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp651782ybh; Thu, 12 Mar 2020 08:38:13 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuvcxF/pCMt4XwTT/ueiQRVwhVA6RLkxHemcZWeStd79LVHBxxFoQs8+5HnkHfVtV1HEx7t X-Received: by 2002:a05:6830:1d7:: with SMTP id r23mr5577444ota.153.1584027493068; Thu, 12 Mar 2020 08:38:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584027493; cv=none; d=google.com; s=arc-20160816; b=pP8c3PzTMWo/5UCBjLP0b5Lq5nYn86aEQjme4x2ZiTj9Jy1L4cB7ZHzDZTDsTmm4N1 rHX/AgccbOlBTADADb7HtwzU1pXYcRl5496aliB3GmzpKpOYuGY53AvllKqinfBz70/L wMw1AVPb44GmuS2nEidb0sKaVattZIBXGbi/0RT8w//rHlMY89VD/M9KOew12oqMouFd lzcYteRNHswmltWVNnrqod/MFhLaRxw47JPNq+QmLs+4GiPXlBEmIXNP79d5683gU5SN Csc+kQlqF+uo0LUWEV/FYjbGigxXfDcWbWN4vQY2sQ3x7yzmFJnFQOAaCwoxw24jDS/r H4ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :dlp-reaction:dlp-version:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=tbyx9NBc8zhiojek3DxivCRH87I7lxgXAwnj8qkW198=; b=htd24qMxWqgOpHZz2Qh+hyKRDSwhBS5FZTtYIicGisfwpQbSNUn75Yqi5p/Ac6I6FC g5GAi1R4IN4S8W3D0wwq9xeG8yqhIh0mwkkdaouGNPcTwDKNxyjWtkAlOSIzYJxgby7g ik74GPfvDCr21kpqHqhfhfJAsX8MpaO+lq+cnmC9ZRs5vuyyYrcF9oL6LXpA0+VKNVfG uX79MRlUikEayOSDo5piHcLbzAZp8sduN7rRV0HomjEhJZ15RzB40qLkjXeRTBheJqur GwWeNsZ0oioqwPovb44261FAL33nidr9lb83ZCq4jb+2EjyNA51DriCyNS4VDge82Xqb AbsQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 64si3131214otn.4.2020.03.12.08.38.00; Thu, 12 Mar 2020 08:38:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727634AbgCLPh0 convert rfc822-to-8bit (ORCPT + 99 others); Thu, 12 Mar 2020 11:37:26 -0400 Received: from mga17.intel.com ([192.55.52.151]:12758 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727240AbgCLPhZ (ORCPT ); Thu, 12 Mar 2020 11:37:25 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Mar 2020 08:37:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,545,1574150400"; d="scan'208";a="415974688" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 12 Mar 2020 08:37:24 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 12 Mar 2020 08:37:24 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Mar 2020 08:37:07 -0700 Received: from bgsmsx105.gar.corp.intel.com (10.223.43.197) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 12 Mar 2020 08:37:06 -0700 Received: from BGSMSX107.gar.corp.intel.com ([169.254.9.15]) by BGSMSX105.gar.corp.intel.com ([169.254.3.70]) with mapi id 14.03.0439.000; Thu, 12 Mar 2020 21:07:04 +0530 From: "Laxminarayan Bharadiya, Pankaj" To: =?iso-8859-1?Q?Ville_Syrj=E4l=E4?= , "Lattannavar, Sameer" CC: "jani.nikula@linux.intel.com" , "daniel@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "airlied@linux.ie" , "maarten.lankhorst@linux.intel.com" , "tzimmermann@suse.de" , "mripard@kernel.org" , "mihail.atanassov@arm.com" , "linux-kernel@vger.kernel.org" , "Nautiyal, Ankit K" , "Kunche, Kishore" Subject: RE: [RFC][PATCH 0/5] Introduce drm scaling filter property Thread-Topic: [RFC][PATCH 0/5] Introduce drm scaling filter property Thread-Index: AQHV+HctBjfB2kqX90uGdf9/VtAqI6hFFo+g Date: Thu, 12 Mar 2020 15:37:03 +0000 Message-ID: References: <20200225070545.4482-1-pankaj.laxminarayan.bharadiya@intel.com> <20200312140434.GG13686@intel.com> In-Reply-To: <20200312140434.GG13686@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.223.10.10] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Ville Syrj?l? > Sent: 12 March 2020 19:35 > To: Laxminarayan Bharadiya, Pankaj > > Cc: jani.nikula@linux.intel.com; daniel@ffwll.ch; intel- > gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; airlied@linux.ie; > maarten.lankhorst@linux.intel.com; tzimmermann@suse.de; > mripard@kernel.org; mihail.atanassov@arm.com; linux- > kernel@vger.kernel.org; Nautiyal, Ankit K > Subject: Re: [RFC][PATCH 0/5] Introduce drm scaling filter property > > On Tue, Feb 25, 2020 at 12:35:40PM +0530, Pankaj Bharadiya wrote: > > Integer scaling (IS) is a nearest-neighbor upscaling technique that > > simply scales up the existing pixels by an integer (i.e., whole > > number) multiplier. Nearest-neighbor (NN) interpolation works by > > filling in the missing color values in the upscaled image with that of > > the coordinate-mapped nearest source pixel value. > > > > Both IS and NN preserve the clarity of the original image. In > > contrast, traditional upscaling algorithms, such as bilinear or > > bicubic interpolation, result in blurry upscaled images because they > > employ interpolation techniques that smooth out the transition from > > one pixel to another. Therefore, integer scaling is particularly > > useful for pixel art games that rely on sharp, blocky images to > > deliver their distinctive look. > > > > Many gaming communities have been asking for integer-mode scaling > > support, some links and background: > > > > https://software.intel.com/en-us/articles/integer-scaling-support-on-i > > ntel-graphics http://tanalin.com/en/articles/lossless-scaling/ > > https://community.amd.com/thread/209107 > > https://www.nvidia.com/en-us/geforce/forums/game-ready-drivers/13/1002 > > /feature-request-nonblurry-upscaling-at-integer-rat/ > > > > This patch series - > > - Introduces new scaling filter property to allow userspace to > > select the driver's default scaling filter or Nearest-neighbor(NN) > > filter for scaling operations on crtc/plane. > > - Implements and enable integer scaling for i915 > > > > Userspace patch series link: TBD. > > That needs to be done or this will go nowhere. Yes, Sameer is working on enabling this feature in Kodi. Sameer, please share link here once you post patches. Thanks, Pankaj > > > > > Thanks to Shashank for initiating this work. His initial RFC can be > > found here [1] > > > > [1] https://patchwork.freedesktop.org/patch/337082/ > > > > Modifications done in this series - > > - refactored code and incorporated initial review comments and > > added 2 scaling filter types (default and NN) to begin with. > > - added scaling filter property support for planes and new API > > helpers for drivers to setup this property. > > - rewrote code to enable integer scaling and NN filter for i915 > > > > > > Pankaj Bharadiya (5): > > drm: Introduce scaling filter property > > drm/drm-kms.rst: Add Scaling filter property documentation > > drm/i915: Enable scaling filter for plane and pipe > > drm/i915: Introduce scaling filter related registers and bit fields. > > drm/i915/display: Add Nearest-neighbor based integer scaling support > > > > Documentation/gpu/drm-kms.rst | 6 ++ > > drivers/gpu/drm/drm_atomic_uapi.c | 8 ++ > > drivers/gpu/drm/drm_crtc.c | 16 +++ > > drivers/gpu/drm/drm_mode_config.c | 13 +++ > > drivers/gpu/drm/drm_plane.c | 35 +++++++ > > drivers/gpu/drm/i915/display/intel_display.c | 100 ++++++++++++++++++- > > drivers/gpu/drm/i915/display/intel_display.h | 2 + > > drivers/gpu/drm/i915/display/intel_sprite.c | 32 ++++-- > > drivers/gpu/drm/i915/i915_reg.h | 21 ++++ > > include/drm/drm_crtc.h | 10 ++ > > include/drm/drm_mode_config.h | 6 ++ > > include/drm/drm_plane.h | 14 +++ > > 12 files changed, 252 insertions(+), 11 deletions(-) > > > > -- > > 2.23.0 > > -- > Ville Syrj?l? > Intel