diff --git a/src/Main/FrameBufferDD.cpp b/src/Main/FrameBufferDD.cpp
index 81b2ef2..5fd8dbb 100644
--- a/src/Main/FrameBufferDD.cpp
+++ b/src/Main/FrameBufferDD.cpp
@@ -1,13 +1,16 @@
-// SwiftShader Software Renderer
+// Copyright 2016 The SwiftShader Authors. All Rights Reserved.
 //
-// Copyright(c) 2005-2012 TransGaming Inc.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
 //
-// All rights reserved. No part of this software may be copied, distributed, transmitted,
-// transcribed, stored in a retrieval system, translated into any human or computer
-// language by any means, or disclosed to third parties without the explicit written
-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
-// or implied, including but not limited to any patent rights, are granted to you.
+//    http://www.apache.org/licenses/LICENSE-2.0
 //
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
 
 #include "FrameBufferDD.hpp"
 
@@ -92,7 +95,7 @@
 		else
 		{
 			IDirectDrawClipper *clipper;
-			
+
 			DDSURFACEDESC ddsd = {0};
 			ddsd.dwSize = sizeof(ddsd);
 			ddsd.dwFlags = DDSD_CAPS;
@@ -100,7 +103,7 @@
 
 			long result = directDraw->CreateSurface(&ddsd, &frontBuffer, 0);
 			directDraw->GetDisplayMode(&ddsd);
-			
+
 			switch(ddsd.ddpfPixelFormat.dwRGBBitCount)
 			{
 			case 32: destFormat = FORMAT_X8R8G8B8; break;
@@ -372,7 +375,7 @@
 
 		if(frontBuffer)
 		{
-			frontBuffer->QueryInterface(IID_IDirectDrawGammaControl, (void**)&gammaControl); 
+			frontBuffer->QueryInterface(IID_IDirectDrawGammaControl, (void**)&gammaControl);
 
 			if(gammaControl)
 			{
@@ -389,7 +392,7 @@
 
 		if(frontBuffer)
 		{
-			frontBuffer->QueryInterface(IID_IDirectDrawGammaControl, (void**)&gammaControl); 
+			frontBuffer->QueryInterface(IID_IDirectDrawGammaControl, (void**)&gammaControl);
 
 			if(gammaControl)
 			{
@@ -406,7 +409,7 @@
 		{
 			return locked;
 		}
-		
+
 		if(!readySurfaces())
 		{
 			return 0;
