-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dawn] Implement DoCompute support in dawn backend and fix sparse descriptor set support #585
Conversation
My change in command_parser.cc is causing two unit tests to break. I temporary fixed them by relaxing assertions and I'm looking for the real issue. |
src/dawn/engine_dawn.cc
Outdated
|
||
if (buf_info.descriptor_set > kMaxDawnBindGroup - 1) { | ||
return Result( | ||
"AttachBuffers: Dawn has maximum of 4 bindGroups " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 4 is magic here, and could go out of date.
Do this:
std::string("AttachBuffers: Dawn has a maximum of ") + std::to_string(kMaxDawnBindGroup) + " bind groups
....
src/vkscript/command_parser.cc
Outdated
|
||
// Even if the value count doesn't change, the buffer is still resized | ||
// because this maybe the first time data is set into the buffer. | ||
buf->ResizeTo(buf->GetSizeInBytes()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is fishy. ResizeTo says to resize the buffer to hold |element_count| elements. How do we know the element size is 1 byte?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added ResizeToBytes() function to buffer class. That should resolve confusion.
src/buffer.h
Outdated
/// Resizes the buffer to hold |element_count| elements. This requires the | ||
/// format to have been set. This is separate from ResizeTo(). The given | ||
/// argument here is |size_in_bytes| bytes vs |element_count| elements | ||
void ResizeToBytes(uint32_t size_in_bytes); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be called SetSizeInBytes and be put up above with GetSizeInBytes? Not really sure, I named ResizeTo
poorly .....
@@ -150,6 +150,11 @@ class Buffer { | |||
/// initial count. This requires the format to have been set. | |||
void ResizeTo(uint32_t element_count); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should file a bug to rename this SetElementCount
or SetSizeToCountElements
or something ? ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a SetElementCount already:
/// Sets the number of elements in the buffer.
void SetElementCount(uint32_t count) { element_count_ = count; }
I filed issue #597
src/buffer.h
Outdated
@@ -150,6 +150,11 @@ class Buffer { | |||
/// initial count. This requires the format to have been set. | |||
void ResizeTo(uint32_t element_count); | |||
|
|||
/// Resizes the buffer to hold |element_count| elements. This requires the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update comment to match as this doesn't work on element_count.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the comment, let know if you'd like to add anything specific
src/vkscript/command_parser_test.cc
Outdated
@@ -3339,7 +3339,7 @@ TEST_F(CommandParserTest, Uniform) { | |||
const auto* buf = cmd->GetBuffer(); | |||
const auto* values = buf->GetValues<float>(); | |||
std::vector<float> results = {2.1f, 3.2f, 4.3f, 0.f}; | |||
ASSERT_EQ(results.size(), buf->ValueCount()); | |||
EXPECT_TRUE(results.size() < buf->ValueCount()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be needed? Something has gone wrong if we have more then 4 values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
buf->ValueCount()
= element_count_ * format_->ValuesPerElement()
= element_count_ * ValuesPerRow() * column_count_ && (is_std140_ && column_count_ > 1)
= element_count_ * 4 * column_count_
= element_count_ * 4 * 1
= element_count_ * 4
As a result:
with my change in command_parser.cc: element_count_ == 3 -> buf->ValueCount() == 12
without it: element_count_ == 1 -> buf->ValueCount() == 4
Which element_count is correct for a "uniform vec3 32 2.1 3.2 4.3"?
if element_count_ == 1 is correct then there is a bug in what I added to command_parser.cc to set the size for ubos.
One thing I've noticed, this equation returns 9 instead of 3.
uint32_t value_count = ((cmd->GetOffset() / buf->GetFormat()->SizeInBytes()) *
buf->GetFormat()->InputNeededPerElement()) +
static_cast<uint32_t>(values.size());
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, the distinction between element and value. A vec3 is 1 element, but it's 4 values (4, not 3 due to the layout rules padding the last item). So, a vec3 32 2.1 3.2 4.3
is a single element with 4 values.
The element count * format->ValuesPerElement()
should give the correct number of values.
I'd actually expect that to return 12
instead of 9
. The offset of 32 bytes of float's means we have 2 elements, or 8 values in the offset, plus 4 values that are being appended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm finding these functions a little confusing. Let's go back to the initial problem: Dawn needs the size to create a buffer.
Do you have any suggestions about how to set it when there a ubo command in a vkscript?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, it sounds like this is going to get tricky with VkScript and Dawn. In VkScript, the buffers can grow as the program executes. With AmberScript the buffers are static in size. There is no way to adjust the size of a buffer in Dawn? Can we, as the buffers change size delete the old ones and create new ones?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dawn CreateBuffer API needs the size as an argument. Later on we can do SetSubData however it shouldn't overflow the initial given size.
There is no DeleteBuffer and since we bind buffers to the pipeline we cannot just abandon the previous one and create a new one each time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even in Vulkan the buffer size is immutable, I think. But the point remains that Amber wants to update the buffer size, and that's contrary to Dawn's natural use. Your suggestion is reasonable: if resizing to a larger size, reallocate but also copy the old contents to the new one.
I'm a little lost in the details right now, but can we defer the creation of the Dawn buffer until we actually want to use it in a pipeline? I think the new Clspv support is doing something similar with on-demand buffers for kernel arguments.
So thats two options: 1. reallocate as needed. 2. delay creation until the last moment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a current Dawn limitation they're going to fix, or are buffers just immutable in size in Dawn and that's the way it will always be?
I guess currently we'll have to make sure the buffer is always resized to the largest size needed. That being said, for this test, the size should be known to be exact, we shouldn't need to make the comparison weaker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had a thought on the train this morning. When we're parsing the VkScript file should we maintain 2 sizes in the Buffer class. The SizeInBytes
would be the initial size to make the buffer and a MaxSizeInBytes
would be the total size needed to hold the buffer over all ssbo size
and ssbo subdata
size calls?
Then, the Vulkan side stays the same and uses the size and resizes as needed and the Dawn side can use the max size to set the buffer?
The buffer would initially be sized to whatever SizeInBytes
comes out to be.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
taking a look
src/vkscript/command_parser_test.cc
Outdated
@@ -3381,7 +3381,7 @@ TEST_F(CommandParserTest, UniformWithContinuation) { | |||
const auto* buf = cmd->GetBuffer(); | |||
const auto* values = buf->GetValues<float>(); | |||
std::vector<float> results = {2.1f, 3.2f, 4.3f, 0.f, 5.4f, 6.7f, 8.9f, 0.f}; | |||
ASSERT_EQ(results.size(), buf->ValueCount()); | |||
EXPECT_TRUE(results.size() < buf->ValueCount()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
src/vkscript/command_parser_test.cc
Outdated
@@ -3339,7 +3339,7 @@ TEST_F(CommandParserTest, Uniform) { | |||
const auto* buf = cmd->GetBuffer(); | |||
const auto* values = buf->GetValues<float>(); | |||
std::vector<float> results = {2.1f, 3.2f, 4.3f, 0.f}; | |||
ASSERT_EQ(results.size(), buf->ValueCount()); | |||
EXPECT_TRUE(results.size() < buf->ValueCount()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even in Vulkan the buffer size is immutable, I think. But the point remains that Amber wants to update the buffer size, and that's contrary to Dawn's natural use. Your suggestion is reasonable: if resizing to a larger size, reallocate but also copy the old contents to the new one.
I'm a little lost in the details right now, but can we defer the creation of the Dawn buffer until we actually want to use it in a pipeline? I think the new Clspv support is doing something similar with on-demand buffers for kernel arguments.
So thats two options: 1. reallocate as needed. 2. delay creation until the last moment.
src/vkscript/command_parser.cc
Outdated
// values per element. | ||
element_count = value_count / buf->GetFormat()->InputNeededPerElement(); | ||
} | ||
buf->SetMaxSizeInBytes(element_count * buf->GetFormat()->SizeInBytes()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This new implementation allows the max-size-in-bytes to shrink.
I think that can happen if you have an ssbo subdata command with a big offset, then a later one with a small offset. That's because value_count computed a few lines above takes into account the offset of this command but not the prior size.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right I forgot about this condition:
if(buf->GetMaxSizeInBytes() < element_count * buf->GetFormat()->SizeInBytes())
buf->SetMaxSizeInBytes(element_count * buf->GetFormat()->SizeInBytes());
Does this fix the issue you've mentioned?
src/buffer.h
Outdated
@@ -157,6 +157,15 @@ class Buffer { | |||
/// |element_count| elements | |||
void SetSizeInBytes(uint32_t size_in_bytes); | |||
|
|||
/// max_size_in_bytes_ is the total size in bytes needed to hold the buffer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a definition of the max_size_in_bytes_ field, which should go just before the member declaration at line 200.
Separately, there's a fragile disconnect between setting max_size_in_bytes_, element_count_ and resizing the bytes_ vector. No single one of them is the source of truth.
You'll need to write comments at their member declarations to define exactly what they mean, and therefore determine the single source of truth. To be clear, this is a continuation of a previously existing problem with this class definition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can predict this can get complicated so I filed issue #599
src/vkscript/command_parser.cc
Outdated
// Even if the value count doesn't change, the buffer is still resized | ||
// because this maybe the first time data is set into the buffer. | ||
buf->SetSizeInBytes(buf->GetSizeInBytes()); | ||
uint32_t element_count = value_count; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a repeat of the code sequence at the SSBO routine. That's a code smell that there's a common functionality should be refactored. By the look of it, it seems like all this should be a method on the buffer itself.
In fact, after some digging, there is a similar calculation in Buffer::SetDataWithOffset.
(Hmmm. But that seems to not accomodate the Pack case... ?)
Suggest defining
Buffer::ResizeForDataWithOffset(const std::vector& data, uint32_t offset);
This mirrors Buffer::SetDataWithOffset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not really resizing though. It is setting a fake size to be used in Dawn buffer creation.
How about RecalculateMaxSizeInBytes?
src/vkscript/command_parser_test.cc
Outdated
@@ -3339,7 +3339,7 @@ TEST_F(CommandParserTest, Uniform) { | |||
const auto* buf = cmd->GetBuffer(); | |||
const auto* values = buf->GetValues<float>(); | |||
std::vector<float> results = {2.1f, 3.2f, 4.3f, 0.f}; | |||
EXPECT_TRUE(results.size() < buf->ValueCount()); | |||
EXPECT_EQ(results.size(), buf->ValueCount()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm glad this is sorted out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM w/ nits. Leaving the final approval to @dneto0 as he knows the Dawn side better than I do.
uint32_t Buffer::GetMaxSizeInBytes() const { | ||
if (max_size_in_bytes_ != 0) | ||
return max_size_in_bytes_; | ||
else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Else not need since about always returns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We set max_size_in_bytes_ in processSSBO/UBO while parsing, which means it stays at 0 for amber buffers. That why I return GetSizeInBytes() if it was zero (the comment in the header tries to explain this).
@@ -150,10 +150,29 @@ class Buffer { | |||
/// initial count. This requires the format to have been set. | |||
void ResizeTo(uint32_t element_count); | |||
|
|||
/// Resizes the buffer to hold |size_in_bytes| over format_->SizeInBytes() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: change over to just '/'
/// Resizes the buffer to hold |size_in_bytes| over format_->SizeInBytes() | ||
/// number of elements while resizing the buffer to |size_in_bytes| bytes. | ||
/// This requires the format to have been set. This is separate from | ||
/// ResizeTo() since the given argument here is |size_in_bytes| bytes vs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: drop bytes, it's redundant with |size_in_bytes|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meh, I'm ok with what is written here. It's better to err with too much info than with too little. It's good that the parameter name has the units in it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, the variable name is right, adding the _bytes fixed some prior confusion with things. Was referring to the second bytes in the sentence.
@@ -0,0 +1,116 @@ | |||
# Copyright 2018 The Amber Authors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
/// Resizes the buffer to hold |size_in_bytes| over format_->SizeInBytes() | ||
/// number of elements while resizing the buffer to |size_in_bytes| bytes. | ||
/// This requires the format to have been set. This is separate from | ||
/// ResizeTo() since the given argument here is |size_in_bytes| bytes vs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meh, I'm ok with what is written here. It's better to err with too much info than with too little. It's good that the parameter name has the units in it.
|
||
/// Sets the max_size_in_bytes_ to |max_size_in_bytes| bytes | ||
void SetMaxSizeInBytes(uint32_t max_size_in_bytes); | ||
/// Returns max_size_in_bytes_ if it is not zero. Otherwise it means this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good comment.
std::vector<::dawn::BindGroup> bind_groups; | ||
std::vector<::dawn::BindGroupLayout> bind_group_layouts; | ||
|
||
// Mapping from the <descriptor_set, binding> to dawn buffer index in buffers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good and necessary comment.
/// Write |data| into the buffer |offset| bytes from the start. Write | ||
/// |size_in_bytes| of data. | ||
Result SetDataWithOffset(const std::vector<Value>& data, uint32_t offset); | ||
|
||
/// At each ubo, ssbo size and ssbo subdata size calls, recalculates |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All together, these size-related changes make a lot more sense to me. The new method name here is a big improvement.
row_stride); | ||
} | ||
// Always unmap the buffer at the end of the engine's command. | ||
copy_buffer.Unmap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: It's slightly fragile to have the unmap here when you have an early return earlier in the body of the loop. Fortunately that's an error condition that will cause the entire script to fail, so it's still correct.
There are patterns for writing code to ensure that cleanups occur even in the presence of an early exit. (e.g. a std::unique_ptr can be used to hold an allocated object that has to be released in any case when leaving the scope.) . Amber hasn't got such a mechanism in general and in this case it would only obscure the logic of the code.
This is just a FYI to keep an eye out for that kind of fragility.
No request to change anything here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for explaining this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have a bit of this in the vulkan engine code. I created wrapper objects for command buffer and but they aren't great. Hard to make nice wrappers for this stuff, heh.
Result AttachBuffersAndTextures(RenderPipelineInfo* render_pipeline); | ||
// Creates and attaches index, vertex, storage, uniform and depth-stencil | ||
// buffers.Used in the Compute pipeline creation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: extra space after the period and before "Used..."
No need to block this MR
// Even if the value count doesn't change, the buffer is still resized | ||
// because this maybe the first time data is set into the buffer. | ||
buf->ResizeTo(buf->GetSizeInBytes()); | ||
buf->RecalculateMaxSizeInBytes(values, cmd->GetOffset()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much nicer
* Rolling 14 dependencies Roll third_party/clspv/ 1c32720c4..616ffa280 (6 commits) google/clspv@1c32720...616ffa2 $ git log 1c32720c4..616ffa280 --date=short --no-merges --format='%ad %ae %s' 2020-05-28 alanbaker Handle smax, smin and sclamp in -hack-scf (#597) 2020-05-27 alanbaker Update LLVM (#595) 2020-05-25 alanbaker Relax frontend 8- and 16-bit type check (#590) 2020-05-21 alanbaker Support global type-mangled pod args in push constants (#588) 2020-05-21 48454132+sjw36 SPIRVProducerPass refactor - phase2.2 (#586) 2020-05-20 alanbaker Expand functionality to catch odd truncates (#585) Roll third_party/clspv-llvm/ 7cefd1b4c..8506877c8 (1244 commits) llvm/llvm-project@7cefd1b...8506877 $ git log 7cefd1b4c..8506877c8 --date=short --no-merges --format='%ad %ae %s' 2020-06-02 kadircet [clangd] Copy existing includes in ReplayPreamble 2020-06-02 kadircet Revert "[clangd] Copy existing includes in ReplayPreamble" 2020-06-02 thakis [gn build] (manually) port 44f989e7809 2020-06-02 ikudrin Fix a failing test. 2020-06-02 zinenko [mlir] support materialization for 1-1 type conversions 2020-06-02 kadircet [clangd] Copy existing includes in ReplayPreamble 2020-06-02 djordje.todorovic [CSInfo][NFC] Interpret loaded parameter value separately 2020-06-02 zinenko [mlir] SCFToGPUPass: fix macros referring to LOOPS to use SCF instead 2020-04-20 pavel [Support] Make DataExtractor error messages more clear 2020-05-25 pavel [lldb/DWARF] Add support for pre-standard GNU call site attributes 2020-06-02 ikudrin [DebugInfo] Report the format of type units [10/10] 2020-06-02 ikudrin [DebugInfo] Report the format of location and range lists [9/10] 2020-06-02 ikudrin [DebugInfo] Report the format of tables in .debug_pub* sections [8/10] 2020-06-02 ikudrin [DebugInfo] Report the format of line tables [7/10] 2020-06-02 ikudrin [DebugInfo] Report the format of call frame information entries [6/10] 2020-06-02 ikudrin [DebugInfo] Report the format of address range tables [5/10] 2020-06-02 ikudrin [DebugInfo] Report the format of address tables [4/10] 2020-06-02 ikudrin [DebugInfo] Report the format of compilation units [3/10] 2020-06-02 ikudrin [DebugInfo] Report the format of .debug_names [2/10] 2020-06-02 ikudrin [DebugInfo] Extract a helper function to return the DWARF format name, NFC [1/10] 2020-06-02 zinenko [mlir] Toy tutorial: avoid erasing and then re-creating loop terminators 2020-06-02 llvm-dev Add missing MemoryBuffer.h include 2020-06-02 zinenko [mlir] post-commit review fixes 2020-06-02 llvm-dev TextAPIReader.h - reduce MemoryBuffer.h include to forward declaration. NFC. 2020-06-02 llvm-dev TextAPIWriter.h - reduce MemoryBuffer.h include to forward declarations. NFC. 2020-06-02 flo [Sema] Fix -Wunused-variable in CreateBuiltinMatrixSubscriptExpr (NFC). 2020-06-02 flo [LV] Make sure the MaxVF is a power-of-2 by rounding down. 2020-05-26 ehsan.nadjaran_toosi [mlir] Introduce CallOp converter for buffer placement 2020-05-22 dantrushin [EarlyCSE] Common gc.relocate calls. 2020-06-02 omair.javaid [LLDB] Mark TestCreateDuringInstructionStep as flaky on Linux 2020-06-02 llvm-dev [VectorCombine][X86] Add loaded insert tests from D80885 2020-05-29 hokein.wu [AST] Fix a null initializer crash for InitListExpr 2020-04-24 simon [mips] Support 64-bit relative relocations 2020-06-02 gribozavr Run syntax tree tests in many language modes 2020-06-02 marukawa [VE] Support I32/F32 registers in assembler parser 2020-06-02 courbet [llvm-exegesis] Fix D80610. 2020-06-02 sam.parker [NFC][ARM][AArch64] Test runs 2020-06-01 protze [OpenMP][OMPT] Fix and add event callbacks for detached tasks 2020-06-01 tmsriram Options for Basic Block Sections, enabled in D68063 and D73674. 2020-05-28 dantrushin [StatepointLowering] Handle UNDEF gc values. 2020-05-07 dominik.montada [GlobalISel] Combine scalar unmerge(trunc) 2020-06-02 dominik.montada [NFC] Move vector unmerge(trunc) combine to function 2020-06-02 higuoxing [ObjectYAML][DWARF] Let `dumpPubSection` return `DWARFYAML::PubSection`. 2020-06-01 ravishankarm [mlir][SCFToGPU] Remove conversions from scf.for to gpu.launch. 2020-06-01 maskray [ELF] --wrap: don't error `undefined reference to __real_foo` (--no-allow-shlib-undefined) if foo is a wrapped definition 2020-06-02 yrouban [BrachProbablityInfo] Proportional distribution of reachable probabilities 2020-06-01 richard Fix violations of [basic.class.scope]p2. 2020-06-01 craig.topper [X86] Fix a few recursivelyDeleteUnusedNodes calls that were trying to delete nodes before their user was really gone. 2020-06-02 yrouban [BrachProbablityInfo] Rename loop variables. NFC 2020-06-01 kcc [asan] fix a comment typo (...) 2020-05-20 dkszelethus [analyzer] Change the default output type to PD_TEXT_MINIMAL in the frontend, error if an output loc is missing for PathDiagConsumers that need it 2020-05-19 antonio.afonso Add terminateCommands to lldb-vscode protocol 2020-05-19 vsk [lldb/test] Move "DataFormatters/Mock.h" to "Plugins/Language/ObjC/Utilities.h" 2020-05-07 dan [asan_symbolize] Fix bug handling C++ symbols when using Atos. 2020-03-01 dkszelethus [analyzer][NFC] Merge checkNewAllocator's paramaters into CXXAllocatorCall 2020-05-19 Matthew.Arsenault AMDGPU: Annotate functions that have stack objects 2020-04-14 dkszelethus analyzer][CallAndMessage][NFC] Change old callbacks to rely on CallEvent 2020-05-19 cameron.mcinally [SVE] MOVPRFX zero merging test renaming 2020-05-19 Matthew.Arsenault GlobalISel: Copy correct flags to select 2020-04-14 dkszelethus [analyzer][ObjCGenerics] Don't emit diagnostics under the name core.DynamicTypePropagation 2020-05-13 Matthew.Arsenault AMDGPU: Fix DAG divergence for implicit function arguments 2020-05-19 Matthew.Arsenault AMDGPU: Use member initializers in MFI 2020-05-15 bcain [Hexagon] pX.new cannot be used with p3:0 as producer 2020-04-14 dkszelethus [analyzer][NSOrCFError] Don't emit diagnostics under the name osx.NSOrCFErrorDerefChecker 2020-05-19 Matthew.Arsenault GlobalISel: Remove unused include 2020-05-19 Matthew.Arsenault CodeGen: Use Register 2020-05-17 stephen.neuendorffer [MLIR][cmake][NFC] Check for incorrect usage of LLVM components in LINK_LIBS 2020-05-17 stephen.neuendorffer [MLIR] LLVMMLIRTableGen -> MLIRTableGen 2020-05-19 ravishankarm [mlir][SPIRV] Fix blocks nested too deeply error. 2020-05-12 silvasean [mlir][shape] Add `shape.from_extents`. 2020-05-19 david.bolvansky Revert "[clang-misexpect] Fixed typo which causes that --pgo-warn-misexpect option is not passed in the compiler invocation" 2020-05-19 thakis [gn build] Try harder to unbreak Windows build after f8e833a501. 2020-05-19 david.bolvansky [clang-misexpect] Fixed typo which causes that --pgo-warn-misexpect option is not passed in the compiler invocation 2020-05-19 efriedma [AArch64] Disable MachineOutliner on Windows. 2020-05-19 erich.keane Fix X86_64 complex-returns for regcall. 2020-05-19 benny.kra Give helpers internal linkage. NFC. 2020-05-19 thakis [gn build] Try to unbreak Windows build after f8e833a501. 2020-05-19 jonas [lldb/Reproducers] Update GDB remote client tests for passive replay 2020-05-19 artem.dergachev [analyzer] Move apiModeling.StdCLibraryFunctionArgs to alpha. 2020-05-19 sebmarchand [gn build] Add a flag zlib_path to provide the path to zlib on Windows. 2020-05-11 lei [PowerPC][NFC] Cleanup load/store spilling code 2020-05-19 spatel [PGOProfile] make test less brittle; NFC 2020-05-19 tlively [WebAssembly] Fix bug in custom shuffle combine 2020-05-19 tlively [WebAssembly] Implement i64x2.mul and remove i8x16.mul 2020-05-19 jezng [lld-macho][re-land] Support X86_64_RELOC_UNSIGNED 2020-05-19 jezng [lld-macho][re-land] Support .subsections_via_symbols 2020-05-17 zbrid [llvm][docs] Add step by step git to GettingStarted 2020-05-19 spatel [PhaseOrdering] add tests for x86 horizontal math ops (PR41813); NFC 2020-05-19 spatel [PhaseOrdering] make different pass manager runs equivalent; NFC 2020-05-18 jay.foad [IR] Simplify BasicBlock::removePredecessor. NFCI. 2020-05-19 ctetreau [SVE] Add specialized getters to derived vector types 2020-05-19 jonas [lldb/Properties] Move OSPluginReportsAllThreads from Target to Process 2020-03-25 nikita.ppv [LVI] Don't require DominatorTree in LVI (NFC) 2020-05-19 hanchung [mlir][StandardToSPIRV] Fix signedness issue in bitwidth emulation. 2020-05-19 echristo Silence warnings around int/float conversions. 2020-05-19 jonas [lldb/Reproducers] Move connection logic into replay server (NFC) 2020-05-19 erich.keane Fix aux-target diagnostics for certain builtins 2020-05-19 craig.topper [StackColoring] When remapping alloca's move the To alloca if the From alloca is before it. 2020-05-19 mascasa Entropic: Boosting LibFuzzer Performance 2020-05-19 andrea.dibiagio [X86] Split masked integer vector stores into vXi32/vXi64 variants (PR45975). NFC Roll third_party/cppdap/ 9e313445b..c9187480d (2 commits) google/cppdap@9e31344...c918748 $ git log 9e313445b..c9187480d --date=short --no-merges --format='%ad %ae %s' 2020-05-26 bclayton Fix short reads in ContentReader::buffer() 2020-05-26 bclayton Fix `dap::Socket::read()` when `recv()` errors Roll third_party/dxc/ 36ecb4320..4f936272e (27 commits) microsoft/DirectXShaderCompiler@36ecb43...4f93627 $ git log 36ecb4320..4f936272e --date=short --no-merges --format='%ad %ae %s' 2020-06-01 python3kgae Only update decl when function has a body. (#2937) 2020-06-01 31109344+adam-yang Clean up dx.break even when dx.break function not present (#2936) 2020-05-30 python3kgae Fix crash when remove unused globals in rewriter and support remove types. (#2933) 2020-05-30 31109344+adam-yang Simplifying branches to reduce complexity of cfg. (#2931) 2020-05-29 texr Fix break in VS 2019 from warning C4063 (#2929) 2020-05-29 texr Support instruction counts in reflection (#2930) 2020-05-29 texr Reflection Fixes: SB layout in lib, 16 and 64 bit types, tbuffer, more (#2916) 2020-05-29 python3kgae Add DxilLoopDeletion to remove unused loops. (#2927) 2020-05-28 grroth Better post-CG error formats using custom diaginfo (#2925) 2020-05-27 ehsannas [spirv] Update SPIRV-Tools and SPIRV-Headers. (#2915) 2020-05-26 31109344+adam-yang Fixed broken debug info for "out" and "inout" args. (#2914) 2020-05-26 nico.may99 Change std::vector to llvm::SmallSetVector for speed boost in DCE::runOnFunction (#2911) 2020-05-24 31109344+adam-yang Fixed a bug where nops are not generated for memcpy's (#2909) 2020-05-23 31109344+adam-yang Fixed debugger jumping around. Got rid of preserve value. (#2893) 2020-05-22 python3kgae Check method when remove unused globals in rewriter. (#2906) 2020-05-22 texr Don't claim alignment above 4 for raw buffer due to base (#2905) 2020-05-21 python3kgae use path::native on filenames for dx.source.contents (#2902) 2020-05-21 hekotas Enable TAEF path specification via environment variable (#2778) (#2898) 2020-05-21 python3kgae Fix typo in analyzePointer. (#2904) 2020-05-21 grroth Handle null dominator tree in memcpy replace (#2901) 2020-05-21 ehsannas [spirv] Update the SPIR-V codegen for HLSL discard. (#2895) 2020-05-20 texr Allow SV_CullPrimitive on PS input, resolve to false (#2900) 2020-05-20 grroth Add iostream header to files using hex (#2897) 2020-05-20 texr Fix assert from LookupVectorMemberExprForHLSL calling Matrix function (#2899) 2020-05-19 hekotas Update version to 1.5.2005 (#2894) 2020-05-19 31109344+adam-yang Dndxc now annotates line number and debug vars (#2892) 2020-05-19 ehsannas [spirv] Improve codegen for NonUniform (#2884) Roll third_party/glslang/ 0ab78114a..78a3c915a (20 commits) KhronosGroup/glslang@0ab7811...78a3c91 $ git log 0ab78114a..78a3c915a --date=short --no-merges --format='%ad %ae %s' 2020-06-02 rdb HLSL: Add better diagnostic when using in/out qualifiers in global scope (#2258) 2020-06-02 rdb HLSL: Recognize POSITION semantic et al in DX9 compatibility mode (#2255) 2020-06-02 rdb HLSL: fix handling of uniform qualifier in entry point parameters (#2254) 2020-06-01 40001162+alelenv Add default descriptorset decoration for acceleration structure (#2257) 2020-06-01 cepheus Update news for header location change and recommendation. 2020-06-02 dj2 Remove install to the SPIRV/ folder. (#2256) 2020-05-28 40001162+alelenv EXT_ray_tracing requires spv1.4 (#2237) 2020-05-28 shuizhuyuanluo fix warning unused parameter in release build (#2251) 2020-05-27 greg Fix missing patch decoration for TessFactor PCF arg (#2249) 2020-05-27 greg Update SPIRV-Tools to stable. Also SPIRV-Headers to TOT. (#2250) 2020-05-25 alanbaker Update spirv tools (#2246) 2020-05-21 dneto Reorder member init to match decl order (#2241) 2020-05-21 40001162+alelenv Add support for primitive culling layout qualifier. (#2220) 2020-05-21 rharrison Replace incorrect uint32_t with correct int vars (#2235) 2020-05-21 shuizhuyuanluo Do not build glslang-testsuite when ENABLE_CTEST is disabled (#2240) 2020-05-21 mbechard fix incorrect error when multiple compilation units don't declare layouts (#2238) 2020-05-21 shuizhuyuanluo Add an option to make Exceptions enabled (#2239) 2020-05-20 cepheus Fix #2227, which was coded incorrectly, to be simpler/safer. 2020-05-19 cepheus Build: Fix #2228, by correcting the type used. 2020-05-20 lryer Code refine. (#2227) Roll third_party/googletest/ 011959aaf..859bfe898 (18 commits) google/googletest@011959a...859bfe8 $ git log 011959aaf..859bfe898 --date=short --no-merges --format='%ad %ae %s' 2020-05-28 dmauro Googletest export 2020-05-28 dmauro Googletest export 2020-05-27 absl-team Googletest export 2020-05-27 dmauro Googletest export 2020-05-19 absl-team Googletest export 2020-05-18 absl-team Googletest export 2020-05-18 durandal Googletest export 2020-05-18 absl-team Googletest export 2020-05-14 absl-team Googletest export 2020-05-25 invalid_ms_user Use count function instead of handwritten loop 2020-05-10 mate.pek README.dm: Renamed related open source project name: Catch2 and Google Test Explorer -> C++ TestMate 2020-03-26 mvoorsluys Fix test with stack. 2020-03-26 mvoorsluys Fixed xml unit-tests and added extra tests 2020-03-26 mvoorsluys Fix multiple \n characters in xml file when using GTEST_SKIP. 2020-03-26 mvoorsluys Only write ">\n" once when there is failure and skipped tests. 2020-03-26 mvoorsluys Output skipped information in the xml file. 2020-02-06 59134746+aribibek fix a link to documentation 2020-01-17 hgsilverman Fix always false condition and clean function body Roll third_party/lodepng/ e34ac0455..486d165ed (3 commits) lvandeve/lodepng@e34ac04...486d165 $ git log e34ac0455..486d165ed --date=short --no-merges --format='%ad %ae %s' 2020-05-19 NgaiShunChan fix typo 2020-05-04 ngaishunchan fix code style 2020-04-29 ngaishunchan fix crash when preProcessScanlines allocs failed Roll third_party/shaderc/ 00ac5d821..d8eca133b (5 commits) google/shaderc@00ac5d8...d8eca13 $ git log 00ac5d821..d8eca133b --date=short --no-merges --format='%ad %ae %s' 2020-06-01 rharrison Rolling 5 dependencies (#1078) 2020-06-01 bryan.bernhart Support forcing storage buffers to be always declared as UAV. (#1076) 2020-06-01 rharrison Roll third_party/spirv-cross/ 61cddd630..d385bf096 (4 commits) (#1077) 2020-05-26 rharrison Rolling 4 dependencies and expectations (#1074) 2020-05-21 rharrison Rolling 6 dependencies and update expectations (#1073) Roll third_party/spirv-headers/ c0df742ec..11d7637e7 (8 commits) KhronosGroup/SPIRV-Headers@c0df742...11d7637 $ git log c0df742ec..11d7637e7 --date=short --no-merges --format='%ad %ae %s' 2020-06-01 dneto spir-v.xml: Use plain ASCII quotes in comment 2020-05-29 cepheus Rebuild headers against the previous grammar commit. 2020-05-29 dmitry.sidorov Apply suggestions 2020-04-05 dmitry.sidorov Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator 2020-05-29 cepheus Header build from previous grammar update. 2020-05-25 michael.kinsner Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield. 2020-05-20 dneto Update example to use unified1 headers 2020-04-05 dmitry.sidorov Add SPV_INTEL_function_pointers preview extension Roll third_party/spirv-tools/ 18ba3d9a3..f050cca7e (18 commits) KhronosGroup/SPIRV-Tools@18ba3d9...f050cca $ git log 18ba3d9a3..f050cca7e --date=short --no-merges --format='%ad %ae %s' 2020-05-29 andreperezmaselco.developer spirv-fuzz: Add push id through variable transformation (#3359) 2020-05-27 rharrison Rolling 4 dependencies (#3380) 2020-05-27 stevenperron Start SPIRV-Tools v2020.4 2020-05-27 stevenperron Finalize SPIRV-Tools v2020.3 2020-05-27 stevenperron Update CHANGES 2020-05-26 andreperezmaselco.developer spirv-fuzz: Support bit width argument for int and float types (#3378) 2020-05-26 andreperezmaselco.developer Fix function use (#3372) 2020-05-25 jaebaek spirv-val: allow DebugInfoNone for DebugTypeComposite.Size (#3374) 2020-05-25 47594367+rg3igalia Add validation support for ImageGatherBiasLodAMD (#3363) 2020-05-21 38433336+AnastasiaStulova Fix validation failure on OpDecorationGroup (#3365) 2020-05-21 greg Remove deprecated interfaces from instrument passes (#3361) 2020-05-21 jaebaek Preserve debug info in inline pass (#3349) 2020-05-21 dnovillo Reject folding comparisons with unfoldable types. (#3370) 2020-05-21 paulthomson Improve build instructions for fuzzer (#3364) 2020-05-20 stevenperron Add unrolling to performance passes (#3082) 2020-05-20 jaebaek Handle OpConstantNull in ssa-rewrite (#3362) 2020-05-19 rharrison Add in a bunch of missed files to the BUILD.gn (#3360) 2020-05-19 rharrison Remove stale entries from BUILD.gn (#3358) Roll third_party/swiftshader/ b6e8c3f0f..11dd7183c (10 commits) https://swiftshader.googlesource.com/SwiftShader.git/+log/b6e8c3f0f483..11dd7183c4d2 $ git log b6e8c3f0f..11dd7183c --date=short --no-merges --format='%ad %ae %s' 2020-05-25 capn Remove generation of OpenCLDebugInfo100.h 2020-06-01 capn Fix deallocation of uninitialized pointer 2020-05-28 capn Don't inline rr::Variable methods 2020-05-26 bclayton Squashed 'third_party/SPIRV-Tools/' changes from fd773eb50d6..55af3902fc2 2020-05-25 capn Document helper invocations being considered active 2020-05-14 capn Move the Reactor 'Sample' unit test back to the top 2020-05-13 capn Unconditionally define the RValue copy constructor 2020-05-13 capn Call non-template base methods through 'this' pointer 2020-05-13 capn Eliminate the array size from rr::Variable 2020-05-19 amaiorano LLVMReactor: set alignment when allocating stack variables Roll third_party/vulkan-headers/ 09531f279..db1a98c6c (1 commit) KhronosGroup/Vulkan-Headers@09531f2...db1a98c $ git log 09531f279..db1a98c6c --date=short --no-merges --format='%ad %ae %s' 2020-06-01 oddhack Update for Vulkan-Docs 1.2.142 Roll third_party/vulkan-loader/ 3e390a159..006586926 (2 commits) KhronosGroup/Vulkan-Loader@3e390a1...0065869 $ git log 3e390a159..006586926 --date=short --no-merges --format='%ad %ae %s' 2020-05-25 shannon Build: Update known-good files for 1.2.141 header 2019-10-28 charles loader: add per-application override layer settings Roll third_party/vulkan-validationlayers/ 67eac5116..515b4041c (51 commits) KhronosGroup/Vulkan-ValidationLayers@67eac51...515b404 $ git log 67eac5116..515b4041c --date=short --no-merges --format='%ad %ae %s' 2020-06-01 mark chassis: Address non-const refs 2020-05-24 mark chassis: Properly use vk_safe_struct.cpp without including it 2020-05-22 mark chassis: Factor out some common parsing functions 2020-05-29 mark chassis: Load default callbacks earlier in CreateInstance 2020-05-28 s.fricke tests: Add extra VK_EXT_sample_location test 2020-05-28 s.fricke layers: Fix VK_EXT_sample_locations bug 2020-05-28 mark tests: Added test for VUID-VkFBCreateInfo-pAttachments-00891 2020-05-28 mark corechecks: Add FB check for depth-stencil 3D image/imageviews 2020-05-28 s.fricke tests: Add VUID 02840 2020-05-27 s.fricke layers: Add VUID 02840 2020-05-29 mark layers: Clean up some variable name formatting issues 2020-05-26 souravp tests: Implement test for raytracing VUIDs 2020-05-26 souravp layers: Raytracing VUIDs 2020-05-28 shannon build: Update known-good file for 1.2.141 SDK 2020-05-24 s.fricke layers: Label BindBuffer2 VUIDs 2020-05-25 shannon build: Update known-good files for 1.2.141 header 2020-05-24 s.fricke layers: Label 01720 and 01721 2020-05-26 s.fricke layers: Remove CB device tracking 2020-05-26 tony layers: Temp removal of check for border color feature 2020-05-24 s.fricke layers: Label BindMemory2 VUIDs 2020-05-26 ynovikov layers: Fix crash in ValidationStateTracker::PreCallRecordDestroySampler 2020-05-24 s.fricke tests: Add FindSupportedDepthStencilFormat check 2020-05-21 s.fricke layers: Fix False Positive AHB BindBuffer 2020-05-21 mark tests: Add tests cases for CreateInstance status messages 2020-05-19 mark tests: Add tests for the layer message filter 2020-05-19 mark tests: Generalize SetEnvVar for use in any test case 2020-05-19 mark layers: Update layer settings file for message filtering 2020-05-19 mark layers: Enable filtering of VUIDs from layer output 2020-05-15 mark chassis: Add processing for msg id filtering 2020-05-15 mark chassis: Output status message at CreateInstance-time 2020-05-21 mark tests: Avoid deprecated ext test false positive 2020-05-15 mark chassis: Switch enables/disables from struct to array 2020-05-22 mark corechecks: Fix typo in SubpassDescription error msg 2020-05-19 tony tests: Re-enable gpu-av ray tracing test 2020-05-20 tony gpu: Fix ray tracing scratch buffer creation 2020-05-20 s.fricke layers: Label 02498 and 02824 2020-05-20 s.fricke tests: Add samplerAnisotropy check 2020-05-21 jeremy tests: Test transform feedback VUIDs 2020-05-21 jeremy layers: Add transform feedback VUIDs 2020-05-18 tony tests: Test for query reset/begin in different cmdbufs 2020-05-18 tony layers: Fix queries false positives 2020-05-15 s.fricke tests: Add VUID 01431 2020-05-15 s.fricke layers: Add VUID 01431 2020-05-16 s.fricke layers: Fix bug for multiple compute pipelines 2020-05-16 s.fricke layers: Add index to pipeline log messages 2020-05-19 s.fricke tests: Add VK_EXT_pipeline_creation_cache_control 2020-05-16 s.fricke layers: Add VK_EXT_pipeline_creation_cache_control 2020-05-19 s.fricke tests: Remove duplicate feature being set 2020-05-16 s.fricke layers: Add VUID 01207 2020-05-16 s.fricke layers: Add VUID 00926 2020-05-15 s.fricke layers: Add VUID 00764 Created with: roll-dep third_party/clspv third_party/clspv-llvm third_party/cppdap third_party/dxc third_party/glslang third_party/googletest third_party/json third_party/lodepng third_party/shaderc third_party/spirv-headers third_party/spirv-tools third_party/swiftshader third_party/vulkan-headers third_party/vulkan-loader third_party/vulkan-validationlayers * suppress old style cast * Rolling 5 dependencies Roll third_party/clspv-llvm/ 8506877c8..9244be7b0 (31 commits) llvm/llvm-project@8506877...9244be7 $ git log 8506877c8..9244be7b0 --date=short --no-merges --format='%ad %ae %s' 2020-06-02 david.stuttard [TableGen] Avoid generating switch with just default 2020-05-29 a.bataev Fix compiler crash when an expression parsed in the tentative parsing and must be claimed in the another evaluation context. 2020-06-02 diego.caballero Update 'git push' command in GettingStarted guide 2020-06-02 maskray [Sema] Use isAlwaysUninit for -Wuninitialized-const-reference after D79895 2020-06-02 jonas [llvm-dwarfdump] Print [=<offset>] after --debug-* options in help output. 2020-06-02 Matthew.Arsenault AMDGPU: Fix a test to be more stable 2020-06-02 Matthew.Arsenault AMDGPU: Don't run indexing mode switches with exec = 0 2020-06-01 Matthew.Arsenault AMDGPU: Don't run mode switches with exec 0 2020-06-02 jpienaar [mlir] Provide defaults to make enabling dumping simpler 2020-05-26 yamauchi [PGO] Enable memcmp/bcmp size value profiling. 2020-06-02 spatel [InstCombine] add tests for select-of-select-shuffle; NFC 2020-06-02 spatel [InstCombine] regenerate complete test checks; NFC 2020-06-02 kkleine [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 zequanwu [Clang] Add a new warning to warn when passing uninitialized variables as const reference parameters to a function 2020-05-26 minyihh Support ExtVectorType conditional operator 2020-06-02 pavel [lldb] Skip tests exercising DW_OP_GNU_entry_value with dsymutil 2020-06-02 ldionne [libc++abi] Make sure we link in CrashReporterClient.a when it's present 2020-06-02 llvm-dev TypeSymbolEmitter.h - reduce includes to forward declarations. NFC. 2020-05-29 david.truby [flang] Fix release build flags. 2020-06-02 Tom.Weaver [Dexter] Add DexLimitSteps command and ConditionalController 2020-06-02 Tom.Weaver [Dexter] Add os.path.normcase(...) transform to test path early. 2020-06-02 gribozavr Reinstate the syntax tree test for 'static' in an array subscript 2020-05-19 a.bataev [OPENMP50]Initial codegen for 'affinity' clauses. 2020-06-02 gribozavr Renamed Lang_C to Lang_C99, Lang_CXX to Lang_CXX03, and 2a to 20 2020-05-26 grimar [yaml2obj] - Allocate the file space for SHT_NOBITS sections in some cases. 2020-05-27 sguelton Use Pseudo Instruction to carry stack probing information 2020-05-28 hokein.wu [AST][RecoveryExpr] Build RecoveryExpr for "undef_var" cases. 2020-05-30 Matthew.Arsenault AMDGPU: Fix not using scalar loads for global reads in shaders 2020-06-02 hokein.wu Remove a comment-out llvm::errs debugging code, NFC. 2020-06-02 kadircet [lldb] Handle a new clang built-in type 2020-06-01 Matthew.Arsenault AMDGPU: Fix clang side null pointer value for private Roll third_party/cppdap/ c9187480d..cc93ba974 (1 commit) google/cppdap@c918748...cc93ba9 $ git log c9187480d..cc93ba974 --date=short --no-merges --format='%ad %ae %s' 2020-06-02 bclayton Add the ability to derive message types from one another. Roll third_party/dxc/ 4f936272e..b7626e97e (1 commit) microsoft/DirectXShaderCompiler@4f93627...b7626e9 $ git log 4f936272e..b7626e97e --date=short --no-merges --format='%ad %ae %s' 2020-06-02 31109344+adam-yang Fixed crash in dbgvalue to dbgdeclare from empty struct members, inout args and inout array args (#2762) Roll third_party/spirv-tools/ f050cca7e..636f449e1 (1 commit) KhronosGroup/SPIRV-Tools@f050cca...636f449 $ git log f050cca7e..636f449e1 --date=short --no-merges --format='%ad %ae %s' 2020-06-02 jaebaek Add tests for merge-return debug info preservation (#3389) Roll third_party/swiftshader/ 11dd7183c..b0c00e8dd (11 commits) https://swiftshader.googlesource.com/SwiftShader.git/+log/11dd7183c4d2..b0c00e8dd6d4 $ git log 11dd7183c..b0c00e8dd --date=short --no-merges --format='%ad %ae %s' 2020-05-31 caio.oliveira Update VkStringify for VK_EXT_subgroup_size_control 2020-05-31 caio.oliveira Update Vulkan headers to version 1.2.141 2020-06-01 bclayton SpirvShaderDebugger: Implement Array types 2020-05-27 bclayton SpirvShaderDebugger: Replace 'builtins' / 'root' with a global scope 2020-05-27 bclayton SpirvShaderDebugger: Silence release only warning 2020-05-27 bclayton SpirvShaderDebugger: Handle None sizes for composite types 2020-05-27 bclayton SpirvShaderDebugger: Handle template types 2020-05-27 bclayton SpirvShaderDebugger: Don't display SSAs for array types 2020-05-27 bclayton SpirvShaderDebugger: Don't display SSA values with DebugInfo 2020-05-25 capn Make ManagedStatic registration thread-safe 2020-06-02 capn Regres: Test changes from external contributors if reviewed by Googler Created with: roll-dep third_party/clspv third_party/clspv-llvm third_party/cppdap third_party/dxc third_party/glslang third_party/googletest third_party/json third_party/lodepng third_party/shaderc third_party/spirv-headers third_party/spirv-tools third_party/swiftshader third_party/vulkan-headers third_party/vulkan-loader third_party/vulkan-validationlayers * Rolling 2 dependencies Roll third_party/clspv/ 616ffa280..227e97857 (2 commits) google/clspv@616ffa2...227e978 $ git log 616ffa280..227e97857 --date=short --no-merges --format='%ad %ae %s' 2020-06-02 alanbaker Disable PRE in GVN (#596) 2020-06-02 alanbaker Update LLVM (#599) Roll third_party/clspv-llvm/ 9244be7b0..b836ae24a (1 commit) llvm/llvm-project@9244be7...b836ae2 $ git log 9244be7b0..b836ae24a --date=short --no-merges --format='%ad %ae %s' 2020-06-02 paulatoth [libc] Add integration tests. Created with: roll-dep third_party/clspv third_party/clspv-llvm third_party/cppdap third_party/dxc third_party/glslang third_party/googletest third_party/json third_party/lodepng third_party/shaderc third_party/spirv-headers third_party/spirv-tools third_party/swiftshader third_party/vulkan-headers third_party/vulkan-loader third_party/vulkan-validationlayers
fixes #21
fixes #573
fixes #575