Git Product home page Git Product logo

hlsl2glslfork's Introduction

HLSL to GLSL shader language translator

⚠️ As of mid-2016, the project is unlikely to have any significant developments. At Unity we are moving to a different shader compilation pipeline. So from my side there won't be significant work done on it. You might want to look into HLSLParser, HLSLcc or glslang instead. ⚠️

DX9 style HLSL in, GLSL / GLSL ES out.

A continued development from ATI's HLSL2GLSL, with preprocessor code based on mojoshader. I'm changing it to make it work for Unity's use cases; might totally not work for yours!

For an opposite tool (GLSL ES to HLSL translator), look at Google's ANGLE.

See badly maintained change log.

Notes

  • Only Direct3D 9 style HLSL is supported. No Direct3D 10/11 "template like" syntax, no geometry/tesselation/compute shaders, no abstract interfaces.
  • Platform support:
    • Windows via Visual Studio 2010 (hlslang.sln).
    • Mac via Xcode 5 (hlslang.xcodeproj).
    • Other platforms may or might not work. Some people have contributed CMake build scripts, but I am not maintaining them.
  • On Windows, the library is built with _HAS_ITERATOR_DEBUGGING=0,_SECURE_SCL=0 defines, which affect MSVC's STL behavior. If this does not match defines in your application, totally strange things can start to happen!
  • The library is not currently thread-safe.

Status

Used in Unity and bitsquid engines, and some other studios -- seems to work quite ok.

Support for DX11 features might or might not get added due to the bad condition the original code is in (very obscure and inefficient), instead maybe a new cross-compiler will be made. Someday. Maybe.

No optimizations are performed on the generated GLSL, so it is expected that your platform will have a decent GLSL compiler. Or, use GLSL Optimizer, at Unity we use it to optimize shaders produced by HLSL2GLSL; gives a substantial performance boost on mobile platforms.

hlsl2glslfork's People

Contributors

anchsm avatar anteru avatar aras-p avatar assaframan avatar baldurk avatar bitsquid avatar computerquip avatar ingramb avatar ip-gpu avatar jechter avatar joeante avatar joravainen avatar marton-unity avatar mingwandroid avatar raymond-w-ko avatar rudybear avatar shaggie76 avatar todi1856 avatar unity3d-jens avatar vladvlasov256 avatar zeux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hlsl2glslfork's Issues

Can't compile with MinGW

First of all, the CMakeLists.txt itself is not even compatible with MinGW.
You have to remove the Windows/main.cpp for the MINGW target, and the compiler flags are set with /D and incompatible with GCC anyway.

