Apply the Apache 2.0 license. Change-Id: I4a7aeefedcd2d891093520d5a10ebefadcddb5be Reviewed-on: https://swiftshader-review.googlesource.com/5320 Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/Common/Resource.hpp b/src/Common/Resource.hpp index 6a275f1..6d2577e 100644 --- a/src/Common/Resource.hpp +++ b/src/Common/Resource.hpp
@@ -1,57 +1,60 @@ -// SwiftShader Software Renderer -// -// Copyright(c) 2005-2011 TransGaming Inc. -// -// 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. -// - -#ifndef sw_Resource_hpp -#define sw_Resource_hpp - -#include "MutexLock.hpp" - -namespace sw -{ - enum Accessor - { - PUBLIC, // Application/API access - PRIVATE, // Renderer access, shared by multiple threads if read-only - MANAGED, // Renderer access, shared read/write access if partitioned - DESTRUCT - }; - - class Resource - { - public: - Resource(size_t bytes); - - void destruct(); // Asynchronous destructor - - void *lock(Accessor claimer); - void *lock(Accessor relinquisher, Accessor claimer); - void unlock(); - void unlock(Accessor relinquisher); - - const void *data() const; - const size_t size; - - private: - ~Resource(); // Always call destruct() instead - - BackoffLock criticalSection; - Event unblock; - volatile int blocked; - - volatile Accessor accessor; - volatile int count; - bool orphaned; - - void *buffer; - }; -} - -#endif // sw_Resource_hpp +// Copyright 2016 The SwiftShader Authors. All Rights Reserved. +// +// 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 +// +// 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. + +#ifndef sw_Resource_hpp +#define sw_Resource_hpp + +#include "MutexLock.hpp" + +namespace sw +{ + enum Accessor + { + PUBLIC, // Application/API access + PRIVATE, // Renderer access, shared by multiple threads if read-only + MANAGED, // Renderer access, shared read/write access if partitioned + DESTRUCT + }; + + class Resource + { + public: + Resource(size_t bytes); + + void destruct(); // Asynchronous destructor + + void *lock(Accessor claimer); + void *lock(Accessor relinquisher, Accessor claimer); + void unlock(); + void unlock(Accessor relinquisher); + + const void *data() const; + const size_t size; + + private: + ~Resource(); // Always call destruct() instead + + BackoffLock criticalSection; + Event unblock; + volatile int blocked; + + volatile Accessor accessor; + volatile int count; + bool orphaned; + + void *buffer; + }; +} + +#endif // sw_Resource_hpp