Colorado Springs, CO
• Windows 7, Windows 8 Display Driver (WDDM) development.
• Windows Mobile 6.x/7.0 Display Driver development.
• Microsoft WDK, WDM, WDF, GDI, GPE (WinCE), DDGPE (WinCE), DirectDraw, Direct3D.
• GPU Graphics and Video Chip Hardware and Software.
COMPUTERS AND OPERATING SYSTEMS
• Extensive work experience in the followings: Windows CE, Windows Mobile 6.x/7.0, Windows 3.1, Windows 95/98/ME, Windows NT/2000/XP, Windows Vista, Windows 7/8, Visual Basic, Visual C++, MASM 6.1, Microsoft SDK and DDK, DirectX, Codeview, DOS, OS/2.
• Qualcomm SURF/FFA mobile phones hardware platform.
• TI OMAP4 Blaze Tablet Display development platform.
• TI OMAP4 Vegas Tablet Display development platform.
PROGRAMMING LANGUAGES, TOOLS and ENVIRONMENTS
• Skilled in C, C++ and Microsoft Visual Studio, IA Assembler. Proficient with common development tools including Kernel Debugger, WinDbg, and Soft-ICE.
• Visual Studio 2008/Platform Builder IDE, Perforce, ClearCase for Revision Control, Code Collaborator Peer Code Review Tool, CRMDB Database for tracking defect data and resolution history, Doxygen for generating source code documentation, Source Insight and CodeWright editors.
Contract, Windows Display Driver Developer
January 2011 to Present
Windows 7/8 Display Driver (WDDM) development on TI OMAP4 BLAZE Tablet platform.
• Bring up and implement new DDI and features on ARM-based OMAP4 for Windows 8 display driver.
• Bring up and complete implementation of OMAP4430 display controller DSS-DISPC-DSI (Display Serial Interface)-D2L timings code to bring up LCD display on OMAP4 Blaze (1024x768) and Vegas tablet panels (1366x768).
• Implement HDMI hardware timings to bring up EDID-supported display modes for HDMI display.
• Implement HPD (hot plug detection) interrupt code to handle HDMI display hot plug detection, VSYNC interrupt code.
• Implement hardware cursor in display rotation modes with accelerometer.
• Complete HDMI separate module driver for display.
• Complete HPD interrupt code for HDMI monitor.
Contract, Embedded Software Graphics Driver Development Engineer
May 2008 to December 2010
Qualcomm Windows Mobile Display Software Driver development.
• Worked on WM graphics driver for 7K chipset M7225, 7K chipset M7201A (has AMD graphics engine).
• Support LGE ATOS for bug fixing in Display Driver.
• Support M7201A WM graphics driver for HTC. Worked on MDP HAL, WVGA (480x640) LCD, WQVGA (240x400), DPI settings.
• Worked with Display Rotated mode, Accelerometer, YUV video codec and pixels formats, Z-order overlays implementation, Mosquito apps (sample use for DirectDraw Overlays).
• Microsoft Logo Test Kit (LTK), Windows CE Test Kit (CETK) test suites and benchmark for Graphics.
• CRM build, Microsoft Windows Mobile AKU, Smartphone/PocketPC.
• Use Trace32/JTAG for loading modem image and WM app image to the chip. Download and debug Windows Mobile image in VS 2008/Platform Builder IDE.
• 8K chipset Core Audio Driver (CAD) implementation, test support and triage issues. Audio PCM/MP3/AMR-NB/AAC playback, Audio capture, Voice Call, Device switching Handset, Headset, A2DP, SpeakerPhone, Media player. CAD is audio driver API interface using IOCTL-defined commands to communicate between MS wavedev middleware layer and QCT DSP hardware decoder layer.
• Good experience in Perforce ClientSpec/Label/ChangeList. Perforce labels: VU/SU release/PLF file. Use Units Management tool to automate new release process with Perforce label and CR fixes resolution in CRMDB.
• Responsible for 7x30 Window Mobile Audio Integration: Modem Build, Apps Build process. VU label/build/test/release process.
Contract, Software Driver Development Engineer
June 2007 to May 2008
Develop new features and fix defects for the Intel Embedded Graphics Windows XP driver.
• Porting a complete DirectX Video Acceleration (DirectX VA) code for Windows XP Display driver.
Contract, Software Engineer
May 2006 to June 2007
Software testing of Windows Vista and Windows XP display drivers, focusing on a variety of mobile platforms.
• Main responsibility is to ensure SW functionality and compatibility based on specific guidelines.
• Additional responsibilities will include internal driver qualification plus some OEM Qualification testing, BIOS qualification, test plan development and bug verification.
• Work closely and support OEM QA group with bug verification and regression testing.
• I used Visual Studio for developing, debugging, enhancing and maintaining code for S3 Graphics current and next generation graphics engines, my job responsibility include kernel, driver and library level software development and maintenance, able to tackle new product introduction issues (such as instabilities, performance and functional bugs) and be able to communicate cross-functionally with test, support and other design engineers in both hardware and software disciplines.
Senior Software Engineer
May 2004 to September 2005
Responsible for developing all the test programs written in C and build in Visual Studio to validate against all the pre-silicon features of the VDC (Video Display controller), one silicon component unit of the new Intel Digital Set Top Box SoC (System on a Chip) product. Test programs were developed in Platform Builder and test in both WinCE 5.0 and Linux using both the System C emulator and a silicon simulator board.
• Validation of graphics driver in various customer required embedded environments: Software testing of embedded drivers in WinCE, Windows XP, Windows XPe.
• I used Platform Builder WinCE 4.2 for developing a Direct Draw test program to test Alpha Blending features for Intel I830 display driver.
Senior Software Engineer
June 2000 to September 2001
Work on-site at Microsoft with Windows NT/XP Base Video Group to fix Stress Breaks and DCT Failures for ATI drivers to be included in the shipping Windows XP from Microsoft. Responsible for getting these drivers into the daily Windows XP build at Microsoft.
• Debug and maintain display driver source code for Rage128/Radeon video chips under Windows XP. Responsible for Windows 2000 and Windows XP display driver and miniport development for Rage128 and Radeon chipsets. Worked on fixing driver related bugs and WHQL failures in D3D, DDraw, and GDI, including multimonitor issues.
Senior Software Engineer
April 1998 to June 2000
Developed Windows 95/98 Direct3D driver for the company's latest 3D graphics chip developed for laptop markets.
• Responsible for all verification tasks to validate the company's latest 3D product in all phrases from Concept, Design, Emulation, to Silicon.
Senior Software Engineer
January 1995 to April 1998
Developed Windows Display Drivers with multi-resolutions, multi-color depths using S3 968, 868, 964, 864, ViRGE/DX and Cirrus Logic 543X.
January 1994 to January 1995
Developed Windows Display Drivers for 1600x1200 256 colors and 16 gray-levels video controllers using in-house proprietary chip having scaling, decompression, and rotation on-fly for Document Imaging applications.
• Developed the DOS and Windows Software Developer Kit for the in-house video controller with scaling, decompression and rotation features.
November 1992 to January 1994
Developed hardware-accelerated 8, 16 and 24 bits Windows 3.x Display Drivers for Super VGA cards using S3 911/801/928, WD90C31, CL5426, HT218, Oak Technology.
Software Test Engineer
February 1992 to November 1992
Developed software for automating the Windows display driver testing by using Visual Basic and SQA Robot. Responsible for all Windows 3.0 and 3.1 testing of High-Resolution Display Device Drivers.
Design Engineer, Software
March 1987 to December 1991
Developed self-diagnostic software (POST) for PC add-on-type synchronous modem board, which enables laptops to communicate with mainframe.
• Developed Windows 3.0 device driver for the 1024x1024 resolution monograph display.
June 1982 to January 1987
BS in Electrical Engineering