Commit Graph

8570 Commits

Author SHA1 Message Date
dan sinclair a518707db4 [ir] Update disassembly output.
This CL switches the disassembler back to being recursive and fixes up
the indenting of blocks to better highlight if branches and switch
cases.

Bug: tint:1718
Change-Id: I14e8d7c68a083bf3afd9ff7241d49b2aa76be4ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134300
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 22:43:18 +00:00
Austin Eng 817c076eb8 Enable testing of compat in dawn_end2end_tests only on GLES
Change-Id: I049bc6499f22ddb359b9d4701eaa5df31f5a652a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134340
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 21:31:36 +00:00
Shrek Shao 13f8bf205e Compat GL/GLES: blit a stencil texture to a buffer using compute
Add compute blit emulation path for Stencil8 textures for
OpenGLES backend.

Bug: dawn:1782, dawn:1835
Change-Id: I4719d339ee78fd5fc524d809417504125d2c0aee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133364
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 20:59:21 +00:00
dan sinclair f55ef5e48b [ir] Convert FlowNode to Block where possible.
This CL updates a bunch of uses of FlowNode to use Block instead. The
InboundBranches are moved from FlowNode to Block.

Bug: tint:1718
Change-Id: Ic1c07dae103e25364a3a6b3333cfcb57d10b30c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134260
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-24 20:14:14 +00:00
dan sinclair 0089d5e6e2 [ir] Change base class for terminators.
This CL moves the FunctionTerminator and RootTerminator nodes to be
blocks instead of FlowNodes.

Bug: tint:1718
Change-Id: Iee7830bccd99e4587b95b22b53268d1d2921e82f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134222
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 18:47:12 +00:00
dan sinclair e9a4adeff9 [ir] Remove Jump.
This CL removes the Jump instruction. This didn't add much value over
the branch instruction and was confusing as to which to use when.

Bug: tint:1718
Change-Id: I69253aa7baf39b00f698e4e8f9608465f6019dcd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134221
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 18:45:04 +00:00
James Price 24c5ed6b0a [ir][spirv-writer] Emit matrix constants
Bug: tint:1906
Change-Id: Ia4c8a02a4b64e216de3913fff377007e0287bd11
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134205
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 17:59:27 +00:00
James Price a8c528052d [ir][spirv-writer] Emit matrix types
Bug: tint:1906
Change-Id: Ief75da483f89595d56094611ecb037da73a396e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134204
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 17:43:56 +00:00
James Price b54b58d57d [ir][spirv-writer] Implement user function calls
Bug: tint:1906
Change-Id: Icf9a0a00409b61d3c8baa844b66865c1a4dd9b69
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134202
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 17:42:35 +00:00
James Price c1fd6316de [fuzzers] Substitute all override variables
The transform was only being run if there was at least one override
without an initializer. We actually need to run the transform if there
are any overrides at all, even if they all have initializers.

Bug: chromium:1447418
Change-Id: Ia300ea4326b675c1fd84dd7709112fb69128963d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134203
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 16:55:30 +00:00
James Price 1ea7f0f351 [ir][spirv-writer] Add support for parameters
Change the instruction->id map to a generic non-constant value->id map
so that it can be used for other types of values.

Bug: tint:1906
Change-Id: I79a0a7f671214167fa17ca903f9e94a54507d17c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134201
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 14:03:16 +00:00
James Price f5a62539f4 [ir][spirv-writer] Add support for return values
Bug: tint:1906
Change-Id: I73eb7ed2479c0f8051939163416c660c2f4faf05
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134200
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 13:58:34 +00:00
Gregg Tavares 0bdf2da9b8 Compat: Reject CubeArrays via Validation
Bug: dawn:1825
Change-Id: I32917a479c3eea457c8f315cfc089351b64292b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133320
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 12:39:46 +00:00
James Price 23c0451377 [ir] Add scalar type helpers to type::Manager
Creating scalar types is extremely common when using builders.

Bug: tint:1718
Change-Id: I2c2f0f521af1384bd8dee344ddfa525583535911
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132284
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-24 11:53:06 +00:00
jchen10 028726497a d3d11: enable MaxLimitTests
Bug: dawn:1705

Change-Id: I3f977913ed808db7a949a64fdb360a3c84e48d50
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133282
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 02:30:30 +00:00
dan sinclair 07a1d65fbc [ir] Cleanup composite creation in tests
This CL adds some helpers to make composites easier to use in tests.

Bug: tint:1718
Change-Id: I16a0e94978c43efa619b31b6815089c8fff6983f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133920
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 00:27:17 +00:00
Peng Huang 6197fd1468 d3d11: support FeatureLevel::Core if D3D11 FL 11.1 is supported
Bug: dawn:1820
Change-Id: Iba76d9aa519b555d10c6a9d6ffdf529268ac6737
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134080
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 23:53:03 +00:00
dan sinclair c4722c2f0b [ir] Test cleanup
Add a builder helper function to create a `Function` with a
`string_view` name instead of requiring the creation of a symbol.

Bug: tint:1718
Change-Id: I5d85736b49719246cb31825c3f4ad7a25131cb77
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133900
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-23 22:28:33 +00:00
dan sinclair 68b4e6460f [ir] Dissolve the flow graph
The ir::Value objects each have a list of instructions in which their
used. These lists allow us to determine all the places the value is
used. Currently this is unable to track the usage of a value in an
`if` or `switch` condition. It is also unable to track the usage of a
value as a branch argument.

In order to facilitate this tracking, the flow graph has been resolved.
Branches are moved to branch instructions (and jump instructions). A
jump is walk continue branch. A branch is a walk terminating branch. The
`if`, `switch` and `loop` flow nodes are moved to instructions as well.

Bug: tint:1718
Change-Id: I8e4cc4688bb1bdd5c7eecc72d366e6531ec685b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133840
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-23 22:26:24 +00:00
Min Lee e9ee094d28 [dawn-test] On D3D12, limit the texels in a buffer to 1<<27
On D3D12, there is a limit of the number of texels in a buffer which is 1<<27. See D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP and the spec. This patch limits it according to the spec in case of D3D12 in MaxLimitTests.cpp. This fixes MaxLimitTests failure on Arm device.

Bug: dawn:884
Change-Id: Ia14ebca92855ec7b7e8d81b7bd547108948da567
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133961
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Min Lee <lemi@microsoft.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-23 20:57:17 +00:00
James Price 506b4f05d0 [spirv-reader] Use type inference for var and let
When an initializer is present, use type inference instead of
explicitly typing `var` and `let` declarations. This reduces the size
of the generated WGSL and improves readability.

Change-Id: I241ee2108279b550735945940f2b62bbbd493708
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132142
Commit-Queue: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
2023-05-23 18:28:44 +00:00
Corentin Wallez 858ccc8a0c Make GetCurrentTextureView use an internal GetCurrentTexture
This is a small refactor in preparation for exposing GetCurrentTexture
on the SwapChain.

Bug: dawn:1551
Change-Id: I7cc8ec4a9042f48c4af7b2cc2126b1d9248a2003
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133462
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
2023-05-23 12:30:36 +00:00
Corentin Wallez deef739bb9 Remove suppression for a fixed VVL issue.
See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2256

Change-Id: I3fc05688f8b3ae365df5071b86796d8aceb14a30
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133461
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 09:40:17 +00:00
Corentin Wallez 47245bc33f Remove wgpu::TextureUsage::Present
This is an internal usage only used for barriers management in some
backends, and doesn't need to be exposed publicly.

Fixed: dawn:1535
Change-Id: I0474977227230acbf7dd3cfa91bf589ffd9464fd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133460
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-05-23 08:16:01 +00:00
jchen10 7aed27a2b0 d3d11: enable PipelineLayoutTests
Bug: dawn:1705

Change-Id: I4b194b1471abfcfb1688c0e87b81c99b2ed8f42a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133283
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 06:42:42 +00:00
jchen10 cd1fb68767 d3d11: enable DynamicBufferOffsetTests
This binds UAV slots all together at the same time.

