From f4092abdf94af6a99aff944d6264bc1284e8bdd4 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:43:39 +0200 Subject: Imported nx-X11-3.1.0-1.tar.gz Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository --- .../Mesa/src/mesa/shader/slang/slang_mesa.cpp | 144 +++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100755 nx-X11/extras/Mesa/src/mesa/shader/slang/slang_mesa.cpp (limited to 'nx-X11/extras/Mesa/src/mesa/shader/slang/slang_mesa.cpp') diff --git a/nx-X11/extras/Mesa/src/mesa/shader/slang/slang_mesa.cpp b/nx-X11/extras/Mesa/src/mesa/shader/slang/slang_mesa.cpp new file mode 100755 index 000000000..3f437ee7d --- /dev/null +++ b/nx-X11/extras/Mesa/src/mesa/shader/slang/slang_mesa.cpp @@ -0,0 +1,144 @@ +/* + * Mesa 3-D graphics library + * Version: 6.3 + * + * Copyright (C) 2005 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "slang_mesa.h" +#include "Initialisation.h" +#include "Include/Common.h" +#include "Include/ShHandle.h" +#include "Public/ShaderLang.h" + + +class TGenericCompiler: public TCompiler +{ +public: + TGenericCompiler (EShLanguage l, int dOptions): TCompiler(l, infoSink), debugOptions(dOptions) + { + } +public: + virtual bool compile (TIntermNode *root) + { + haveValidObjectCode = true; + return haveValidObjectCode; + } + TInfoSink infoSink; + int debugOptions; +}; + +TCompiler *ConstructCompiler (EShLanguage language, int debugOptions) +{ + return new TGenericCompiler (language, debugOptions); +} + +void DeleteCompiler (TCompiler *compiler) +{ + delete compiler; +} + +class TGenericLinker: public TLinker +{ +public: + TGenericLinker (EShExecutable e, int dOptions): TLinker(e, infoSink), debugOptions(dOptions) + { + } +public: + bool link (TCompilerList &, TUniformMap *) + { + return true; + } + void getAttributeBindings (ShBindingTable const **t) const + { + } + TInfoSink infoSink; + int debugOptions; +}; + +TShHandleBase *ConstructLinker (EShExecutable executable, int debugOptions) +{ + return new TGenericLinker (executable, debugOptions); +} + +void DeleteLinker (TShHandleBase *linker) +{ + delete linker; +} + +class TUniformLinkedMap: public TUniformMap +{ +public: + TUniformLinkedMap() + { + } +public: + virtual int getLocation (const char *name) + { + return 0; + } +}; + +TUniformMap *ConstructUniformMap () +{ + return new TUniformLinkedMap; +} + +void DeleteUniformMap (TUniformMap *map) +{ + delete map; +} + + +namespace std +{ + +void _Xran () +{ + /* XXX fix this under Linux */ + /*_THROW(out_of_range, "invalid string position");*/ +} + +void _Xlen () +{ + /* XXX fix this under Linux */ + /*_THROW(length_error, "string too long");*/ +} + +} + + +/* these functions link with extern "C" */ + +int _mesa_isalnum (char c) +{ + return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'); +} + +int _glslang_3dlabs_InitProcess () +{ + return InitProcess () ? 1 : 0; +} + +int _glslang_3dlabs_ShInitialize () +{ + return ShInitialize () ? 1 : 0; +} + -- cgit v1.2.3