diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-05-29 15:56:28 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-29 15:56:28 -0400 |
| commit | 8acb704ecabc10c31e664de3814c544572e3945f (patch) | |
| tree | 82380012610537fd3d475b7f3eee70d78b3fcc78 /source/slang/slang-emit.cpp | |
| parent | 9773495f1ab8a11194a21e1cf7b141c3da5cdfce (diff) | |
Bug fix problem with ray tracing from fragment shader (#1362)
* Added GLSL_460 if ray tracing is used on fragment shader.
Moved GLSL specific setup init function.
* Split out _requireRayTracing method.
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 63d46aa30..12996e783 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -662,6 +662,8 @@ SlangResult emitEntryPointSourceFromIR( return SLANG_FAIL; } + SLANG_RETURN_ON_FAIL(sourceEmitter->init()); + { LinkingAndOptimizationOptions linkingAndOptimizationOptions; @@ -698,29 +700,6 @@ SlangResult emitEntryPointSourceFromIR( sourceEmitter->emitModule(irModule); } - // Deal with cases where a particular stage requires certain GLSL versions - // and/or extensions. - switch( entryPoint->getStage() ) - { - default: - break; - - case Stage::AnyHit: - case Stage::Callable: - case Stage::ClosestHit: - case Stage::Intersection: - case Stage::Miss: - case Stage::RayGeneration: - if( target == CodeGenTarget::GLSL ) - { - auto glslExtensionTracker = as<GLSLExtensionTracker>(sourceEmitter->getExtensionTracker()); - - glslExtensionTracker->requireExtension(UnownedStringSlice::fromLiteral("GL_NV_ray_tracing")); - glslExtensionTracker->requireVersion(ProfileVersion::GLSL_460); - } - break; - } - String code = sourceWriter.getContent(); sourceWriter.clearContent(); |