Bug: dawn:1816
Bug: dawn:1705

Change-Id: Iea7af9cf00caf126a3964cc43bbf2162b35f80e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132600
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-23 00:54:15 +00:00
dan sinclair 0f203b1282 [ir] Cleanup deleted methods
Because of the CastableBase, the copy and move constructors and
assignment operators can't be used. They don't need to be explicitly
deleted.

Bug: tint:1718
Change-Id: Iafa000a00f779e1cac0aca8125330906ebd63446
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133660
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-05-22 16:48:42 +00:00
Peng Huang 956a2fc780 d3d11: fix ASSERT() crash in d3d11::BindGroupTracker::unApplyNindGroup()
Bug: dawn:1705
Change-Id: I87d464c5321375a96aa4926a0968e6acab7194e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133760
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-19 23:21:44 +00:00
Peng Huang 919d48fda4 d3d11: Add GetD3D11Device() for querying ID3D11Device from WGPUDevice
Chrome needs to get a ID3D11Device for DComp

Bug: dawn:1705
Change-Id: Ia6a586a38f381b7fddcbc94fe41a7011af59b333
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133780
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-19 21:41:33 +00:00
Peng Huang ba073b7e09 d3d11: add Feature DepthClipControl and Depth32FloatStencil8
Bug: dawn:1705
Change-Id: I5a1cec55a261ca01329f24af882b8501260ce0fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133740
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-19 21:41:23 +00:00
Ben Clayton 7b2dbeb634 [tint][GN]: wrap all IR rules in 'if (tint_build_ir)'
Change-Id: Idc75849e337c9436e8a74a9abdb61f71d9370293
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133700
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-19 12:00:39 +00:00
Li Hao d3875fc9b6 Add workaround for resolving overlapping queries on Intel Gen12
TimestampQueryTests.ResolveTwiceToSameBuffer fails on Mesa driver >=
21.2.0 and D3D driver >= 31.0.101.3413 on Intel Gen12 GPUs due to driver
bugs with different root causes, but the workaround of clearing
destination buffer before resolving queries works for both.

Bug: dawn:1546, dawn:1823

Change-Id: I3f20a9100f4b6d3386e9685b351ad4fed69195bd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133284
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-19 08:07:40 +00:00
Austin Eng 34fd751bd7 Fix namespacing of DynamicLib.cpp
`namespace dawn {` was written before some #includes

Bug: dawn:302
Change-Id: I1f0e507f63cc47b180d2021cf859d7964cfa4613
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133622
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@google.com>
Kokoro: Austin Eng <enga@chromium.org>
2023-05-19 01:25:37 +00:00
Austin Eng 5107db5637 Add DAWN_DEBUG_BREAK_ON_ERROR environment var and debugging docs
DAWN_DEBUG_BREAK_ON_ERROR executes dawn::BreakPoint inside
ErrorData::Create so that an application can inspect their callstack
immediately when an error is generated.

Bug: dawn:1789
Change-Id: I3f31b9713414d31b69ed469474e0f3c0f714540a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133562
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-18 23:29:25 +00:00
dan sinclair 24cb81116d [ir] Shift back to accessors.
Some of the IR classes require setters in order to update dependant
information. In order to keep the IR access symmetrical this CL moves
the IR back to using accessors and private fields.

Bug: tint:1718
Change-Id: I101edda004671e07c4594bdcae4b1576e5771782
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133640
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-18 22:16:08 +00:00
dan sinclair 97744832bc [ir] Deduplicate constants
This CL updates the IR builder to deduplicate constants such that for a
given constant value only a single `ir::Constant` will be created.

Bug: tint:1935
Change-Id: Ia743cdb7782cf7ea9918b913dac70b0a3dde4499
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133241
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-18 14:51:54 +00:00
Peng Huang fe58d80871 d3d11: fix and enable ReadOnlyDepthStencilAttachmentTests
Bug: dawn:1705
Bug: dawn:1727
Change-Id: I28f20d2be10753f6a7e7bd727fa80d050cfb8694
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133360
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-18 14:26:24 +00:00
James Price 92151b238b [ir][spirv-writer] Emit load instructions
Bug: tint:1906
Change-Id: I86396d0eaa7886f010cf037c2b1253014146d37c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133225
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-05-18 12:06:19 +00:00
dan sinclair 84d750e982 [ir] Add function parameters.
This CL adds parameters to functions in the IR. Attributes will be
handled in a later CL.

Bug: tint:1915
Change-Id: I99f9342e95ef957e5117465bb396db0b3822ba7d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133401
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-18 08:50:34 +00:00
Loko Kung 9fb0eed227 Implements float32-filterable feature.
- Adds the feature and the major backend supports.
- Adds initial validation testing.

Bug: dawn:1664
Change-Id: I9918c3de8cce379319d3d1877e45c51acb388961
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133281
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Brandon Jones <bajones@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-18 07:21:11 +00:00
Austin Eng ba8587b6c8 Actually fix DawnWireServerFuzzer.cpp on Windows ASAN
Bug: dawn:302
Change-Id: I8af045c609d1552c491d6e6f48b13b172172c2ab
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133520
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-18 04:36:24 +00:00
James Price 97ab6a3a70 [ir][spirv-writer] Emit store instructions
Bug: tint:1906
Change-Id: I858e619fe2968ebe2708d0d47c12b0c17b20cc31
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133224
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-18 03:05:59 +00:00
James Price 75aaa49d77 [ir][spirv-writer] Emit function variables
Bug: tint:1906
Change-Id: I2e1f44acddb86bbb8d57b5ffc8e8ba2b1c35ffbe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133223
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-18 02:30:39 +00:00
Ben Clayton 6e40b1a9df [tint][ir][ToProgram] Begin emitting Switch statements
Like If, block arguments still needs implementing.

Bug: tint:1902
Change-Id: Ifd660760de13f8003b33aa562c706aed24743851
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133466
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-18 01:51:45 +00:00
Austin Eng b34f5f6789 Fix Dawn Windows ASAN fuzzer build
Bug: dawn:302
Change-Id: I91c9dd26456c7f7b8b72a24c332d1aae053fd73d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133365
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-18 01:19:30 +00:00
Peng Huang 62d9b14b6f d3d11: enable OpArrayLengthTest
Bug: dawn:1705
Change-Id: Ie16b368bb371a379710f99f5a0569eff671e7b56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133340
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-18 00:15:06 +00:00
Loko Kung 59f4cfb03f Moves cpp_headers into public_deps when depending on the dawn:cpp.
Bug: dawn:1822
Change-Id: Iaec2efe2349c48a0dbbd2bb4e043e0ff07795a60
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133482
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-17 23:31:43 +00:00
shrekshao e121931563 Compat GL/GLES: blit a depth texture to a buffer using compute
Add compute blit emulation path for Depth16Unorm/Depth32Float
depth textures in OpenGL/OpenGLES backend.

Extend DepthCopyTests for better test coverage, especially for
testing Depth16Unorm compute emulation path.

Bug: dawn:1782, dawn:1291, dawn:1237
Change-Id: I02f6e10d13e8b0080b412a9f9a6d62b1e470ac9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130820
Auto-Submit: Shrek Shao <shrekshao@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2023-05-17 22:25:34 +00:00
Loko Kung 5ae7d10977 Fixes TSAN race by moving cleanup of platform into dtor.
- Before since it was in the TearDown, cleanup can be called before
  the device was gone which meant that async tasks could still be in
  flight.

Bug: dawn:1374
Change-Id: I4cd5a4e096a3fe13e230197a6a4d4d57daea31c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133480
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-17 22:03:16 +00:00
dan sinclair 43b110ce53 [ir] Only show type on lhs
This CL updates the IR to only show types on the LHS of an assignment.
The RHS does not show the types anymore. This removes a lot of clutter
from the output.

Bug: tint:1718
Change-Id: I5e9cff2ae5cd727a7a8cb256d08b417233a197d3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133240
Reviewed-by: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
2023-05-17 21:56:43 +00:00