10152 Commits

Author SHA1 Message Date
Yunchao He
a5d54d7091 Add end2end tests for texture subresource
The tests can pass on Metal and OpenGL backend as expected.
But they can't pass on D3D12 and Vulkan backend. I will work
on that soon.

Bug: dawn:157

Change-Id: I4fcf229f7a24369004d5594a3801f0acad804fd0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21341
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-16 00:34:57 +00:00
Austin Eng
40dc5d3f21 Cleanup: Remove unnecessary TestSetUp overload
Bug: dawn:396
Change-Id: I9d12fb983ea3ef3a01b569caff453a441ab86c70
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21700
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-05-15 22:06:35 +00:00
Austin Eng
da722adec9 Run dawn_end2end_tests on all available system adapters
By default, the tests will run on all available adapters, so this
adds an --exclusive-device-type-preference flag which takes a list
of comma-delimited device type preferences (discrete,integrated,cpu).
Tests will run only on the first available device type.
This is useful because in Chromium's test infrastructure, the same
test arguments are passed to one machine on which we want to use the
discrete GPU, as well as one machine where we want to use the
integrated GPU.

Bug: dawn:396
Change-Id: Id936fff3356eef3c6d12dfd1407b0e1f0f020dc1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21202
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-05-15 20:28:05 +00:00
Austin Eng
89beb5fb8c Remove experimental Dawn DEPS CQ bots
These were experimental while we did not have the CTS running on
Dawn's CQ. We can remove them now.

Tbr=cwallez@chromium.org
Bug: dawn:396
Change-Id: I1d459b190e44374e54c47a8bc4ad37a70426847b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21800
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-15 17:43:02 +00:00
Austin Eng
25c747cf08 DawnTest: Gather adapters on environment creation for filtering backends
This moves the creation of the Instance and Adapter discover to
environment creation. It allows programatically filtering test
parameterizations based on what is available on the system instead of
relying on what is enabled at compile time.

Because of an issue with the Vulkan validation layers, the instance and
adapters are created twice. Once in environment creation, and once on
environment set up. The Vulkan validation layers use static global
mutexes which are unsafe when Chromium's test launcher forks the
launcher process between environment creation and SetUp.

Bug: dawn:396
Change-Id: Id79f0d274331e4ba95f75b2ca4e896ad0f7a31a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21762
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-05-15 16:07:12 +00:00
Austin Eng
5133221139 DawnTest: Factor Instance creation, Adapter discovery, and config logging
Bug: dawn:396
Change-Id: Idae3f388cf001e97c7fb4c84c50bca6825a2020b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21761
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-15 16:04:32 +00:00
Jiawei Shao
0b8e319407 Add tests to verify storage textures are initialized before being used
This patch adds dawn_end2end_tests to verify any textures whose first
use is being used as read-only or write-only storage texture have been
cleared to 0.

BUG=dawn:267
TEST=dawn_end2end_tests

Change-Id: I26a1b6b46ba8fc87c6599870771192262ce07d83
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21740
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-05-15 03:24:41 +00:00
David Neto
9f7297c766 [spirv-reader] Unordered float compares
Unordered float compares are not supported directly by WGSL.
Translate them as negated ordered compares.

Bug: tint:3
Change-Id: I4fea7c924054cffc9a39a8be3b3d9f088d302114
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21540
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-05-14 21:43:27 +00:00
Bryan Bernhart
1888ae7857 D3D12: Enable GPU-based validation
Enables GBV by default when the backend validation layers are enabled.
This feature is particularly useful for catching mistakes in shaders
that otherwise pass when only using the debug layer.

BUG=dawn:363

Change-Id: I7b730ce8e43069dc3150e7a5857a0977b3147390
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21701
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-14 17:38:57 +00:00
Austin Eng
983211974b Reland "Support depth32float sampling on D3D12"
This is a reland of 071fe56ffe734ac04ebdfe168b27a59917f20490

It creates textures as TYPELESS if they may need reinterpretation
of the bit layout. Right now only sampled Depth32Float needs this
so it is special-cased.

Original change's description:
> Support depth32float sampling on D3D12
>
> Bug: dawn:367
> Change-Id: I026e718130cbd92427c6292045fd041c878d4f77
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20840
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Stephen White <senorblanco@chromium.org>

Bug: dawn:367
Change-Id: I8b0ad465915c4476099fc1097e0cd02b23bd21b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21640
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-14 17:24:36 +00:00
Ryan Harrison
4484fe128d Add include path to public config for BUILD.gn
Needed for Dawn integration

Change-Id: I0d9958b583b26afdbd258e34a7dd1fdf788f3eeb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21720
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-05-14 14:47:51 +00:00
Austin Eng
75ef5963b4 Append the stack trace to the error message
This makes it much easier to understand where errors come from.

Bug: none
Change-Id: I345164177e6258a32bdc37d233bc5df8bba13132
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21660
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-13 23:10:36 +00:00
Corentin Wallez
ecabfe8a78 Remove wgpu::BufferCopyView::rowPitch/imageHeight
They were deprecated in favor of bytesPerRow and rowsPerImage.

Bug: dawn:22
Change-Id: I5bd3262ee8ba2f891d01f6b8a3f5df86f7596686
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21684
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-13 17:26:05 +00:00
Corentin Wallez
2eca22f6d7 Remove ShaderModule::code/codeSize
It was deprecated in favor of chaining a
wgpu::ShaderModuleSPIRVDescriptor.

