From 662f43fff6721c6cd013a8f1b2639c2e29fe6be3 Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Sat, 3 Feb 2018 07:30:54 -0800 Subject: Remove non-IR codegen paths (#398) The basic change is simple: remove support for all code generation paths other than the IR. There is a lot of vestigial code left, but the main logic in `ast-legalize.*` is gone. Doing this breaks a *lot* of tests, for various reasons: - We can no longer guarantee exactly matching DXBC or SPIR-V output after things pass through out IR - Many builtins don't have matching versions defined for GLSL output via IR (even when they had versions defined via the earlier approach that worked with the AST) - A lot of code creates intermediate values of opaque types in the IR, which turn into opaque-type temporaries that aren't allowed (this breaks many GLSL tests, but also some HLSL) I implemented some small fixes for issues that I could get working in the time I had, but most of the above are larger than made sense to fix in this commit. For now I'm disabling the tests that cause problems, but we will need to make a concerted effort to get things working on this new substrate if we are going to make good on our goals. --- source/slang/slang.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'source/slang/slang.cpp') diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 90a9a3aef..c25a4f2ce 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -254,12 +254,6 @@ void CompileRequest::generateIR() // for all of the declarations in the translation // units that were loaded. - // At the moment, use of the IR is not enabled by - // default, so we will skip this step unless - // the flag was set to op in. - if (!(compileFlags & SLANG_COMPILE_FLAG_USE_IR)) - return; - // Each translation unit is its own little world // for code generation (we are not trying to // replicate the GLSL linkage model), and so @@ -529,7 +523,7 @@ RefPtr CompileRequest::loadModule( // semantic checking to be enabled. // // TODO: decide which options, if any, should be inherited. - translationUnit->compileFlags = this->compileFlags & (SLANG_COMPILE_FLAG_USE_IR); + translationUnit->compileFlags = 0; RefPtr sourceFile = getSourceManager()->allocateSourceFile(path, source); -- cgit v1.2.3