Commit 81f03cc0 by Shahbaz Youssefi Committed by Commit Bot

Allow translator to use headers from common/spirv

Bug: angleproject:4889 Change-Id: Ia297888a97c0ba9cec1283db7f94f2e5b362c27e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815179 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarTim Van Patten <timvp@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 08805e35
......@@ -567,6 +567,7 @@ template("translator_lib") {
deps = [
":includes",
":preprocessor",
"$angle_root/src/common/spirv:angle_spirv_headers",
]
if (_uses_spirv) {
......@@ -764,6 +765,7 @@ if (angle_enable_vulkan || angle_enable_metal) {
":libANGLE_headers",
"$angle_root/src/common/spirv:angle_spirv_base",
"$angle_root/src/common/spirv:angle_spirv_builder",
"$angle_root/src/common/spirv:angle_spirv_headers",
"$angle_root/src/common/spirv:angle_spirv_parser",
"${angle_spirv_headers_dir}:spv_headers",
]
......
......@@ -4,12 +4,16 @@
import("../../../gni/angle.gni")
angle_source_set("angle_spirv_headers") {
sources = [ "spirv_types.h" ]
deps = [ "$angle_root:angle_common" ]
}
angle_source_set("angle_spirv_base") {
sources = [
"angle_spirv_utils.cpp",
"spirv_types.h",
]
sources = [ "angle_spirv_utils.cpp" ]
deps = [
":angle_spirv_headers",
"$angle_root:angle_common",
"${angle_spirv_headers_dir}:spv_headers",
"${angle_spirv_tools_dir}:spvtools_headers",
......@@ -27,6 +31,7 @@ angle_source_set("angle_spirv_builder") {
]
deps = [
":angle_spirv_base",
":angle_spirv_headers",
"$angle_root:angle_common",
"${angle_spirv_headers_dir}:spv_headers",
]
......@@ -39,6 +44,7 @@ angle_source_set("angle_spirv_parser") {
]
deps = [
":angle_spirv_base",
":angle_spirv_headers",
"$angle_root:angle_common",
"${angle_spirv_headers_dir}:spv_headers",
]
......
......@@ -1356,7 +1356,7 @@ bool TranslatorVulkan::shouldFlattenPragmaStdglInvariantAll()
bool TranslatorVulkan::compileToSpirv(const TInfoSinkBase &glsl)
{
std::vector<uint32_t> spirvBlob;
angle::spirv::Blob spirvBlob;
if (!GlslangCompileToSpirv(getResources(), getShaderType(), glsl.str(), &spirvBlob))
{
return false;
......
......@@ -108,7 +108,7 @@ void GlslangFinalize()
ANGLE_NO_DISCARD bool GlslangCompileToSpirv(const ShBuiltInResources &resources,
sh::GLenum shaderType,
const std::string &shaderSource,
std::vector<uint32_t> *spirvBlobOut)
angle::spirv::Blob *spirvBlobOut)
{
TBuiltInResource builtInResources(glslang::DefaultTBuiltInResource);
GetBuiltInResources(resources, &builtInResources);
......
......@@ -13,6 +13,7 @@
#include "GLSLANG/ShaderLang.h"
#include "common/PackedEnums.h"
#include "common/spirv/spirv_types.h"
#include <string>
#include <vector>
......@@ -27,7 +28,7 @@ void GlslangFinalize();
ANGLE_NO_DISCARD bool GlslangCompileToSpirv(const ShBuiltInResources &resources,
sh::GLenum shaderType,
const std::string &shaderSource,
std::vector<uint32_t> *spirvBlobOut);
angle::spirv::Blob *spirvBlobOut);
#else
ANGLE_INLINE void GlslangInitialize()
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment