Adds in a toggle to control using Tint or SPIRV Cross for reflection.
The current implementation only gets name and stage information via Tint,
backfilling the rest from SPIRV Cross.
Future CLs will fill in the rest of the entry point metadata.
Bug: dawn:578
Change-Id: Iee16b9dbb9a17d4aaa68e5e52e4aa91ee0a62624
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33500
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Renames indexTypeSize to indexFormatSize. I forgot to add the changes
prior to pushing the commit.
Bug: dawn:502
Change-Id: I38f19edc021141c5a5ab57c6220978b7c88b116e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33923
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
CopyTextureForBrowser end2end tests had been skipped on Vulkan/Metal
backends due to crbug.com/tint/63.
Because this issue has been fixed, enable CopyTextureForBrowserTests on
Vulkan/Metal backends.
However, D3D12 backend with validation layer still stucks. Raise issue
crbug.com/dawn/592 and keep tests skip.
BUG=dawn:465
Change-Id: I819b3608d07ea7467b33263004e9e19158e73eff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34440
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
In previous internal shader, we draw a just fit-in rectangle to do the
copy. But there is arithmetic precision issues in border pixels when
copy from a large texture.
ANGLE handle the same issue by drawing a large triangle. Dawn adopte the
same idea here
BUG=dawn:465
Change-Id: I2366e28b1e96e7a33116a170023a5138d8c9f770
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33900
Reviewed-by: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
They already exist in a `ast::type` namespace, so `ast::type::BlahType` is just stuttering.
This is more important now that Is<> and As<> use the full type name.
Change-Id: I7c661fe58cdc33ba7e9a95c82c996a799786661f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34321
Reviewed-by: dan sinclair <dsinclair@chromium.org>
No need to prefix with `ast::` when you're in the ast namespace already.
Change-Id: Iac6cd3a215c05a80ee2035d582500f1d6c882a06
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34320
Reviewed-by: dan sinclair <dsinclair@chromium.org>
The following DecorationKinds were sub-types of core decoration types:
kStride, kStage, kWorkgroup, kStructMemberOffset, kAccess, kBinding, kBuiltin, kConstantId, kLocation
These only existed for casting (not for error messages), and are no longer needed, so remove them.
Change-Id: I1e4bb9bf51952c6e86bac984d0d667a071ca80bf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34303
Reviewed-by: dan sinclair <dsinclair@chromium.org>
And replace the use of`ast::As(Decoration* deco)` with `Castable::As<T>()`.
These were used for dynamic casting, but is now replaced with Castable.
Change-Id: Ie5fe19ad4db4bc4d19f5386d2cfddaaf84b215d0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34302
Reviewed-by: dan sinclair <dsinclair@chromium.org>
The hand-rolled `AsBlah()`, `IsBlah()` methods will be migrated in future changes.
Change-Id: I078c100b561b50018771cc38c1cac4379c393424
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34301
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Reduces the per-instance size for an extra vtable entry.
Change-Id: Ie087e0b8d8524adf85663ab1224fb0ae1a5e0000
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34300
Reviewed-by: dan sinclair <dsinclair@chromium.org>
The hand-rolled `AsBlah()`, `IsBlah()` methods will be migrated in future changes.
Change-Id: I46a350a560f9eda8ca15f8ba8c95b17b9b6010b7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34261
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Implements `As<Blah>()` and `Is<Blah>()` automatically.
There are several benefits to using this over the pattern of hand-rolled `IsBlah()`, `AsBlah()` methods:
(1) We don't have to maintain a whole lot of hand written code.
(2) These allow us to cast from the base type to _any_ derived type in a single cast. The existing hand-rolled methods usually require a couple of intermediary casts to go from the base type to the leaf type.
(3) The use of a template parameter means these casts can be called from other template logic.
Note: Unlike the hand-rolled `AsBlah()` methods, it is safe to call `As<T>()` even if the type does not derive from `T`. If the object does not derive from `T` then `As` will simply return `nullptr`. This allows the calling logic to replace the common pattern of:
```
if (obj.IsBlah()) {
auto* b = obj.AsBlah();
...
}
```
with:
```
if (auto* b = obj.As<Blah>()) {
...
}
```
This halves the number of virtual method calls, and is one line shorter.
Change-Id: I4312e9831d7de6703a97184640864b8050a34177
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34260
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Roll third_party/glslang/ 4dcc12d1a..4d41da3b8 (39 commits)
4dcc12d1a4..4d41da3b81
$ git log 4dcc12d1a..4d41da3b8 --date=short --no-merges --format='%ad %ae %s'
2020-11-24 dgkoch Add ray query capability if acceleration structure or ray query types declared (#2469)
2020-11-23 dgkoch Updates for final Vulkan ray tracing extensions (#2466)
2020-11-16 ShabbyX Compile out code for GL_EXT_shader_image_int64 for ANGLE (#2463)
2020-11-12 mbechard tweak local_size comparison a bit (#2456)
2020-11-12 dneto Avoid spuriously adding Geometry capability for vert, tesc, tese (#2462)
2020-11-12 greg New nonuniform analysis (#2457)
2020-11-09 jhall1024 Implement GL_EXT_terminate_invocation (#2454)
2020-11-06 rdb Fix token-pasting macros not working in preprocessor directives. (#2453)
2020-11-06 laddoc Fix warning in iomapper. (#2449)
2020-11-04 TobyHector Add GL_EXT_shader_image_int64 support (#2409)
2020-11-04 laddoc 8. io mapping refine & qualifier member check & resolver expand (#2396)
2020-11-02 courtneygo Fix build error with Chromium & ANGLE (#2446)
2020-11-02 dev Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (#2442)
2020-11-02 justsid Support for CapabilityShaderViewportIndex and CapabilityShaderLayer (#2432)
2020-11-02 jaebaek Do not use PropagateLineInfoPass and RedundantLineInfoElimPass (#2440)
2020-10-23 rex.xu HLSL: Add support for printf().
2020-10-21 bclayton Fix GN build and presubmits
2020-10-20 john SPV: Update to the latest SPIR-V header, includes variable-rate shading
2020-07-02 laddoc Add GL_EXT_fragment_shading_rate
2020-10-20 bclayton Kokoro: Add configurations for GN presubmit
2020-10-19 bclayton Fix uninitialized use of TIntermediate::resource (#2424)
2020-10-16 bclayton Add GN build instructions to README.md
2020-10-16 bclayton Add basic GN configurations
2020-10-12 hwguy.siplus SPIR-V: Remove SpvTools.h include from disassemble.cpp (#2417)
2020-10-12 rverschelde Remove executable bits from code/data files (#2420)
2020-10-07 dneto Add test case for read-only storage texture passed to helper function (#2414)
2020-10-07 8729214+jonahryandavis Disable -Wno-conversion on MSVC compiler (#2410)
2020-10-05 cepheus Revert "Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (#2408)"
2020-10-05 dev Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (#2408)
2020-09-27 cepheus Revert "Add more flexible SpirvToolsDisassemble interface to allow specifying spv_target_env for disassembly output. (#2406)"
2020-09-27 dev Add more flexible SpirvToolsDisassemble interface to allow specifying spv_target_env for disassembly output. (#2406)
2020-09-26 cstout [spirv-remap] Fix undefined behavior in hashing (#2403)
2020-09-26 cstout [Wconversion] Suppress glslang issue (#2404)
2020-09-24 greg Update spirv-tools and spirv-headers known goods (#2401)
2020-09-09 greg Add texture sample to nonuniform test
2020-09-08 greg Add buffer store to nonuniform tests
2020-09-03 bas SPV: Add NonUniform decoration for constructors.
2020-09-03 bas SPV: Add NonUniform decoration for OpImages created during lowering.
2020-08-24 bas SPV: Add NonUniform decorations for stores.
Created with:
roll-dep third_party/glslang
Roll third_party/shaderc/ 011139094..6216d098d (6 commits; 1 trivial rolls)
011139094e..6216d098d8
$ git log 011139094..6216d098d --date=short --no-merges --format='%ad %ae %s'
2020-11-23 dneto Roll dependencies to support Vulkan raytracing
2020-11-09 dneto Replace C-style cast with static_cast
2020-11-12 dneto Roll back googletest to earlier version
2020-11-02 rharrison Roll 6 dependencies (#1144)
2020-10-26 antiagainst Handle alias libraries in shaderc_combined to avoid duplicated symbols (#1141)
Created with:
roll-dep third_party/shaderc
Change-Id: Iaf2b381ec5a2c6a35b596a050ee336138de0cc48
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34144
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>