This patch enables CompressedTextureFormatTests on Win/Intel/Vulkan
after the upgrade of Windows try bots.
BUG=dawn:42
Change-Id: Ifad6634973ef30af7f416798973325a5fa7cbe67
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35920
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Adds some maxAnisotropy implementation.
Adds an end2end test, drawing a slanted plane with a texture of which each mipmap has a different color, with different maxAnisotropy values.
You can get an idea of what it does at https://jsfiddle.net/t64kpu81/85/
Needs further CTS.
Bug: dawn:568
Change-Id: I89ac56d8cf0fbb655358bf6effa016ddc1f8426f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35143
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
- Limit the maximum query count to 8192 to fit Metal restriction.
- Add unittest tests of query count and remove the test of buffer
size overflow validation on 32-bits.
Bug: dawn:434
Change-Id: Ie573b715cc3f67ec158996119a8b4a49e493680a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36021
Commit-Queue: Hao Li <hao.x.li@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Fixes validation errors when drawing with point topologies, and without explicitly writing to the PointSize builtin.
Fixed: tint:321
Change-Id: I3c00c5ee56966a82d9e3024cb277eae8921a9af2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Because the uint64 is not supported on all GPU drivers, we use uint32
and float to simulate the multiplication of uint64, but there is
accuracy loss between the results and the expected results computed by
uint64. This test checks that the accuracy loss is less than 0.2%.
Bug: dawn:434
Change-Id: I6f5c842b6915f101441886bdfa4f9feb2827d174
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34120
Commit-Queue: Hao Li <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
In OpenGL ES glPixelStorei() doesn't affect the execution of
glCompressedTexSubImage*D(), and GL_UNPACK_COMPRESSED_BLOCK_* is not
defined in OpenGL ES, so on the OpenGL ES backends, to implement
CopyBufferToTexture() with compressed texture formats, we can only copy
the compressed texture data once per compressed block row.
With this patch CompressedTextureBCFormatTest/* can pass on Intel Mesa
OpenGL ES driver.
BUG=dawn:42, dawn:580
TEST=dawn_end2end_tests
Change-Id: Ied84a187beaf9105d3664c4e874b3b7ddda4e4b0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36020
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Changes the internal BindingInfo structure and any references to it. The
BindGroupLayoutEntry information is normalized when converting it into
the internal representation, but still accepted as either the old or
new layout. A "bindingType" member is added to the BindingInfo that's
not present in the BindGroupLayoutEntry itself to indicate which of
buffer, sampler, texture, or storageTexture is populated. This proves
useful for a myriad of switch statements in the various backends.
Bug: dawn:527
Change-Id: I6ae65adae61d0005fc50ed6d1bc2ec9b2a1295ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35862
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Brandon Jones <bajones@chromium.org>
This patch skips all the dawn_end2end_tests using glTextureView() on the
OpenGL ES backend as glTextureView() is not available in OpenGL ES.
With this patch all the dawn_end2end_tests will be able to run on Intel
Mesa OpenGL ES drivers with no crash.
BUG=dawn:580
Change-Id: I420eebfd699edf745bd08cb941f3143aad2fbd06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36040
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Only permitted for image sampling (and later gather).
Only permitted for 2D, 2D Array, and 3D textures
Fixed: tint:408
Change-Id: Ib97bd17e45046ec8a2147b46899bf52ad9a8f883
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35980
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This makes it less manual code and less error prone to
add new callbacks to the wire.
Bug: dawn:384
Change-Id: I8547af2dba8289d1badd41e53dd732c776fb5d06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35600
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Change-Id: Icea3b4acfa407110d9ae078e9b3ea13fb13ca31e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32561
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2c458414c0..8f4b35c332
$ git log 2c458414c..8f4b35c33 --date=short --no-merges --format='%ad %ae %s'
2020-12-17 46493288+sfricke-samsung spirv-val: Add Subgroup VUIDs (#4074)
2020-12-17 afdx spirv-fuzz: Fix OpPhi handling in DuplicateRegionWithSelection (#4065)
2020-12-15 dneto validation: validate return type of OpImageRead (#4072)
2020-12-14 dneto validation: tighter validation of multisampled images (#4059)
2020-12-10 dneto validate OpTypeImage Sampled values for environemnts (#4064)
2020-12-10 rharrison Force using Python 3 git-sync-deps (#4067)
2020-12-10 dneto validate StorageImageMultisampled capability (#4062)
2020-12-08 46493288+sfricke-samsung spirv-val: Add last TessLevelOuter and TessLevelInner VUID (#4055)
2020-12-08 46493288+sfricke-samsung spirv-val: Add last ClipDistance and CullDistance VUID (#4054)
2020-12-08 46493288+sfricke-samsung spirv-val: Add last ViewportIndex and Layer VUID (#4053)
2020-12-08 46493288+sfricke-samsung spirv-val: Add last Position VUID (#4052)
2020-12-08 alanbaker Allow forward pointer to be used in types generally (#4044)
2020-12-07 marijns95 opt: Run DCE when SPV_KHR_shader_clock is used (#4049)
2020-12-07 dnovillo Update CHANGES to include latest ray tacing fixes.
2020-12-07 ehsannas Take new (raytracing) termination instructions into account. (#4050)
2020-12-03 dnovillo Start SPIRV-Tools v2020.7
2020-12-03 dnovillo Finalize SPIRV-Tools v2020.6
2020-12-02 dnovillo Update CHANGES
2020-12-02 ehsannas Do run DCE if SPV_KHR_ray_query is used. (#4047)
2020-12-02 dnovillo Update CHANGES
2020-12-01 greg Change ref_analysis to RefAnalysis to follow coding standards. (#4045)
2020-12-01 stevenperron Handle 8-bit index in elim dead member (#4043)
2020-12-01 dgkoch Add validation support for the ray tracing built-in variables (#4041)
2020-12-01 greg Add texel buffer out-of-bounds checking instrumentation (#4038)
2020-11-30 dgkoch Update spirv-header deps (#4040)
2020-11-27 afdx Reject SPIR-V that applies void to OpUndef, OpCopyObject, OpPhi (#4036)
Created with:
roll-dep third_party/spirv-tools
Change-Id: Id79356d4ec3c7b8087370c7ab70fbdbf738e142c
Roll third_party/gpuweb-cts/ abe6e1dd2..46c7b591c (22 commits)
abe6e1dd26..46c7b591c2
$ git log abe6e1dd2..46c7b591c --date=short --no-merges --format='%ad %ae %s'
2020-12-17 jiawei.shao Move the tests about Z-axis or depth or zero-copy into separated tests (#410)
2020-12-16 enrico.galli Add attachment compatibility tests (#411)
2020-12-11 kainino Add helper to make capability tables prettier (#409)
2020-12-11 kainino fix markdown indentation
2020-12-09 kainino Add readability guidelines (#408)
2020-12-08 kainino Port all the remaining docs from HackMD and wiki (#407)
2020-12-09 hao.x.li Add tests for indexing, index format and primitive restart (#338)
2020-12-08 mehmetoguzderin Replace pull_request_target with pull_request+workflow_run (#401)
2020-12-07 9856269+sarahM0 [wgsl] Add runtime array validation tests (#377)
2020-12-04 kainino Add something missed in #394 because I forgot to save (#405)
2020-12-04 kainino Cherry-pick deployment files into a folder (#404)
2020-12-04 kainino Revert "Fix deployment of newly-added files (#402)" (#403)
2020-12-04 kainino Fix deployment of newly-added files (#402)
2020-12-04 kainino organize pass state tests a bit (#394)
2020-12-04 kainino Update and organize documentation for contributors (#399)
2020-12-03 kainino From HackMD plan, part 4/4: remaining validation tests, and all the operation test plans so far (#392)
2020-12-03 2154796+austinEng Fix dev_server cache key for Typescript files (#393)
2020-12-02 kainino From HackMD plan, part 3: most of the rest of the validation tests (#390)
2020-12-02 2154796+austinEng Add dev server for standalone runner which compiles TS at runtime (#386)
2020-12-03 jiawei.shao Add operation tests of T2T copies on all non-compressed color formats (#387)
2020-12-02 2154796+austinEng Simplify texelData helpers (#365)
2020-12-01 yunchao.he Memory sync test for buffer: write after write in the same pass (#384)
Created with:
roll-dep third_party/gpuweb-cts
Change-Id: I52f7a95c5f5d2cf948694c680f97b37a20b7c462
Roll third_party/googletest/ b1fbd33c0..18f8200e3 (14 commits)
b1fbd33c06..18f8200e30
$ git log b1fbd33c0..18f8200e3 --date=short --no-merges --format='%ad %ae %s'
2020-12-11 absl-team Googletest export
2020-12-10 absl-team Googletest export
2020-12-10 dmauro Googletest export
2020-12-08 absl-team Googletest export
2020-12-07 absl-team Googletest export
2020-12-07 absl-team Googletest export
2020-12-07 absl-team Googletest export
2020-12-05 paul.malcolm Fix typo in CLI help message
2020-12-03 absl-team Googletest export
2020-12-02 absl-team Googletest export
2020-12-02 absl-team Googletest export
2020-12-01 absl-team Googletest export
2020-11-30 dmauro Googletest export
2020-11-24 absl-team Googletest export
Created with:
roll-dep third_party/googletest
Change-Id: If255637a545ea0be101c3b3665a2bf880457d4b7
Roll third_party/spirv-headers/ 104ecc356..f027d53de (1 commit)
104ecc356c..f027d53ded
$ git log 104ecc356..f027d53de --date=short --no-merges --format='%ad %ae %s'
2020-11-26 dkoch remove HitTKHR
Created with:
roll-dep third_party/spirv-headers
Change-Id: Ic9f0c411373d3bb4349572794e053d93ab9ec9e0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35960
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Texture buitins on depth textures always result in scalar f32.
Corresponding operations in SPIR-V always result in vec4<f32>.
When translating to Tint AST, wrap the generated texture builtin
in a type constructor to vec4, with the builtin result as the
x component.
Fixed: tint:411
Change-Id: Idf26a1cbc7e875bc8a97bf3c0b342c0220c6d4b7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35900
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This CL changes SubresourceStorage to have an inline storage for the
per-aspect compressed data and allocate the storage for decompressed
data lazily. This will avoid the large performance cost of allocations
in the happy case.
Bug: dawn:441
Change-Id: Iae1cab87b699cb0e60031abe7306cdff92fbd049
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35521
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Converts most of the tests to use the new layout, with the exception
of a few that are dependent on additional Dawn changes before the
conversion can happen. The deprecation warning is not enabled yet
due to these remaining changes.
Bug: dawn:527
Change-Id: Idcfd9fc873756f5a9f88de2ce9ab65c66b79bf39
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35582
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This CL adds a Symbol to the Variable AST node along side the name. The
name will be removed in a future CL.
Change-Id: I1c05e5595392b1c4a0afa82387d97b2b4472bade
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35881
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
This CL goes through and converts things which call RegisterSymbol to
use the helper builders. Several variables are also updated to use the
helper as it will need RegisterSymbol in the near future.
Change-Id: Ib5a8e8be54c1eaad123384fab09f6625421d9fcd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35880
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
If you try to load it, return 1.0f instead.
Some cases of copy-object of intermediates are unhandled,
and will error out.
This is being done as an aid to porting GLSL Vulkan shaders
that do store 1 to gl_PointSize.
Fixed: tint:412
Change-Id: Ia33dc70bca630dccfbf11644f71d6be4b3f43f1a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35861
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: David Neto <dneto@google.com>
Fix emission of the sampled type for write-only storage images.
Fixed: tint:415
Change-Id: I83b74272630f16258295a354f952ce19c2eae57a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35863
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This CL adds a Func helper to the ast builder class. The helper is then
used through the various files to simplify function creation.
Change-Id: Ie93777586e9311d82cff5932dfba2c4ca763ae08
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35823
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
This CL updates the ast::Builder to provide help creating struct members
and decorations. The helpers are then used throughout the various files
to simplify the code.
Change-Id: I53af4578190499d9ae2623073f8a44182954e5d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35821
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
This CL renames Index to IndexAccessor and Member to MemberAccessor.
This keeps the naming consistent and makes room to use Member for
StructMember.
Change-Id: Icbba3a39ed5e079cd83d8f512fff69494dfac10d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35824
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This was here to ensure all callbacks return, but this can now
be done by calling device.Tick - which Chromium does
periodically. Remove it now, especially since it will be incorrect
when the wire supports more than one device.
Bug: dawn:384
Change-Id: If948ffe8931be7ba989f733efd64549d0c56b382
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35841
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
... about getters having the same name as the type they return. Prefix getters with `Get`, remove unused ones.
Also remove the cases field, the compiler helpfully now tells us it is unused.
Change-Id: I7e3fcdae3818cee5aae8b70b48e9b0507a8d3b45
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35743
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: David Neto <dneto@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
One of the issues blocking Dawn->Skia rolls
Change-Id: Ia3c68edd2c2745586dfb6a778e3a493df20aa66d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35820
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
https://dawn-review.googlesource.com/c/dawn/+/34921 introduced a couple
of bugs. This CL fixes them and tests to ensure that the new validation
logic is working correctly.
BUG=dawn:527
Change-Id: Ief01dfda0b97a202bf12ff6aeb0e7a3b84b4b81c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35700
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>