Edit

kc3-lang/angle/src/compiler/translator/TranslatorMetal.cpp

Branch :

  • Show log

    Commit

  • Author : Le Quyen
    Date : 2019-10-10 00:44:01
    Hash : d200a77a
    Message : Metal backend skeleton implementation. Bug: angleproject:2634 Change-Id: I34be82f4a80a6851fecb53a51e069b134d82613a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849079 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • src/compiler/translator/TranslatorMetal.cpp
  • //
    // Copyright (c) 2019 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    // TranslatorMetal:
    //   Translator for Metal backend.
    //
    
    #include "compiler/translator/TranslatorMetal.h"
    
    #include "common/debug.h"
    #include "compiler/translator/OutputVulkanGLSLForMetal.h"
    
    namespace sh
    {
    
    TranslatorMetal::TranslatorMetal(sh::GLenum type, ShShaderSpec spec)
        : TCompiler(type, spec, SH_GLSL_450_CORE_OUTPUT)
    {}
    
    bool TranslatorMetal::translate(TIntermBlock *root,
                                    ShCompileOptions compileOptions,
                                    PerformanceDiagnostics * /*perfDiagnostics*/)
    {
        TInfoSinkBase &sink = getInfoSink().obj;
        TOutputVulkanGLSLForMetal outputGLSL(sink, getArrayIndexClampingStrategy(), getHashFunction(),
                                             getNameMap(), &getSymbolTable(), getShaderType(),
                                             getShaderVersion(), getOutputType(), compileOptions);
    
        UNIMPLEMENTED();
    
        root->traverse(&outputGLSL);
        return false;
    }
    
    bool TranslatorMetal::shouldFlattenPragmaStdglInvariantAll()
    {
        UNIMPLEMENTED();
        return false;
    }
    
    }  // namespace sh