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>
Note: some shaders blocked on crbug.com/tint/329
Bug: dawn:572
Change-Id: I31e745fa5f0b5b698432442da0e6c00586fe062f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33760
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
This CL adds a tricium config file for Tint.
Change-Id: I08409df9b6b79bdd3ffecf4f28867674435ae14a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34360
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Currently TextureFormatTest.R8Uint fails on the Vulkan backend with
Vulkan validation layer enabled because we wrongly use a Linear filter
on a texture with R8Uint format.
This patch fixes this issue by using the Nearest filter in that test
instead.
BUG=dawn:588
TEST=dawn_end2end_tests/TextureFormatTest.R8Uint
Change-Id: I39714784c8f2db25923b50eb2e07b7aa111cb4c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34280
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
This patch skips the following two dawn_end2end_tests on all D3D12
backends when the D3D12 debug layer is enabled as they started to fail
after the upgrade of Windows try bots.
- MultisampledRenderingTest.ResolveOneMultisampledTextureTwice
- MultisampledRenderingTest.ResolveInto2DArrayTexture
See dawn:462 for more details.
BUG=dawn:462
Change-Id: I99c65ce250ba5b405a2143e6f866fd21ae33d63a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34281
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>