So, after fixing that and when trying to build with MinGW, I get some pretty vile template magic errors (I really don't like templates...), also malloc and free are missing (??):

http://pastebin.com/qV6DCXW9

Implicit compile-type casting not working

Consider the following code from a surface shader:

float bar() {
    return tex2D(_PermTexture, float2(.5f, .5f));
}

float foo(float baz) {
    float2 mycoord = float2(baz, .2);
    return mycoord.x;
}

void surf (Input IN, inout EditorSurfaceOutput o) {
    o.Normal = float3(0.0,0.0,1.0);
    o.Alpha = 1.0;
    o.Albedo = 0.0;
    o.Emission = 0.0;
    o.Gloss = 0.0;
    o.Specular = 0.0;
    o.Custom = 0.0;

    o.Albedo = foo(bar());
    o.Normal = normalize(o.Normal);
}

The function float bar() is declared to return a single float value. The expression after return is the result of a call to tex2D, which is a float3, but since the function's signature is of type float, the first channel should be implicitly selected and used as the output, i.e. line 2 should effectively have a .x inserted before the semicolon by the compiler.

However, when we try to construct a float2 using baz and another float (line 6), the compiler/translator sees that baz "returned a float3" (line 2) and decides that a float3 and another float is "too much data". It is, in essence ignoring the fact that foo returns a float AND the fact that the dummy variable baz is declared to be of type float (line 5), and instead is looking solely at the code body (line 2) to determine a datatype.

There is no way, however that "baz" will end up being any more than a float at runtime. So there is no way (line 6) can be providing too much information to the float2 constructor at runtime. Yet, the compiler dies with the message "too much data in type constructor" at line 6.

float mul(vec3, vec3)

The library converts all mul() calls to regular multiplication operations, but there's a special case that doesn't work and that's when it's assigned to a scalar and not a vector.

The example I have is:
float3 aVector = float3(1, 2, 3);
float a = mul(aVector, aVector);

it currently converts to:
float a = ( aVector * aVector );

which doesn't compile... it should be a dot product instead:
float a = dot(aVector, aVector);

Can't build on Ubuntu 15.10

Need some help please, I'm getting this error message while trying to build with "cmake . && make":

[  3%] Executing Bison on hlslang.y
/bin/sh: 1: bison: not found
CMakeFiles/hlsl2glsl.dir/build.make:59: recipe for target 'hlslang/MachineIndependent/hlslang_tab.cpp' failed
make[2]: *** [hlslang/MachineIndependent/hlslang_tab.cpp] Error 127
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/hlsl2glsl.dir/all' failed
make[1]: *** [CMakeFiles/hlsl2glsl.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

Constant array initialization requires explicit type constructors

Requires explicit type constructors. Note that this only applies to arrays; non-array types now work fine either way.

// This fails:
static const float3 my_array[2] = {
{ 1, 1, 1 },
{ 1, 0, 0 },
};

// This works fine:
static const float3 my_other_array[2] = {
float3( 1, 1, 1 ),
float3( 1, 0, 0 ),
};

Targetting v140 doesn't seem to work

I supply ETargetGLSL_140 to parse and translate, and the resulting shader has '#version 140' at the top, but when I give it to OpenGL it complains:

0(230) : warning C7555: 'attribute' is deprecated, use 'in/out' instead
0(231) : warning C7555: 'attribute' is deprecated, use 'in/out' instead
0(235) : error C7533: global variable gl_Vertex is deprecated after version 120
0(236) : error C7533: global variable gl_Normal is deprecated after version 120
0(237) : error C7533: global variable gl_MultiTexCoord0 is deprecated after version 120
0(238) : error C7533: global variable gl_Color is deprecated after version 120
0(244) : error C7533: global variable gl_TexCoord is deprecated after version 120

Which seems valid.
Did I do something wrong? Missing options? Surely giving ETargetGLSL_140 should cause it to produce the proper code for the version?

My code is built from github latest.

Some tests fail under mesa, need to ask for GL core context for GLSL 1.50 support

Using pull request #63 I was able to build in Linux, some of the tests fail under mesa -

test array-globalconst-init-in.txt
  glsl compile error:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

Mesa does support GLSL 1.50, but you need to ask for a core context, if you use the workaround of overridding the GL version, they all pass -

MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 ./hlsl2glsltest ../tests/

The solution is that the tests need to ask for the right version by setting the correct window hints.

-fPIC on linux x86_64?

I can't work out how to build with -fPIC. I've tried everything I can think of, verbose output shows the flag passed to the compiler, still doesn't seem to work...
Either way, -fPIC is basically a requirement for x64 libs. Consider adding it by default? Otherwise many users will repeat this headache.

Building for iOS (7)

I know people have built libhlsl2glsl.a for iOS but it doesn't seem to be supported in supplied projects, or through CMake script. I've hacked OSX projects for iOS before but if someone else already did the work, that would be wonderful!

empty string crash

hlslLinker.cpp:348

outName = UsesBuiltinAttribStrings(m_Target, m_Options) ? attribString[sem] : "\0";
if ( sem == EAttrSemUnknown || outName[0] == '\0' )

This code crashes.

When UsesBuiltinAttribStrings() returns false; outName = "\0";
After that assignment, outName.length == 0.
On the next line: outName[0] == '\0'
This comparison crashes on an invalid index, outName.length == 0 so outName[0] is an invalid offset.

Is the description accurate?

I'm using this tool because it's the only active project for translating HLSL source to GLSL source (oh the torment...). The description slightly scares me as to whether I should invest time into the tool.

The library is not currently thread-safe.

This isn't specific enough. Not that this should probably be run in a threaded environment too often... but calling construct compiler and shipping the compiler off in a thread to Hlsl2Glsl_Parse and Hlsl2Glsl_Translate seems like an optimal route, especially if we have a few hundred shaders that are large. Can this be improved?

Support for DX11 features might or might not get added due to the bad condition the original code is in (very obscure and inefficient), instead maybe a new cross-compiler will be made. Someday. Maybe.

Is this really the case? Is the code that bad? If so, should I look into making new tools? How is the translation done? Is there an IR format hlsl2glsl uses? There's a lot of things that aren't very clear that I think would be good to document so I don't spend weeks looking into the features/capabilities/potential of the codebase.

SIGABRT when running tests

When running standard tests (passed in the path of the test folder to main) I get a SIGABRT on line 130 of typeSamplers.cpp, and can't work out why. Changing assignment to another string gives the same result. Here is the stack trace:

* thread #1: tid = 0x2303, 0x94e8ea6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
    frame #0: 0x94e8ea6a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x91b6eacf libsystem_c.dylib`pthread_kill + 101
    frame #2: 0x91ba54f8 libsystem_c.dylib`abort + 168
    frame #3: 0x91b87da3 libsystem_c.dylib`free + 428
    frame #4: 0x91231826 libstdc++.6.dylib`std::string::_M_mutate(unsigned long, unsigned long, unsigned long) + 244
    frame #5: 0x912324e3 libstdc++.6.dylib`std::string::_M_replace_safe(unsigned long, unsigned long, char const*, unsigned long) + 41
    frame #6: 0x91232452 libstdc++.6.dylib`std::string::assign(char const*, unsigned long) + 86
    frame #7: 0x91231ca7 libstdc++.6.dylib`std::string::operator=(char const*) + 37
    frame #8: 0x00081caf hlsl2glsltest`TSamplerTraverser::traverseAggregate(bool, TIntermAggregate*, TIntermTraverser*) + 287 at typeSamplers.cpp:130
    frame #9: 0x0006a9cf hlsl2glsltest`TIntermAggregate::traverse(TIntermTraverser*) + 95 at IntermTraverse.cpp:111
    frame #10: 0x0006aa60 hlsl2glsltest`TIntermAggregate::traverse(TIntermTraverser*) + 240 at IntermTraverse.cpp:119
    frame #11: 0x00082deb hlsl2glsltest`PropagateSamplerTypes(TIntermNode*, TInfoSink&) + 59 at typeSamplers.cpp:432
    frame #12: 0x0003df63 hlsl2glsltest`HlslCrossCompiler::TransformAST(TIntermNode*) + 51 at hlslCrossCompiler.cpp:39
    frame #13: 0x00028f6b hlsl2glsltest`Hlsl2Glsl_Parse + 651 at HLSL2GLSL.cpp:277
    frame #14: 0x00002dd7 hlsl2glsltest`TestFile + 311 at hlsl2glsltest.cpp:386
    frame #15: 0x00002801 hlsl2glsltest`TestFile + 417 at hlsl2glsltest.cpp:555
    frame #16: 0x00001dc4 hlsl2glsltest`main + 1092 at hlsl2glsltest.cpp:617
    frame #17: 0x93486725 libdyld.dylib`start + 1

System info:

Xcode 4.5.2
Mac OS 10.8.2 (Mountain Lion)
LLVM/Clang compiler

Howto section on README.md

it would be nice to know how to use this library on Unity, i can figure it out how to link the library in a c++ project and use it correctly, but have not idea of how to link c++ static libraries to a Unity project.

Compiling on linux?

Has anyone tried building on linux recently?
I had to #include <cstdlib> and <cstring> to glslCommon.cpp.

Now I'm having an error in Linux/ossource.cpp:
First it tries to #include "InitializeDll.h", which I comment out. Then error: ‘DetachThread’ was not declared in this scope

The code:

void DetachThreadLinux(void *)
{
    DetachThread();
}

Doesn't look right. Maybe pthread_detach(), but what argument?
I went with: pthread_detach(pthread_self());, but now I'm just making stuff up.
I got a lib. Can't yet test if it works for other reasons, but I suggest someone try building linux and make sure it works at git head.

Improper conversion non square matrices

this HLSL:

float4x3 mBonesArray[MAX_BONES];

should be converted to follow GLSL:

uniform mat4x3 mBonesArray[MAX_BONES];

but now it will be converted to:

uniform mat3x4 mBonesArray[MAX_BONES];

Error in /contrib/glslopt/Main.cpp; type casting between bool and glslopt_target

I'm not sure if this is my machine or your code, but here's the command-like output:

/home/athan/glsl-optimizer/contrib/glslopt/Main.cpp: In function ‘bool init()’:
/home/athan/glsl-optimizer/contrib/glslopt/Main.cpp:20:37: error: cannot convert ‘bool’ to ‘glslopt_target’ for argument ‘1’ to ‘glslopt_ctx* glslopt_initialize(glslopt_target)’
make[2]: *** [CMakeFiles/glslopt.dir/contrib/glslopt/Main.cpp.o] Error 1
make[1]: *** [CMakeFiles/glslopt.dir/all] Error 2
make: *** [all] Error 2

Any help would be awesome. Thank you!

improper russian coments parsing

Here is small patch that fixex problem

HG changeset patch

User [email protected]

Date 1368443820 -14400

Node ID 12d32e5bf970674fd75539054a6c1734e9bdefc7

Parent d0e13408f0338ccefb6ac08cb237ad4662cf01bb

fix russian comments parsing

diff --git a/hlslang/MachineIndependent/preprocessor/scanner.c b/hlslang/MachineIndependent/preprocessor/scanner.c
--- a/hlslang/MachineIndependent/preprocessor/scanner.c
+++ b/hlslang/MachineIndependent/preprocessor/scanner.c
@@ -15,7 +15,7 @@

typedef struct StringInputSrc {
InputSrc base;

  • char *p;
  • unsigned char *p;
    } StringInputSrc;

static int eof_scan1(InputSrc *is)

linux lib is huge (12.4mb)

I can't see -Os anywhere, and also -ggdb is probably adding a lot to the size unnecessarily.
glsl_optimizer seems to have a debug/release distinction, building release by default, which produces a small lib.
I suggest doing that here too.

Compilation issue with Yacc 3.0.2

arcanis@~/hlsl2glslfork/build # make
[  3%] Executing Bison on hlslang.y
hlslang.y:109.1-12: warning: deprecated directive, use ‘%pure-parser’ [-Wdeprecated]
 %pure_parser /* Just in case is called from multiple threads */
 ^^^^^^^^^^^^
[  6%] Executing flex on hlslang.l
Scanning dependencies of target hlsl2glsl
[  9%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/Gen_hlslang.cpp.o
[ 12%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/hlslang_tab.cpp.o
hlslang_tab.cpp: In function ‘int yyparse()’:
hlslang_tab.cpp:2223:30: error: too few arguments to function ‘int yylex(YYSTYPE*, void*)’
hlslang.y:105:16: note: declared here
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:187:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:196:17: note: in expansion of macro ‘parseContext’
...

And a lot more.

I guess it's because YYPARSE_PARAM has been deprecated/removed.

memory leak at glslOutput.cpp

hlslang\GLSLCodeGen\glslOutput.cpp : 1867

probable/quick fix:

     StructMember m = StructMember( it->type->getFieldName().c_str(),
                                        (it->type->hasSemantic()) ? it->type->getSemantic().c_str() : "",
                                         translateType(it->type),
                                         structQual,
                                         prec,
                                         it->type->isArray() ? it->type->getArraySize() : 0,
                                        (it->type->getBasicType() == EbtStruct) ? createStructFromType(it->type) : NULL,
                                         structName);
     s->addMember(m);

Sampler array initialization

GLSL does not have a generic sampler type ("sampler") and that's not usually a problem as HLSL2GLSL can usually figure out what a sampler's type needs to be from it's usage, but this doesn't work for sampler arrays. So if you're declaring a sampler array in HLSL, make sure to use the explicit sampler type: sampler1D, sampler2D, samplerCUBE etc.

Samplers as function parameters

HLSL2GLSL cannot figure out what sampler type to cast to if the parameter and argument sampler type differ:

// You can't pass a generic sampler type ("sampler") to this
float4 my_function(sampler2D s, float2 uv) {
return tex2D(s, uv);
}

// You can ONLY pass a generic sampler type ("sampler") to this
float4 my_function(sampler s, float2 uv) {
return tex2D(s, uv);
}

Trouble building on linux

Hi,
I had some trouble building on linux (Ubuntu 15.04):

$ make
[  3%] Executing Bison on hlslang.y
hlslang.y:109.1-12: warning: deprecated directive, use ‘%pure-parser’ [-Wdeprecated]
 %pure_parser /* Just in case is called from multiple threads */
 ^^^^^^^^^^^^
[  6%] Executing flex on hlslang.l
Scanning dependencies of target hlsl2glsl
[  9%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/glslCommon.cpp.o
[ 12%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/glslFunction.cpp.o
[ 15%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/glslOutput.cpp.o
[ 18%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/glslStruct.cpp.o
[ 21%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/glslSymbol.cpp.o
[ 25%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/hlslCrossCompiler.cpp.o
[ 28%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/hlslLinker.cpp.o
[ 31%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/hlslSupportLib.cpp.o
[ 34%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/propagateMutable.cpp.o
[ 37%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/GLSLCodeGen/typeSamplers.cpp.o
[ 40%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/HLSL2GLSL.cpp.o
[ 43%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/InfoSink.cpp.o
[ 46%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/Initialize.cpp.o
[ 50%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/Intermediate.cpp.o
[ 53%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/intermOut.cpp.o
[ 56%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/IntermTraverse.cpp.o
[ 59%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/ParseHelper.cpp.o
[ 62%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/PoolAlloc.cpp.o
[ 65%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/RemoveTree.cpp.o
[ 68%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/SymbolTable.cpp.o
[ 71%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/ConstantFolding.cpp.o
[ 75%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/preprocessor/mojoshader_common.cpp.o
[ 78%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/preprocessor/mojoshader_lexer.cpp.o
[ 81%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/preprocessor/mojoshader_preprocessor.cpp.o
[ 84%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/preprocessor/mojoshader.cpp.o
[ 87%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/preprocessor/sourceloc.cpp.o
[ 90%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/OSDependent/Linux/ossource.cpp.o
[ 93%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/Gen_hlslang.cpp.o
[ 96%] Building CXX object CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/hlslang_tab.cpp.o
hlslang_tab.cpp: In function ‘int yyparse()’:
hlslang_tab.cpp:2223:30: error: too few arguments to function ‘int yylex(YYSTYPE*, void*)’
hlslang.y:105:16: note: declared here
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:187:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:196:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:249:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:254:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:256:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:257:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:261:5: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:267:12: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:270:12: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:274:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:282:5: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:316:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:320:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:326:19: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:335:18: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:350:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:367:21: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:378:19: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:395:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:402:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:404:135: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:412:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:414:135: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:425:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:428:42: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:444:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:458:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:468:17: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:478:27: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:567:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:640:74: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:654:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:666:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:679:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:681:128: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:689:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:691:128: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:700:138: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:718:71: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:754:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:761:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:762:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:763:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:768:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:769:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:774:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:775:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:780:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:781:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:782:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:783:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:788:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:789:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:794:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:799:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:804:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:809:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:814:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:819:40: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:825:12: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:828:182: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:841:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:843:42: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:857:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:860:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:861:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:862:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:863:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:58:5: note: in expansion of macro ‘parseContext’
hlslang.y:864:7: note: in expansion of macro ‘UNSUPPORTED_FEATURE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:874:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:883:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:904:54: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:937:54: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:992:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1012:5: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1017:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1038:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1041:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1049:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1052:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1063:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1066:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1075:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1078:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1086:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1089:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1093:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1104:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1107:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1111:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1133:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1138:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1140:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1148:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1153:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1155:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1189:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1192:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1195:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1198:18: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1207:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1210:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1213:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1231:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1234:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1237:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1259:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1263:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1271:18: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1287:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1291:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1304:18: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1319:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1324:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1337:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1340:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1343:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1355:22: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1358:22: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1361:22: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1364:21: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1372:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1375:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1378:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1387:21: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1395:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1398:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1402:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1421:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1425:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1435:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1447:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1451:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1465:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1477:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1482:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1492:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1495:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1498:8: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1501:22: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1528:45: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1535:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1557:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1570:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1583:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1586:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1589:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1592:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1595:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1598:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1601:27: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1612:27: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1623:27: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1634:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1638:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1642:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1646:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1650:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1654:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1658:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1662:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1666:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1670:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1674:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1678:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1682:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1686:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1690:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1694:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1698:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1699:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1703:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1704:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1708:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1709:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1713:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1717:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1718:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1722:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1723:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1727:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1728:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1732:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1736:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1740:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1741:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1745:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1746:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1750:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1751:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1755:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1759:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1760:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1764:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1765:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1769:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1770:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1774:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1778:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1782:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1783:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1787:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1788:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1792:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1793:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1797:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1801:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1802:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1806:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1807:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:51:6: note: in expansion of macro ‘parseContext’
hlslang.y:1811:3: note: in expansion of macro ‘NONSQUARE_MATRIX_CHECK’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1812:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1816:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1820:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1823:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1826:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1829:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1832:3: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1835:3: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1838:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1841:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1844:3: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1847:3: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1850:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1853:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1856:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1859:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1863:41: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:63:20: note: in expansion of macro ‘parseContext’
hlslang.y:1871:9: note: in expansion of macro ‘SET_BASIC_TYPE’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1880:15: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1903:21: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1916:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1932:21: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1973:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:1983:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2019:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2019:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2059:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2061:140: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2082:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2087:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2089:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2092:14: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2102:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2103:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2107:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2108:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2112:11: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2114:7: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2115:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2157:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2164:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2172:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2179:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2195:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2210:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2214:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2231:54: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2301:13: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2305:9: note: in expansion of macro ‘parseContext’
hlslang.y:36:46: error: ‘parseContextLocal’ was not declared in this scope
hlslang.y:2342:41: note: in expansion of macro ‘parseContext’
CMakeFiles/hlsl2glsl.dir/build.make:714: recipe for target 'CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/hlslang_tab.cpp.o' failed
make[2]: *** [CMakeFiles/hlsl2glsl.dir/hlslang/MachineIndependent/hlslang_tab.cpp.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/hlsl2glsl.dir/all' failed
make[1]: *** [CMakeFiles/hlsl2glsl.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2

Assigning values to xll_matrixindex_mf3x3_i()

Hi,

I'm seeing some weird code being generated where hlsl2glsl is attempting to assign a value to a function return:
xll_matrixindex_mf3x3_i (TangentToWorld, 0) = test;

xll_matrixindex_mf3x3_i is implemented at the top of the generated GLSL as:

vec3 xll_matrixindex_mf3x3_i (mat3 m, int i) { vec3 v; v.x=m[0][i]; v.y=m[1][i]; v.z=m[2][i]; return v; }

so in my case the assignment is a nop :(

for reference my hlsl code fragment is:
float3 test = a_Tangent;
float3x3 TangentToWorld = float3x3(WorldTangent, WorldBinormal, WorldNormal);
TangentToWorld[0] = test;

How do I use this from the Command Line?

I am wanting to convert some HLSL shader files I have to GLSL and I have managed to compile this tool, but it only seems to work on the test directory. There is no documentation at all. How can I use this to convert my HLSL to GLSL files?

Thanks in advance

Swuth

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.