Commit 755a9317 by Jamie Madill Committed by Commit Bot

Re-land "Vulkan: Roll loader/validation layers SDK. (2/2)"

Re-landing with upstream fixes to the layers so they no longer need to copy the parameter validation errors to the current working directory of the layer generation. Also includes fixes for the GCC build. This hasn't been updated in a while, so there are many changes. It should also include better validation for memory barriers. Also includes updated builds for SPIRV Tools and glslang. A few pull requests need to land before landing this in ANGLE. This second step re-enables Vulkan and includes the updated build. Includes a workaround for parameter_validation.h no longer being auto-generated, and the stale file clobbering the build. Also includes a fix for an incorrect memory barrier. Bug: angleproject:2237 Change-Id: I1ed87ecfa84f51ee1edf6a8581d9b3c8f9a6f26e Reviewed-on: https://chromium-review.googlesource.com/834429 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent beb6dc74
...@@ -29,17 +29,13 @@ if (is_win) { ...@@ -29,17 +29,13 @@ if (is_win) {
angle_enable_d3d11 = true angle_enable_d3d11 = true
angle_enable_gl = true angle_enable_gl = true
angle_enable_gl_null = true angle_enable_gl_null = true
angle_enable_vulkan = true
# TODO(jmadill): Re-enable after roll.
# angle_enable_vulkan = true
import("//build/config/win/visual_studio_version.gni") import("//build/config/win/visual_studio_version.gni")
} else if (is_linux && use_x11 && !is_chromeos) { } else if (is_linux && use_x11 && !is_chromeos) {
angle_enable_gl = true angle_enable_gl = true
angle_enable_gl_null = true angle_enable_gl_null = true
angle_enable_vulkan = true
# TODO(jmadill): Re-enable after roll.
# angle_enable_vulkan = true
} else if (is_mac || ozone_platform_gbm) { } else if (is_mac || ozone_platform_gbm) {
angle_enable_gl = true angle_enable_gl = true
angle_enable_gl_null = true angle_enable_gl_null = true
......
...@@ -29,6 +29,11 @@ for json_fname in glob.glob(os.path.join(source_dir, "*.json")): ...@@ -29,6 +29,11 @@ for json_fname in glob.glob(os.path.join(source_dir, "*.json")):
data = json.load(infile) data = json.load(infile)
# update the path # update the path
if not 'layer' in data:
raise Exception("Could not find a layer key in " + json_fname)
# The standard validation layer has no library path.
if 'library_path' in data['layer']:
prev_name = os.path.basename(data['layer']['library_path']) prev_name = os.path.basename(data['layer']['library_path'])
data['layer']['library_path'] = prev_name data['layer']['library_path'] = prev_name
......
#!/usr/bin/python2
#
# Copyright 2017 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.
#
# remove_file_if_exists.py:
# This special action is needed to remove generated headers.
# Otherwise ANGLE will pick up the old file(s) and the build will fail.
#
import sys
import os
if len(sys.argv) < 3:
print("Usage: " + sys.argv[0] + " <remove_file> <stamp_file>")
remove_file = sys.argv[1]
if os.path.isfile(remove_file):
os.remove(remove_file)
# touch a dummy file to keep a timestamp
with open(sys.argv[2], "w") as f:
f.write("blah")
f.close()
...@@ -211,7 +211,7 @@ vk::Error BufferVk::setDataImpl(ContextVk *contextVk, ...@@ -211,7 +211,7 @@ vk::Error BufferVk::setDataImpl(ContextVk *contextVk,
bufferBarrier.size = static_cast<VkDeviceSize>(size); bufferBarrier.size = static_cast<VkDeviceSize>(size);
commandBuffer->singleBufferBarrier(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, commandBuffer->singleBufferBarrier(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, 0, bufferBarrier); VK_PIPELINE_STAGE_TRANSFER_BIT, 0, bufferBarrier);
VkBufferCopy copyRegion = {offset, 0, size}; VkBufferCopy copyRegion = {offset, 0, size};
commandBuffer->copyBuffer(stagingBuffer.getBuffer(), mBuffer, 1, &copyRegion); commandBuffer->copyBuffer(stagingBuffer.getBuffer(), mBuffer, 1, &copyRegion);
......
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