Bug: dawn:22
Change-Id: I210cd7c21c33c6ca8dd286ea64389b774a4355e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21683
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-13 17:23:35 +00:00
Corentin Wallez
437655216e Remove wgpu::Device::CreateQueue
It was deprecated in favor of wgpu::Device::GetDefaultQueue.

Bug: dawn:22
Change-Id: I28d7e616b2beb7de8eed3a3df501eb97a6475928
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21682
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-13 17:21:55 +00:00
Corentin Wallez
b761fe1346 Remove wgpu::BindGroupLayoutEntry::textureDimension
It was deprecated in favor of viewDimension.

Bug: dawn:22
Change-Id: I8016d7440d98cc69acd1b48cb76f7ae1c1353896
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21681
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-13 17:13:35 +00:00
Corentin Wallez
84ae2bfe3b Remove deprecated "Binding" types and members
This removes the following types and members as well as fixup code
and depraction tests for them:

 - wgpu::BindGroupLayoutBinding
 - wgpu::BindGroupLayoutDescriptor::bindingCount
 - wgpu::BindGroupLayoutDescriptor::bindings
 - wgpu::BindGroupBinding
 - wgpu::BindGroupDescriptor::bindingCount
 - wgpu::BindGroupDescriptor::bindings

Bug: dawn:22
Change-Id: Ifc0e25107f3dcfbb850624cb362909f38c90bec2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21680
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-05-13 17:05:55 +00:00
Felix Maier
20ed6f42b3 D3D12: Add a toggle to use DXC for HLSL compilation
This patch adds the following:
 - UseDXC toggle
 - Loads DXC (and DXIL to sign the DXBC) in d3d12/PlatformFunctions
 - Adds GetModuleDirectory to SystemUtils

GetModuleDirectory was added to prevent loading issues regarding dynamic libraries when the executable is not in the same path as the dawn module.

This patch doesn't add DXC to RenderPipelineD3D12 nor ComputePipelineD3D12.

Bug: dawn:402
Change-Id: I2b8e4a2b7df31b9c766c748f92e11050c0aec3a0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21420
Commit-Queue: Felix Maier <xilefmai@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-13 16:57:55 +00:00
Corentin Wallez
60bb88d23c Fix remaining -pedantic warnings.
Wgnu-zero-variadic-macro-arguments is fixed by:

 - A previous googletest roll fixing the warning in gmock.
 - Adding a dummy argument to AddTraceEvent so that the __VA_ARGS__ is
never empty in TraceEvent.h and doesn't require __VA_ARGS__ token
pasting with a comma.
 - Extracting the first parameter in DAWN_INSTANTIATE_TEST with some
preprocessor tricks instead of singling it out, to avoid __VA_ARGS__
token pasting with a comma.

Wmicrosoft-enum-value is fixed by a previous spirv-cross roll that fixes
the warning upstream.

Bug: dawn:394
Change-Id: Icfe037ae9549087e9d62b6f42f91958addbb53ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21483
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-05-13 08:01:55 +00:00
Jiawei Shao
f4df7916ca Add validation on the buffer-to-buffer copies within same buffer
This patch adds the validation on the buffer-to-buffer copies within the
same buffer. When the source and destination buffer are the same one in
CopyBufferToBuffer(), the copy region cannot overlap or it will cause
undefined behaviors on Metal and Vulkan.

BUG=dawn:17
TEST=dawn_unittests, dawn_end2end_tests

Change-Id: I63ab790787ec0a973ae22787a9348bddfb6a5373
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21602
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-05-13 00:17:15 +00:00
Austin Eng
fce44b5fe1 Sort same-type bindings in the BGL by binding number
This fixes a bug where dynamic offsets were applied to the wrong bindings.
Dynamic offsets are applied in increasing order of binding number.

Bug: dawn:408
Change-Id: I3de6ee1bfd6e00239ddc46f820c3f81ba82815cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21620
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-12 20:32:45 +00:00
Corentin Wallez
b6eeee0aa3 Vulkan: Fix ResourceHeap leak for direct-allocated resources.
Bug: chromium:1081051
Change-Id: I1f68ebf21033fb9cf925b5cbc3915667b61290fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21460
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-05-12 17:44:23 +00:00
Ryan Harrison
4fa5ad4bf0 Rolling 5 dependencies and fix test slow down
Roll third_party/SPIRV-Tools/ 2e1d208ed..c8590c18b (2 commits)

2e1d208ed9..c8590c18bd

$ git log 2e1d208ed..c8590c18b --date=short --no-merges --format='%ad %ae %s'
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)

Roll third_party/glslang/ b5f003d7a..4fa68edd6 (3 commits)

b5f003d7a3..4fa68edd68

$ git log b5f003d7a..4fa68edd6 --date=short --no-merges --format='%ad %ae %s'
2020-05-12 cepheus Address #2211: Improve the copy constructor of TVarLivePair.
2020-05-11 xilefmai Fix Web build
2020-05-08 sebastian.neubauer Explicitly mark some enums as unsigned

Roll third_party/shaderc/ 15a66d72f..00ac5d821 (4 commits)

