Roll third_party/webgpu-cts/ c0d64c238..65fcd99b7 (8 commits)

Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


c0d64c2382..65fcd99b74
 - 65fcd9 webgpu/shader/validation: Add static_assert tests
 - 0ec986 runtime: Add server '/load' RPC
 - b5a8a3 webgpu/shader: Validate semicolons
 - 921148 webgpu/shader/validation: Add resource binding tests
 - 408f94 Fix resize-observer test.
 - f32e8c Fix local ref-test runner
 - bb8f11 val,render_pipeline,depth_stencil_state,depth_write,frag_depth (#2163)
 - 77e0a9 Add subrect copy tests for copyToTexture (#2150)

Created with './tools/run cts roll'

Change-Id: I6534e8c067a897d65fe3002cd587672570d553f4
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117221
Kokoro: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
Ben Clayton 2023-01-17 12:45:58 +00:00 committed by Dawn LUCI CQ
parent 86a853d5ca
commit 6bbd8b4e77
6 changed files with 1592 additions and 62 deletions

2
DEPS
View File

@ -158,7 +158,7 @@ deps = {
# WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
'third_party/webgpu-cts': {
'url': '{chromium_git}/external/github.com/gpuweb/cts@c0d64c2382f2675fcfb9038eae6367cd2b08f700',
'url': '{chromium_git}/external/github.com/gpuweb/cts@65fcd99b74d2a432b2b311730e141b09b7f0d153',
'condition': 'build_with_chromium',
},

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,7 @@ src/common/tools/dev_server.ts
src/common/tools/gen_cache.ts
src/common/tools/gen_listings.ts
src/common/tools/gen_wpt_cts_html.ts
src/common/tools/image_utils.ts
src/common/tools/presubmit.ts
src/common/tools/run_wpt_ref_tests.ts
src/common/tools/version.ts
@ -429,8 +430,12 @@ src/webgpu/shader/validation/parse/builtin.spec.ts
src/webgpu/shader/validation/parse/comments.spec.ts
src/webgpu/shader/validation/parse/identifiers.spec.ts
src/webgpu/shader/validation/parse/literal.spec.ts
src/webgpu/shader/validation/parse/semicolon.spec.ts
src/webgpu/shader/validation/parse/source.spec.ts
src/webgpu/shader/validation/parse/static_assert.spec.ts
src/webgpu/shader/validation/parse/var_and_let.spec.ts
src/webgpu/shader/validation/resource_interface/util.ts
src/webgpu/shader/validation/resource_interface/bindings.spec.ts
src/webgpu/shader/validation/shader_io/util.ts
src/webgpu/shader/validation/shader_io/builtins.spec.ts
src/webgpu/shader/validation/shader_io/entry_point.spec.ts
@ -438,6 +443,7 @@ src/webgpu/shader/validation/shader_io/interpolate.spec.ts
src/webgpu/shader/validation/shader_io/invariant.spec.ts
src/webgpu/shader/validation/shader_io/locations.spec.ts
src/webgpu/shader/validation/shader_io/shareable_types.spec.ts
src/webgpu/shader/validation/static_assert/static_assert.spec.ts
src/webgpu/util/color_space_conversion.ts
src/webgpu/util/copy_to_texture.ts
src/webgpu/util/texture/texel_data.spec.ts

View File

@ -60,7 +60,7 @@
# results: [ Failure RetryOnFailure Skip Slow ]
# END TAG HEADER
# Last rolled: 2023-01-13 08:41:07AM
# Last rolled: 2023-01-17 12:03:17AM
################################################################################
# copyToTexture failures on Linux
@ -401,7 +401,9 @@ crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCa
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="premultiplied";webgl="webgl2";upload="texImage2D" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="premultiplied";webgl="webgl2";upload="texSubImage2D" [ Failure ]
crbug.com/dawn/0000 [ monterey ] worker_webgpu:api,operation,render_pass,storeOp:render_pass_store_op,depth_stencil_attachment_only:depthStencilFormat="stencil8";storeOperation="discard" [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 win10 ] worker_webgpu:api,validation,buffer,mapping:mapAsync,invalidBuffer: [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] worker_webgpu:api,validation,buffer,mapping:mapAsync,invalidBuffer: [ Failure ]
crbug.com/dawn/0000 [ dawn-no-backend-validation nvidia-0x2184 target-cpu-32 win10 ] worker_webgpu:api,validation,buffer,mapping:mapAsync,invalidBuffer: [ Failure ]
crbug.com/dawn/0000 [ dawn-no-backend-validation nvidia-0x2184 target-cpu-64 win10 ] worker_webgpu:api,validation,buffer,mapping:mapAsync,invalidBuffer: [ Failure ]
# New failures. Please triage:
crbug.com/dawn/0000 webgpu:api,operation,buffers,map_ArrayBuffer:postMessage:transfer=true;mapMode="READ" [ Failure ]
@ -414,19 +416,16 @@ crbug.com/dawn/0000 webgpu:api,validation,buffer,mapping:mapAsync,earlyRejection
crbug.com/dawn/0000 webgpu:api,validation,buffer,mapping:mapAsync,state,mappingPending: [ Failure ]
crbug.com/dawn/0000 webgpu:api,validation,createBindGroupLayout:multisampled_validation:viewDimension="2d" [ Failure ]
crbug.com/dawn/0000 webgpu:api,validation,createBindGroupLayout:multisampled_validation:viewDimension="_undef_" [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation intel-gen-9 ubuntu ] webgpu:api,validation,encoding,cmds,render,draw:buffer_binding_overlap:drawType="drawIndexedIndirect" [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation intel-gen-9 ubuntu ] webgpu:api,validation,encoding,cmds,render,draw:buffer_binding_overlap:drawType="drawIndirect" [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation intel-gen-9 ubuntu ] webgpu:api,validation,encoding,cmds,render,draw:unused_buffer_bound:smallIndexBuffer=false;smallVertexBuffer=false;smallInstanceBuffer=false [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation intel-gen-9 ubuntu ] webgpu:api,validation,encoding,cmds,render,draw:unused_buffer_bound:smallIndexBuffer=false;smallVertexBuffer=true;smallInstanceBuffer=false [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation intel-gen-9 ubuntu ] webgpu:api,validation,encoding,cmds,render,draw:vertex_buffer_OOB:* [ Failure ]
crbug.com/dawn/0000 webgpu:api,validation,encoding,encoder_state:pass_end_twice: [ Failure ]
crbug.com/dawn/0000 webgpu:api,validation,render_pipeline,depth_stencil_state:depth_write,frag_depth:isAsync=false;format="_undef_" [ Failure ]
crbug.com/dawn/0000 [ ubuntu ] webgpu:api,validation,render_pipeline,depth_stencil_state:depth_write,frag_depth:isAsync=true;format="_undef_" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:api,validation,render_pipeline,depth_stencil_state:depth_write,frag_depth:isAsync=true;format="_undef_" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,configure:alpha_mode:* [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,configure:defaults:* [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,configure:device:* [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,configure:format:canvasType="offscreen";format="rgba8unorm" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,configure:format:canvasType="onscreen";format="rgba8unorm" [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,canvas,configure:size_zero_after_configure:* [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,canvas,configure:size_zero_before_configure:* [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-default ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-swiftshader ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
@ -505,8 +504,32 @@ crbug.com/dawn/0000 [ intel-gen-9 webgpu-adapter-default win10 ] webgpu:web_plat
crbug.com/dawn/0000 [ nvidia-0x2184 ubuntu webgpu-adapter-default ] webgpu:web_platform,canvas,configure:viewFormats:canvasType="onscreen";format="rgba8unorm";viewFormatFeature="texture-compression-bc" [ Failure ]
crbug.com/dawn/0000 [ nvidia-0x2184 webgpu-adapter-default win10 ] webgpu:web_platform,canvas,configure:viewFormats:canvasType="onscreen";format="rgba8unorm";viewFormatFeature="texture-compression-bc" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,getCurrentTexture:* [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 ubuntu webgpu-adapter-default ] webgpu:web_platform,copyToTexture,canvas:copy_contents_from_gpu_context_canvas:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-swiftshader ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:* [ Failure ]
crbug.com/dawn/0000 [ webgpu-adapter-swiftshader win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:* [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-swiftshader ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-swiftshader ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-swiftshader ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ monterey webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ ubuntu webgpu-adapter-swiftshader ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="premultiply";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="premultiply";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="premultiply";orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="premultiply";orientation="none";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 win10 ] worker_webgpu:api,operation,rendering,basic:large_draw:indexed=false;indirect=false [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 win10 ] worker_webgpu:api,operation,rendering,basic:large_draw:indexed=false;indirect=true [ Failure ]
crbug.com/dawn/0000 [ dawn-no-backend-validation nvidia-0x2184 target-cpu-32 win10 ] worker_webgpu:api,validation,buffer,mapping:getMappedRange,offsetAndSizeAlignment,mappedAtCreation: [ Failure ]
crbug.com/dawn/0000 [ dawn-no-backend-validation nvidia-0x2184 target-cpu-32 win10 ] worker_webgpu:api,validation,buffer,mapping:mapAsync,earlyRejection: [ Failure ]
crbug.com/dawn/0000 [ dawn-no-backend-validation nvidia-0x2184 target-cpu-32 win10 ] worker_webgpu:api,validation,buffer,mapping:unmap,state,unmapped: [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] worker_webgpu:api,validation,buffer,mapping:unmap,state,unmapped: [ Failure ]

View File

@ -16,63 +16,76 @@
}
</style>
<body>
<div id="dpr"></div>
<div class="outer"></div>
<script type="module">
import { takeScreenshotDelayed } from '../../../../common/util/wpt_reftest_wait.js';
import createPatternDataURL from '../create-pattern-data-url.js';
const {patternSize, dataURL} = createPatternDataURL();
(async () => {
const {patternSize, dataURL} = createPatternDataURL();
/**
* Set the pattern's size on this element so that it draws where
* 1 pixel in the pattern maps to 1 devicePixel.
*/
function setPattern(elem) {
const oneDevicePixel = 1 / devicePixelRatio;
const patternPixels = oneDevicePixel * patternSize;
elem.style.backgroundImage = `url("${dataURL}")`;
elem.style.backgroundSize = `${patternPixels}px ${patternPixels}px`;
}
document.querySelector('#dpr').textContent = `dpr: ${devicePixelRatio}`;
/*
This ref creates elements like this
<body>
<div class="outer">
<div></div>
<div></div>
<div></div>
...
</div>
</body>
Where the outer div is a flexbox centering the child elements.
Each of the child elements is set to a different width in percent.
The devicePixelContentBox size of each child element is observed
with a ResizeObserver and when changed, a pattern is applied to
the element and the pattern's size set so each pixel in the pattern
will be one device pixel.
A similar process happens in the test HTML using canvases
and patterns generated using putImageData.
The test and this reference page should then match.
*/
const outerElem = document.querySelector('.outer');
/**
* Set the pattern's size on this element so that it draws where
* 1 pixel in the pattern maps to 1 devicePixel.
*/
function setPatterns(entries) {
for (const entry of entries) {
setPattern(entry.target)
/**
* Set the pattern's size on this element so that it draws where
* 1 pixel in the pattern maps to 1 devicePixel.
*/
function setPattern(elem) {
const oneDevicePixel = 1 / devicePixelRatio;
const patternPixels = oneDevicePixel * patternSize;
elem.style.backgroundImage = `url("${dataURL}")`;
elem.style.backgroundSize = `${patternPixels}px ${patternPixels}px`;
}
}
const observer = new ResizeObserver(setPatterns);
for (let percentSize = 7; percentSize < 100; percentSize += 13) {
const innerElem = document.createElement('div');
innerElem.style.width = `${percentSize}%`;
observer.observe(innerElem, {box:"device-pixel-content-box"});
outerElem.appendChild(innerElem);
}
/*
This ref creates elements like this
<body>
<div class="outer">
<div></div>
<div></div>
<div></div>
...
</div>
</body>
Where the outer div is a flexbox centering the child elements.
Each of the child elements is set to a different width in percent.
The devicePixelContentBox size of each child element is observed
with a ResizeObserver and when changed, a pattern is applied to
the element and the pattern's size set so each pixel in the pattern
will be one device pixel.
A similar process happens in the test HTML using canvases
and patterns generated using putImageData.
The test and this reference page should then match.
*/
const outerElem = document.querySelector('.outer');
let resolve;
const promise = new Promise(_resolve => (resolve = _resolve));
/**
* Set the pattern's size on this element so that it draws where
* 1 pixel in the pattern maps to 1 devicePixel.
*/
function setPatterns(entries) {
for (const entry of entries) {
setPattern(entry.target)
}
resolve();
}
const observer = new ResizeObserver(setPatterns);
for (let percentSize = 7; percentSize < 100; percentSize += 13) {
const innerElem = document.createElement('div');
innerElem.style.width = `${percentSize}%`;
observer.observe(innerElem, {box:"device-pixel-content-box"});
outerElem.appendChild(innerElem);
}
await promise;
takeScreenshotDelayed(50);
})();
</script>
</body>
</html>

View File

@ -18,6 +18,7 @@
}
</style>
<body>
<div id="dpr"></div>
<div class="outer"></div>
<script type="module" src="resize_observer.html.js"></script>
</body>