Connect:
Linked-in: LinkedIn profile
Gitlab: Freedesktop Gitlab , Gitlab
Current Location: Berlin, Germany
Current Role: Principal Member of Technical Staff @ AMD
Enthusiastic about:
Mobile, TV and PC graphics
Automotive infotainment and autonomus driving
Linux based OS distributions
High Resolution displays
Professional Introduction
Embedded Software Engineering Leader by profession.
19+ years of experience under the belt.
Working as a Principal Member of Technical Staff, for AMD GMBH.
Expert in Linux Kernel, Device drivers, Graphics and Display verticals.
Expert in:
Graphics driver: Core GPU driver development arounf Graphics workload submission and GPU scheduler and power management
Display protocols like HDMI, DP, DSI, Active and Passive Dongles and Level-shifters
Graphics technologies like: HDR, Freesync, 4K/8K resolutions, Scaling, Color space and Color foramats
Protocols and standards like: CTA-861, VESA, E-EDID, IEEE specs etc
Tools and analyzers:
Protocol analyzers and testers: Astro, Panasonic (HDCP), Agilent
Debuggers: GDB, KGDB/KDB, JTAG
Compositors and HALs: DIX and DDX, ACS Weston and Wayland, Hardware composer
Maintainer of AMDGPU Composition Stack (ACS-weston)
One of the maintainers of AMDGPU-DDX driver.
Library & Interfaces: DRM and DRI, MESA, VAAPI
Virtulization: Xen hypervisors and Graphics virtualization methods
Graphics benchmarking: Phoronix test suit
Experienced with several Linux based OSes/platforms like: Ubuntu, Android, Tizen etc
Experienced with Demanding International projects across in PC, Mobile and Infotainment domains.
Mainline Linux Kernel (200+ contributions as an author/reviewer):
Total contributions: Contributions in Mainline Linux Kernel
Contributions as an author: Contributions as an author
Other opensource contributions:
AMDGPU Composition Stack [ACS][Maintainer]
HDR enabling for Intel-Weston
An Independent EDID parsing library
A few very tiny DRM tools to play around display
Keywords
C/C++
Embedded SW
Linux Kernel
Device Driver
Graphics
Display
DDX/HAL
GPU workload handling
Video
HDMI
DP
DSI
4K
HDR
Color Space and GAMUT
Upstream and Opensource
SkillSet
Professional history and timeline
Advanced Micro Devices
Berlin: Jan 2022 - Now
Bangalore: Dec 2019 - Dec 2021
Principal Member of Technical Staff (Radeon Technologies Group)
Part of Radeon Opensource Linux graphics team
Responsible for delivery of Graphics IP SW across various opensource components of the stack:
Kernel / Drivers (AMDGPU driver)
DDX (xf86-video-amdgpu)
ACS-Wayland and Weston
MESA / libDRM
Leading design and development of several features like:
Core Graphics:
Graphics scheduler
GPU workload management
Usermode graphics queues
GPU power and performance
Display driver features (fullstack):
Freesync (Tesla Model S)
HDR and dynamic tone-mapping
Display Compositors
Maintainer of AMDGPU Composition Stack (ACS-weston)
One of the maintainers of AMDGPU-DDX
Technical leadership activities like technical planning, scoping, task split-up, design and code review and upstreaming of IP features.
Intel Corporation, Bangalore
Apr 2013 - Dec 2019
Staff Software Engineer, Linux Display and Graphics
Part of Opensource Graphics Centre (OSGC)
Technical Lead for Linux Display Drivers/Compositor team (Centre of Excellence, Bangalore/Finland/US).
70% individual contribution, developing new display IP feature stack on various Linux based SW platforms (PC, infotainment & mobile).
30% technical planning, task assessment and grooming team members (kernel and middleware).
Architecture and Development of HDR10 video playback stack for Linux and Android platforms across Kernel, Media, Client and Compositor layers.
Enabling HDMI 2.0 IP / 4K / 8K display for current and future Intel platforms.
Color Management Framework for DRM.
Enabling YUV 4:2:0 output in DRM layer.
Enabling DP 1.2 to HDMI 2.0 conversion using LSPCON devices.
Nvidia Graphics, Bangalore
Feb 2011 - Jan 2013
Senior System Software Engineer (Linux for Tegra)
Kernel, Device driver and System software development around:
Display
Fbdev
HDMI
Core Kernel bring-up activities for Nvidia Tegra family of SOCs (Tegra 2/3/4).
Debugging of various system level issues in various drivers and frameworks like USB, File System, Storage, NAND etc.
Samsung Electronics, Bangalore
Aug 2006 - Feb 2011
Lead Engineer, Tizen and Android Platform Group
Tizen platform development from scratch.
Application launcher development, profiling and optimization.
Development of various middleware frameworks like
application framework
system framework
device and sensor framework
Platform boot-up time profiling and optimization.
Application launch time profiling and optimization.
(Coverage and Mention in various newsletters articles)
Keywords:
DRM
AMDGPU
Wayland
Compositor
HDR
Freesync
Color management
Multiplane overlays
AMDGPU: AMDGPU Composition Stack (ACS), AMDs wayland compositor (link)
ACS is AMD's fork of Weston compositor, with some additional advanced features.
ACS is the reference development compositor for AMD's advanced graphics and display feature development. It is a middleware compositor which extracts the best out of AMD Display and Graphics HW (It doesn't mind being biased to AMDGPU HW )
It hosts some of the AMD HW specific code, which can't be merged in weston mainline due to its bias towards AMD HW.
Shashank is the maintainer of ACS
A fullstack solution to submit graphics workload using usermode queues for better GPU performance
Keywords:
DRM
AMDGPU Kernel driver
LibDRM
GPU workload scheduler
Usermode queues
MESA
Graphics performance
AMDGPU Usermode queue is a new method for Graphics workload submission, where a graphics application or GL/Vulkan driver can directly sumit the GPU workload packets to the low level GPU FW, bypassing the kernel level scheduler. This solution allows a user space flexibility to create several usermode queues and handle their scheduling and priorities in any way it suits the best. This also removes the overhead to do a user to kernel context switch every time we have a GPU workload to be submitted.
Shashank was the development lead for the feature, and led the project development across AMDGPU Kernel driver, libDRM and MESA.
AMDGPU: Usermode queues for Graphics workload handling (link)
Eenhance GPU performance using workload hints
Keywords:
AMDGPU
LibDRM
GPU workload Performance
AMDGPU: Workload hint management for GPU performance (link)
GPU workload hints allow the dynamic power manager to choose the most suitable and fine tuned power and DVFS profile for a particular type of GPU workload (3D/compute/Multimedia etc). This results in the best throughput with least power consumption.
HDR full stack solution
Keywords:
DRM
I915
Weston,
Wayland
HDMI 2.0
HDR 10
HDR video playback on Linux full stack (link)
This is the full-stack HDR video playback design proposed, which addresses some of the general complexities of HDR metadata handling like color space conversion, dynamic tone mapping and gamut mapping. Shashank led this development across Display driver (DRM, I915) and Compositor layers (Weston).
HDMI 2.0 for DRM layer
Enabled HDMI 2.0 spec features for DRM framework.
Keywords:
HDMI 2.0
YCBCR420
4k@60
CEA-861-G
Intel I915
HDMI 2.0 enabling for DRM framework (Scrambling, SCDC, 4k@60, YCBCR 4:2:0)
HDMI 2.0 was the major change in HDMI protocol after HDMI 1.4b, and introduced several complex features like 4k@60 resolution, Scrambling, YCBCR420, HDR support and YCbCr4:2:0 support. Shashank was the developer enabled these features in the DRM kernel layer.
DRM Color management
Keywords:
DRM
YCBCR vd RGB
CEA-861-G
Intel I915
Gamut mapping
Color Management for DRM layer (link)
Color management is a DRM framework which allows users to modify some of the color properties of a buffer using the DRM properties. The basic properties targeted were:
Color space conversion (CSC)
Gamma (non-linearization)
Degamma (linearization)
Brightness
Contrast
Color management allows a userspace to handle accurate blending of various buffers composed in various colorspace (SRGB/BT2020/BT609/DCI-P3)
Integer Scaling
Keywords:
DRM
Upscaling
Display driver
Integer Scaling for Intel Devices (link)
Integer scaling allows the display driver to use Nearest neighbour scaling policy, when the input Vs output resolution ratio is a perfect integer ratio. In this configuration, NN provides the best scaling output quality.
Bachelor of Engineering (Electronics & Telecommunication) : 2002-2006
Bhilai Institute of Technology, Chhattisgarh
70%
Higher Secondary School Certificate (12th) (Mathematics) : 2002
Chhattisgarh state board of secondary education
84%
Senior Secondary School Certification (10th) (Science) : 2000
Madhya Pradesh state board of secondary education
85%