15a66d72f3..00ac5d8217

$ git log 15a66d72f..00ac5d821 --date=short --no-merges --format='%ad %ae %s'
2020-05-11 rharrison Rolling 4 dependencies (#1062)
2020-05-11 chinmaygarde Only add -fPIC if supported by the compiler. (#1061)
2020-05-06 rharrison Remove Singleton pattern around access to glslang (#1059)
2020-05-05 rharrison Add .NET bindings to README.md (#1060)

Roll third_party/spirv-cross/ 92f7d36c7..d638d2df9 (4 commits)

92f7d36c72..d638d2df9c

$ git log 92f7d36c7..d638d2df9 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 post Support gl_InstanceID in RT shaders.
2020-05-06 post MSL: Avoid packed arrays in more cases.
2020-05-06 post Add missing reference files from PR merge.
2020-05-06 lehoangq Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.

Roll third_party/tint/ 1f1f08f94..0bbf1e746 (6 commits)

https://dawn.googlesource.com/tint/+log/1f1f08f94a11..0bbf1e746093

$ git log 1f1f08f94..0bbf1e746 --date=short --no-merges --format='%ad %ae %s'
2020-05-11 rharrison Small fix for BUILD.gn
2020-05-08 dneto Rolling 6 dependencies
2020-05-07 dneto [spirv-reader] Find if-selection internal headers
2020-05-07 dneto [spirv-reader] Rename Edge::kToMerge to kIfBreak
2020-05-07 dneto [spirv-reader] Classify kSwitchBreak from deep in control flow
2020-05-07 dsinclair Rename brace and bracket to match spec

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers third_party/tint

Change-Id: I8d9ca3e29b4fa8907147fffacb3905acd48a9c0b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21603
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-05-12 17:26:42 +00:00
Austin Eng
02beecaec5 Fuzzer: Wait for all commands to complete before destroying the wire
Bug: chromium:1074739
Change-Id: I32591efe42559299234053f112a2f846d43612ab
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21366
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-11 20:55:22 +00:00
Austin Eng
a1800c04f3 Make fence descriptor optional
Bug: dawn:22
Change-Id: I5d14aa8e12899eb577d7c50081a6ee6f7ec248a0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21365
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-11 20:29:22 +00:00
Corentin Wallez
a6cf7b5b1d Make error scope shutdown iterative instead of recursive.
This avoids a stack overflow when many error scopes are pushed on device
shutdown. It also changes the error scopes to return a Unknown error
type on shutdown instead of NoError.

A regression test is added.

Bug: chromium:1078438
Bug: chromium:1081063
Change-Id: Ibfab8dd19480414c1854ec2bd4928939663ba698
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21440
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-11 20:26:12 +00:00
Yunchao He
c2542cde3e Fix a bug for multi-writes in ResourceUsageTrackingTests.cpp
It is valid to have race condition for multiple writes on the same
resource in some situations in render pass. These situations are:
1) multple storage buffer bindings on the same buffer,
2) multiple writeonly storage texture bindings on the same texture.

This change fixed a bug in tests and added a new test, in order to
make sure that validation code in Dawn allows this kind race condition.

Bug: dawn:407

Change-Id: I42332418bea5b6e608f6730e42f60c1c12b0b025
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21361
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2020-05-11 19:12:12 +00:00
Ryan Harrison
5ffded3956 Revert "Rolling 4 dependencies"
This reverts commit 4084c94c4330fd926a13fc6e99e921132b6fbe06.

Reason for revert: Performance issue, this is causing tests that took mS to run to now take seconds.

Original change's description:
> Rolling 4 dependencies
> 
> Roll third_party/SPIRV-Tools/ 2e1d208ed..c8590c18b (2 commits)
> 
> 2e1d208ed9..c8590c18bd
> 
> $ git log 2e1d208ed..c8590c18b --date=short --no-merges --format='%ad %ae %s'
> 2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
> 2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)
> 
> Roll third_party/shaderc/ 15a66d72f..6b4f6313e (3 commits)
> 
> 15a66d72f3..6b4f6313ed
> 
> $ git log 15a66d72f..6b4f6313e --date=short --no-merges --format='%ad %ae %s'
> 2020-05-11 chinmaygarde Only add -fPIC if supported by the compiler. (#1061)
> 2020-05-06 rharrison Remove Singleton pattern around access to glslang (#1059)
> 2020-05-05 rharrison Add .NET bindings to README.md (#1060)
> 
> Roll third_party/spirv-cross/ 92f7d36c7..d638d2df9 (4 commits)
> 
> 92f7d36c72..d638d2df9c
> 
> $ git log 92f7d36c7..d638d2df9 --date=short --no-merges --format='%ad %ae %s'
> 2020-05-08 post Support gl_InstanceID in RT shaders.
> 2020-05-06 post MSL: Avoid packed arrays in more cases.
> 2020-05-06 post Add missing reference files from PR merge.
> 2020-05-06 lehoangq Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
> 
> Roll third_party/tint/ 1f1f08f94..0bbf1e746 (6 commits)
> 
> https://dawn.googlesource.com/tint/+log/1f1f08f94a11..0bbf1e746093
> 
> $ git log 1f1f08f94..0bbf1e746 --date=short --no-merges --format='%ad %ae %s'
> 2020-05-11 rharrison Small fix for BUILD.gn
> 2020-05-08 dneto Rolling 6 dependencies
> 2020-05-07 dneto [spirv-reader] Find if-selection internal headers
> 2020-05-07 dneto [spirv-reader] Rename Edge::kToMerge to kIfBreak
> 2020-05-07 dneto [spirv-reader] Classify kSwitchBreak from deep in control flow
> 2020-05-07 dsinclair Rename brace and bracket to match spec
> 
> Created with:
>   roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers third_party/tint
> 
> Change-Id: I7ad5ec308574599138a4297b8b4dd55c215bbf99
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21520
> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Ryan Harrison <rharrison@chromium.org>

TBR=cwallez@chromium.org,kainino@chromium.org,enga@chromium.org,rharrison@chromium.org

Change-Id: I8c06d2cefdbb6f60b75ee80687d956ebadeee51d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21600
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-05-11 19:02:53 +00:00
Corentin Wallez
bf009f50c5 Add a test for creating a 0-sized buffer.
This is valid in WebGPU but causes validation errors in backends.

Also make it an OOM error on Metal to request a buffer close to
UINT32_MAX size because it would truncate the size, and could lead to
OOBs.

Bug: chromium:1069076
Change-Id: Ib961cb236cb7cabc0ae21203bf1d72ba82a56272
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21060
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-05-11 18:55:52 +00:00
Bryan Bernhart
19b21c5b85 D3D12: Remove ComPtr from D3D12 objects when possible.
Returning COM for getters needlessly refcounts which wastes CPU cycles
in critial sections and floods PIX traces with [Add/Release]Ref.

BUG=dawn:212

Change-Id: Ifa853f2d5f78a450fdb7ffb9492f0d08dfbcdd37
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21364
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-11 16:47:21 +00:00
Ryan Harrison
4084c94c43 Rolling 4 dependencies
Roll third_party/SPIRV-Tools/ 2e1d208ed..c8590c18b (2 commits)

2e1d208ed9..c8590c18bd

$ git log 2e1d208ed..c8590c18b --date=short --no-merges --format='%ad %ae %s'
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)

Roll third_party/shaderc/ 15a66d72f..6b4f6313e (3 commits)

15a66d72f3..6b4f6313ed

$ git log 15a66d72f..6b4f6313e --date=short --no-merges --format='%ad %ae %s'
2020-05-11 chinmaygarde Only add -fPIC if supported by the compiler. (#1061)
2020-05-06 rharrison Remove Singleton pattern around access to glslang (#1059)
2020-05-05 rharrison Add .NET bindings to README.md (#1060)

Roll third_party/spirv-cross/ 92f7d36c7..d638d2df9 (4 commits)

92f7d36c72..d638d2df9c

$ git log 92f7d36c7..d638d2df9 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 post Support gl_InstanceID in RT shaders.
2020-05-06 post MSL: Avoid packed arrays in more cases.
2020-05-06 post Add missing reference files from PR merge.
2020-05-06 lehoangq Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.

Roll third_party/tint/ 1f1f08f94..0bbf1e746 (6 commits)

https://dawn.googlesource.com/tint/+log/1f1f08f94a11..0bbf1e746093

$ git log 1f1f08f94..0bbf1e746 --date=short --no-merges --format='%ad %ae %s'
2020-05-11 rharrison Small fix for BUILD.gn
2020-05-08 dneto Rolling 6 dependencies
2020-05-07 dneto [spirv-reader] Find if-selection internal headers
2020-05-07 dneto [spirv-reader] Rename Edge::kToMerge to kIfBreak
2020-05-07 dneto [spirv-reader] Classify kSwitchBreak from deep in control flow
2020-05-07 dsinclair Rename brace and bracket to match spec

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers third_party/tint

Change-Id: I7ad5ec308574599138a4297b8b4dd55c215bbf99
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21520
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-05-11 16:09:21 +00:00
Ryan Harrison
0bbf1e7460 Small fix for BUILD.gn
Change-Id: I1a43eeebff6d952e76a7247754dc2a89694ab064
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21500
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-05-11 15:45:51 +00:00
Corentin Wallez
a02619dbf2 Roll third_party/googletest/ e3f0319d8..a09ea700d (27 commits)
e3f0319d89..a09ea700d3

$ git log e3f0319d8..a09ea700d --date=short --no-merges --format='%ad %ae %s'
2020-05-07 absl-team Googletest export
2020-05-04 absl-team Googletest export
2020-04-30 absl-team Googletest export
2020-04-28 absl-team Googletest export
2020-04-27 absl-team Googletest export
2020-04-24 absl-team Googletest export
2020-04-23 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-17 absl-team Googletest export
2020-05-01 56075233+keshavgbpecdelhi Removed a typo in README.md
2020-03-28 arthur.j.odwyer Add -Wdeprecated to the build configuration.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_.
2020-04-19 igor.n.nazarenko Enable protobuf printing for open-source proto messages.
2020-04-16 arthur.j.odwyer VariadicMatcher needs a non-defaulted move constructor for compile-time performance.
2020-04-10 absl-team Googletest export
2020-04-12 jbohl fix signed/unsigned comparison issue (on OpenBSD)
2020-04-09 malcolm.parsons Remove redundant .c_str()
2020-04-06 mail gtest-unittest-api_test - fix warning in clang build
2020-04-05 jijyunneng Remove duplicate codes existed in get-nprocessors.sh
2020-03-28 arthur.j.odwyer Replace the last instance of `throw()` with `noexcept`. NFC.
2020-03-28 arthur.j.odwyer Fix a typo in .travis.yml
2020-03-21 ngompa13 Ensure that gtest/gmock pkgconfig requirements specify version
2020-03-18 calum.robinson Add GTEST_BRIEF option

Created with:
  roll-dep third_party/googletest

Bug: dawn:394

Change-Id: I5084555477ab60c2cef8f45e9e7432dd81003cff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21480
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-05-11 15:37:11 +00:00
Austin Eng
562255a943 Load Swiftshader Vulkan separately from the system Vulkan
This enables both Swiftshader Vulkan and the system Vulkan drivers
to be discovered and used simultaneously.

Bug: dawn:396, dawn:283
Change-Id: I580ca26c12296fe13c0331c4faf6e7a4520664e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21041
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-05-08 19:31:00 +00:00
Austin Eng
818c6b7082 Validate that ShaderModuleDescriptor has chained descriptor
Bug: chromium:1074575
Change-Id: Ibb124ca8c4771d9b8f2846d3a5f79dca6de8743d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21360
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-08 18:05:19 +00:00
David Neto
3e025a4e74 Rolling 6 dependencies
Roll build/ ad38f3729..6f820da25 (71 commits)

ad38f37298..6f820da254

$ git log ad38f3729..6f820da25 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 thakis mac: Stop using -all_load.
2020-05-08 chromium-autoroll Roll Fuchsia SDK from 0.20200507.3.1 to 0.20200508.0.1
2020-05-08 hzjian Remove package name check in write_build_config.py
2020-05-08 chromium-autoroll Roll Fuchsia SDK from 0.20200507.2.1 to 0.20200507.3.1
2020-05-07 tcwang Disable -Wmax-tokens for Chrome OS
2020-05-07 cduvall Move system_webview_apk_target to declare_args()
2020-05-07 wnwen Android: Lint chrome_public_test_apk
2020-05-07 chromium-autoroll Roll Fuchsia SDK from 0.20200507.1.1 to 0.20200507.2.1
2020-05-07 agrieve Android: Use different outputs for turbine vs ijar
2020-05-07 agrieve Android: Use non-dummy multiprocessing in compile_resources.py
2020-05-07 chromium-autoroll Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200507.1.1
2020-05-07 bjoyce Remove jetifcation of resources.
2020-05-07 agrieve Android: Add .arsc resource filtering
2020-05-06 perrier Reland "[Android] add sr-Latn to locales.gni and resource packs"
2020-05-06 agrieve Stop building monochrome_public_apk on android-binary-size trybot
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-06 wnwen Android: Run lint only on nontest apks and bundles
2020-05-06 agrieve AndroidWebView: Add assert_no_deps for material_design
2020-05-06 agrieve generate_gradle.py: Use ninja from PATH
2020-05-06 wez Revert "Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200506.0.1"
2020-05-06 chromium-autoroll Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200506.0.1
2020-05-06 steveroe [fuchsia] Add test runner diagnostics for emulator exit status.
2020-05-06 chromium-autoroll Roll Fuchsia SDK from 0.20200505.2.1 to 0.20200505.3.1
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200505.1.1 to 0.20200505.2.1
2020-05-05 hypan emulator: Add textpb files for avd creation
2020-05-05 sebmarchand Enable PGO for all Win official builds
2020-05-05 hzjian Make crazy. library prefixing an explicit build setting
2020-05-05 spang [fuchsia] Add scenic to test manifest
2020-05-05 agrieve Android: Disable proguard mapping for incremental APKs in release
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200504.3.1 to 0.20200505.1.1
2020-05-05 cduvall Only add WebLayer translations package for bundles
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200504.2.1 to 0.20200504.3.1
2020-05-04 cduvall [WebLayer] Fix crash when other shared resource library is loaded
2020-05-04 sebmarchand Enable PGO for all Mac official builds
2020-05-04 cduvall Mark WebLayer specific resources as final in standalone WebView
2020-05-04 wez [fuchsia] Suppress [[[ELF ...]]] lines in symbolizer output.
2020-05-04 yuezhanggg Add strings for conditional tab strip
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200504.1.1 to 0.20200504.2.1
2020-05-04 thakis mac: Disable assert for using hermetic xcode for official builds.
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200503.3.1 to 0.20200504.1.1
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200503.2.1 to 0.20200503.3.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200503.1.1 to 0.20200503.2.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200503.0.1 to 0.20200503.1.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200501.3.3 to 0.20200503.0.1
2020-05-03 sebmarchand Revert "Automatically do a PGO build when setting the official bit on Win & Mac"
2020-05-02 thakis Reland "mac: Reorganize how SDK search paths are set when using hermetic Xcode."
2020-05-02 sebmarchand Automatically do a PGO build when setting the official bit on Win & Mac
2020-05-02 chromium-autoroll Roll Fuchsia SDK from 0.20200501.2.1 to 0.20200501.3.3
2020-05-01 bjoyce Add enable_jetify dummy step.
2020-05-01 mthiesse Allow test apks to run even when test server spawning fails
2020-05-01 adithyas Revert "mac: Reorganize how SDK search paths are set when using hermetic Xcode."
2020-05-01 thakis mac: Reorganize how SDK search paths are set when using hermetic Xcode.
2020-05-01 bpastene chromeos: Allow arbitrary env vars to be specified for device tests.
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200501.1.1 to 0.20200501.2.1
2020-05-01 mheikal Separate native libs expectation files by target_cpu
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200430.3.1 to 0.20200501.1.1
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200430.2.2 to 0.20200430.3.1
2020-05-01 mheikal Create separate targets for expectation checking
2020-04-30 wez [fuchsia] Cleanup unnecessary variables from Fuchsia's common.py.
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200430.1.1 to 0.20200430.2.2
2020-04-30 thomasanderson Keep symbols TOC files unsorted
2020-04-30 hzjian Add support for AndroidManifest check for downstream targets
2020-04-30 cduvall Fix WebView bundles not having translations in base modules
2020-04-30 agrieve Reland: Android: Use R8 for dex splitting
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200430.0.1 to 0.20200430.1.1
2020-04-30 mthiesse Remove slow (dead?) debug code in local_device_gtest_run.py
2020-04-30 nator [WebLayer] Actually filter components_chromium_strings.
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200429.3.1 to 0.20200430.0.1
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200429.2.1 to 0.20200429.3.1

Roll testing/ d7c3cca9b..46f9803f0 (70 commits)

d7c3cca9bc..46f9803f0c

$ git log d7c3cca9b..46f9803f0 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 donnd [TTS] Update the test config for 2 new experiments
2020-05-08 bpastene Increase shard count of browser_tests on Linux ChromiumOS MSan Tests.
2020-05-07 hypan Reland "android: Add AR test to android-10-arm64-rel builder"
2020-05-07 jonahr Run metal dEQP tests in a single process + launcher.
2020-05-07 bsheedy Support multiple expected device IDs
2020-05-07 grt Fix use of ConnectNamedPipe in FileUtilTest.ReadFileToStringWithNamedPipe.
2020-05-07 isamsonov Additional buildbot config for mac10.15-blink-rel
2020-05-07 bsheedy Run GPU Mac experimental on 10.15.4
2020-05-07 gangwu [Omnibox] Enable reducing Omnibox Clipboard suggestion age by default
2020-05-07 gbeaty Add a flag for the location of the LUCI configuration files.
2020-05-07 jeffyoon [pgo] Migrate isolate_coverage_data to isolate_profile_data
2020-05-07 mohsen Remove field trial config for DisableLatencyRecoveryDesktop
2020-05-07 gbeaty Avoid dumping output on success in generate_buildbot_json_unittest.
2020-05-07 chonggu [Fuchsia] Enable capture_unittests on Fuchsia CI bots.
2020-05-07 magchen Add GpuWatchdogV2NewTimeout to fieldtrial_testing_config
2020-05-06 ewannpv Adds EnablePersistentDownloads to Field Trial Testing Configuration
2020-05-06 bsheedy Switch experimental GPU Win Intel driver version
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-06 lindsayw [ios] Upgrade to target MacOS10.15 for iOS bots
2020-05-06 jonahr Enable metal-backend dEQP tests on the GPU waterfall
2020-05-06 jmadill Set angle_perftests batch limit on Android.
2020-05-06 chonggu [Fuchsia] Use headless ozone for Fuchsia ARM64 bots.
2020-05-06 wez [Fuchsia] Un-filter some URLRequestQuicTest.*CancelPush* tests.
2020-05-06 iopopesc Fixed several visual bugs for the eye dropper.
2020-05-06 bsheedy Run Telemetry minidump tests on Android
2020-05-06 xiaochengh Reland "Add field trial entry for FontPreloadingDelaysRendering"
2020-05-05 jeffyoon [pgo] removing the pgo test definitions in src
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"
2020-05-05 bsheedy Reland "Run telemetry_perf_unittests with Crashpad"
2020-05-05 zhaoyangli [iOS][code coverage] Config LLVM path when initing ChromeWebView.
2020-05-05 estaab Add test expectations for WebLayer skew tests.
2020-05-05 bpastene Disable ReloadMultipleSadTabs on storage-flavor of interactive_ui_tests.
2020-05-05 gbeaty Remove configuration for chromium.lkgr master.
2020-05-05 bpastene Add vaapi_unittests to CrOS VM testers.
2020-05-05 gangwu [Omnibox] Enable Omnibox clipboard suggestions removal by default
2020-05-05 collinbaker Update WebUITabStrip entry in fieldtrial_testing_config.json
2020-05-05 agable Remove redundant testing spec for mac-rel
2020-05-05 twellington Clean-up after bookmarks reordering launch
2020-05-05 engedy Revert "Run telemetry_perf_unittests with Crashpad"
2020-05-05 msisov ozone: tests: enable compositor_unittests on Ozone X11/Wayland Testers.
2020-05-05 grt Diagnose FileUtilTest.ReadFileToStringWithNamedPipe flakes.
2020-05-04 bsheedy Run telemetry_perf_unittests with Crashpad
2020-05-04 rdevlin.cronin [Extensions Menu] Add a fieldtrial_testing_config
2020-05-04 mheikal Check 64bit expectations on android-pie-arm64-rel
2020-05-04 rockot Move Storage Service tests to CQ; sandboxed to FYI
2020-05-04 behdadb Removed experimental tag from Perf tests on Windows
2020-05-04 msisov ozone/x11/wayland: enable content_browsertests
2020-05-04 jkim a11y: Include AXPlatformNodeBaseTest only with native accessibility
2020-05-02 jeffyoon [pgo] add sparse option for .profraw files in code coverage merge scripts
2020-05-02 chonggu [Fuchsia] Add more unittests to Fuchsia FYI Bot.
2020-05-02 liaoyuke Print profdata command to assist debugging
2020-05-02 xiaochengh Revert "Add field trial entry for FontPreloadingDelaysRendering"
2020-05-01 jeffyoon [pgo] sparse disable flag for code_coverage merge scripts
2020-05-01 rushans [Sync] Remove MergeBookmarksUsingGUIDs from field trial config.
2020-05-01 enga Run the WebGPU CTS with backend validation layers enabled
2020-05-01 manukh [omnibox] Add HQP midword features to fieldtrial_testing_config.json
2020-05-01 jeffyoon Revert "[code coverage/pgo] defaulting sparse to false"
2020-05-01 msisov xvfb: weston: Disable idle time out.
2020-05-01 jeffyoon [code coverage/pgo] defaulting sparse to false
2020-05-01 wenyufu [HomepagePromo] Add homepage promo controller
2020-05-01 hypan webrtc: Upgrade the K Nexus5 fyi builder to L due to k deprecation.
2020-04-30 yoangela [omnibox] Remove reference to physical web from fieldtrial_testing_config.json
2020-04-30 penghuang Add virtual/android tests from skiarenderer_(vulkan|gl)_blink_web_tests
2020-04-30 rsorokin cros: Fix LoginUtilsTest.RlzInitialized test
2020-04-30 mvanouwerkerk Enable Remote Copy and Unido On Signin v2 by default.
2020-04-30 zhaoyangli [iOS][code coverage] Add device types to iOS code coverage tests.
2020-04-29 fangzhoug Add SynchronousPageFlipTesting to field trial config
2020-04-29 jonahr Re-enable swangle passthrough webgl tests
2020-04-29 mamir Enable Pixel Test for the now Parameterised PasswordBubbleBrowserTest

Roll third_party/binutils/ f9ce77769..256677820 (3 commits)

f9ce777698..2566778206

$ git log f9ce77769..256677820 --date=short --no-merges --format='%ad %ae %s'
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"

Roll third_party/googletest/ dcc92d0ab..a09ea700d (20 commits)

dcc92d0ab6..a09ea700d3

$ git log dcc92d0ab..a09ea700d --date=short --no-merges --format='%ad %ae %s'
2020-05-07 absl-team Googletest export
2020-05-04 absl-team Googletest export
2020-04-30 absl-team Googletest export
2020-04-28 absl-team Googletest export
2020-04-27 absl-team Googletest export
2020-04-24 absl-team Googletest export
2020-04-23 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-17 absl-team Googletest export
2020-05-01 56075233+keshavgbpecdelhi Removed a typo in README.md
2020-03-28 arthur.j.odwyer Add -Wdeprecated to the build configuration.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_.
2020-04-19 igor.n.nazarenko Enable protobuf printing for open-source proto messages.
2020-04-16 arthur.j.odwyer VariadicMatcher needs a non-defaulted move constructor for compile-time performance.
2020-04-05 jijyunneng Remove duplicate codes existed in get-nprocessors.sh
2020-03-18 calum.robinson Add GTEST_BRIEF option

Roll third_party/spirv-tools/ 49ca250b4..c8590c18b (5 commits)

49ca250b44..c8590c18bd

$ git log 49ca250b4..c8590c18b --date=short --no-merges --format='%ad %ae %s'
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)
2020-05-01 afdx spirv-fuzz: Do not allow adding stores to read-only pointers (#3316)
2020-04-30 paulthomson reduce: increase default step limit (#3327)
2020-04-30 afdx Generalize IsReadOnlyVariable() to apply to pointers (#3325)

Roll tools/clang/ 948b9d009..54f2e0def (4 commits)

948b9d0097..54f2e0def1

$ git log 948b9d009..54f2e0def --date=short --no-merges --format='%ad %ae %s'
2020-05-06 lukasza Inserting an include of the new header during the rewrite.
2020-05-02 sebmarchand clang upload script: Use Cq-Include-Trybots: for official builders
2020-04-30 thakis clang: Only copy msdia140.dll next to llvm-symbolizers when building clang.
2020-04-30 hans Clang build script: prefer Python 2 on Mac until infra problem is fixed

Created with:
  roll-dep build buildtools testing third_party/binutils third_party/googletest third_party/spirv-headers third_party/spirv-tools tools/clang

Change-Id: I90db087ffcea4d67caf1b6b63d53d1cbed8f2828
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21380
Reviewed-by: David Neto <dneto@google.com>
2020-05-08 13:56:54 +00:00
Yunchao He
70ffa0c285 Add more tests for resource usage tracking
This change added more tests for texture usage tracking for compute.
It also added multiple write usages related tests for both buffer
and texture.

Bug: dawn:358, dawn:359

Change-Id: I8e3dbc92a06ceccfa5fce3ed319e4e641e72e41f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21100
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2020-05-07 23:49:15 +00:00
Natasha Lee
351c95a477 Refactor Serial tracking to be owned by Device frontend.
Move mCompletedSerial and mLastSubmittedSerial to Device frontend and
add getters and setters for the device backend to access such.
This is to aid the Device in taking more ownership of Serials and Ticking.

Bug: dawn:400
Change-Id: Ifa53ac294a871e484716842a3d212373b57847c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20480
Commit-Queue: Natasha Lee <natlee@microsoft.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-05-07 21:52:54 +00:00
Ryan Harrison
4f3811c064 Add Tint to BUILD.gn
Tint is behind a build flag, since Tint is not yet available in
chromium's third_party.

BUG=dawn:403

Change-Id: If5fa36b36216ef6965341b886c3bd70d27daf23a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-05-07 21:15:55 +00:00
Austin Eng
4fe8ead090 Revert "Support depth32float sampling on D3D12"
This reverts commit 071fe56ffe734ac04ebdfe168b27a59917f20490.

Reason for revert: SamplerRender/D3D12 has flaky crashes

Original change's description:
> Support depth32float sampling on D3D12
> 
> Bug: dawn:367
> Change-Id: I026e718130cbd92427c6292045fd041c878d4f77
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20840
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Stephen White <senorblanco@chromium.org>

TBR=cwallez@chromium.org,senorblanco@chromium.org,enga@chromium.org

Change-Id: I35df2ac35986d4a32437a52b70b025a370302651
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:367
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21320
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-07 20:38:37 +00:00
David Neto
cad427e787 [spirv-reader] Find if-selection internal headers
Finds the "then", the "else", and "premerge" nodes.
The premerge node, if it exists, is the first block where
the normal forward flow of the "then" and "else" clauses
converge, but before the merge block.

Finds error case where there a block has both an if-break
edge and a forward-to-premerge.  There is no good way
to model that in a high level language.

Bug: tint:3
Change-Id: I759fc539f3480e38d091041db6a9abd15f3df769
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21240
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-05-07 20:27:42 +00:00
Austin Eng
d785988172 Add missing include in DawnWireServerAndFrontendFuzzer.cpp
This file was missing an include of libfuzzer_exports.h which was
causing LLVMFuzzerInitialize to be stripped from the binary.

Tbr=cwallez@chromium.org
Bug: chromium:1075605
Change-Id: I251e3dd7ad1b3ebb95339dec946b80ce2e5d4a05
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21301
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-05-07 20:23:55 +00:00
David Neto
d8082d27a3 [spirv-reader] Rename Edge::kToMerge to kIfBreak
Change-Id: I187b88cb68a04e46a16b6391013bdaf148191cc2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21221
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-05-07 20:20:05 +00:00
David Neto
15fd7366cc [spirv-reader] Classify kSwitchBreak from deep in control flow
This also refactors break detection.

Bug: tint:3
Change-Id: I3a3e01c8d76d7c6fc2a14b3dbff136acd487e802
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21220
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-05-07 20:20:05 +00:00
dan sinclair
4dfda012b2 Rename brace and bracket to match spec
The names for brace and bracket got flipped in the spec, update Tint to
match.

Change-Id: Ifbad5f239834b77b9aa27ef21b9d704cab742f4f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21260
Reviewed-by: David Neto <dneto@google.com>
2020-05-07 19:47:39 +00:00
Ryan Harrison
1f1f08f94a Add spvtools deps to top-level targets
Dawn has issues with building tint targets without these specified. Putting them
in public_deps doesn't resolve the linking issue.

Change-Id: Ib99f2d4a74cbb3a33c0aa9e47e5eb788ef01a7e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21280
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-05-07 17:17:15 +00:00
Yunchao He
17e1e197e8 Add tests for texture usage tracking - 3
This change added tests for invisible and unsed bindings for
texture usage tracking. It also removed one buffer test, which
is not useful.

Bug: dawn:365

Change-Id: I01232836fb150ecea011a5fcbc250fa1eb7207cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21120
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2020-05-07 16:49:05 +00:00
Austin Eng
071fe56ffe Support depth32float sampling on D3D12
Bug: dawn:367
Change-Id: I026e718130cbd92427c6292045fd041c878d4f77
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20840
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-05-07 16:47:55 +00:00
Jiawei Shao
e8bf706d16 Add basic supports of storage textures on D3D12
This patch adds the basic supports of read-only and write-only storage
textures on D3D12.

The subresource tracking and barriers on the subresources used as
read-only and write-only storage textures are not included in this
patch.

BUG=dawn:267
TEST=dawn_end2end_tests

Change-Id: Ie29a3a9962cd1a79217bc87815ed0bd27623e3a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/21140
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-05-07 00:06:44 +00:00
Austin Eng
458ab1bf7f Expand depth sampling tests
This renames ComparisonSamplerTests to DepthSamplingTests
and adds tests which do normal sampling of depth32float textures
as well as sampling and comparison sampling in compute shaders.

Comparison samplers in compute shaders appear to be broken at least
on Metal Intel Haswell Iris 5100

Bug: dawn:367, dawn:401
Change-Id: I4a8208265675892d42b591126ffed2aadd420ab1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20782
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-05-07 00:06:34 +00:00