Stephen White
17601930e4
GLSL: fix textureSampleLevel() on depth textures.
...
Multiple bugs here:
1) Like texture(), GLSL's textureLod() on depth textures returns a
scalar, and does not need to be swizzled. So set glsl_ret_width to
1 in that case.
2) Like texture(), GLSL's textureLod() always requires a Dref
parameter, so append a zero if not present.
3) GLSL's "lod" parameter to textureLod() is always a float, unlike
WGSL's textureSampleLevel() which is an i32 for depth textures,
so cast it.
Along the way, I discovered that textureLod() is not supported on
samplerCubeShadow or sampler2DArrayShadow (even on Desktop GL). So some
tests will never pass. Logged as https://crbug.com/dawn/1313
Bug: tint:1456
Change-Id: If67d8d288704142278d7a4e52b46e8010776f381
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82300
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-03-02 14:01:00 +00:00
Stephen White
4acf466ff9
GLSL: fix countOneBits().
...
This change essentially relands 10c554ecf4 ,
aka https://dawn-review.googlesource.com/c/tint/+/82140 .
(Somehow, I managed to revert most of that in the subsequent CL for
reverseBits. I suspect a bad upstream and/or rebase.)
Bug: tint:1430
Change-Id: Iba2688294dcd7d3008ee9da78957a7a464ca1c0f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82220
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-03-01 14:25:42 +00:00
Stephen White
bee5fa6881
GLSL: implement pack/unpack builtins.
...
Bug: tint:1428
Change-Id: Ic1db31feb6c6da4a98f6a37b40c77be887662825
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82200
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 21:19:02 +00:00
Stephen White
59f1e8d06c
GLSL: special-case BinaryOp::kModulo for floating point.
...
The '%' operator in GLSL is integer-only. Use the full OpFRem
expression: (a - b * trunc(a / b)).
Bug: tint:1270
Change-Id: I0a969983bef132e004ce456d4a738488e400a61b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/68760
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 21:15:02 +00:00
Stephen White
9b152e655f
GLSL: implement fma().
...
Bug: tint:1448
Change-Id: I7e331a2eabd507a4babce756fc79d68b0bf7d7be
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82145
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 20:03:11 +00:00
Stephen White
7028077a6a
GLSL: implement inverseSqrt() and update test expectations.
...
Bug: tint:1447
Change-Id: I521d021a9177c75badd52ad39ce4db6def48b6ab
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82144
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 18:23:17 +00:00
Stephen White
2a02b68453
GLSL: implement fract() builtin function.
...
Bug: tint:1446
Change-Id: Icb06bb560956372a689db33c758b3d5ad8c27225
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82143
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 18:19:47 +00:00
Stephen White
ba4d6ab01d
GLSL: implement derivative instructions.
...
While Desktop GLSL supports the Coarse and Fine flavours, GLSL ES does
not. For now, emit dFdx/dFdy in all cases for ES, but excluding the
Coarse and Fine flavours via validation is also an option.
Bug: tint:1445
Change-Id: Iaac589f72043b5547e9141a6e870c1fd49631f6f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82142
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 18:08:13 +00:00
Stephen White
3b68fcb544
GLSL: implement reverseBits().
...
Bug: tint:1431
Change-Id: I816ce26e98705f459e2fbc652d06d6fc97bab7fb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82141
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 17:43:37 +00:00
Stephen White
10c554ecf4
GLSL: implement countOneBits().
...
Bug: tint:1430
Change-Id: I1aa886d1f68e50f0ce6fd5b55d87722742ca5f69
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82140
Reviewed-by: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2022-02-28 17:41:47 +00:00
Brandon Jones
6661b28d1e
Delete Single-Plane External Texture Transform
...
The multiplanar external texture transform has been integrated into
Dawn, which means we have no use for the single plane transform - so it
should be deleted.
Bug: dawn:1082
Change-Id: Id8977d03839b76c90ae6e70400d048c13fbe85f4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80120
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com >
2022-02-25 20:14:52 +00:00
Ben Clayton
fe08ba4677
builtins: Add insertBits
...
CTS tests: https://github.com/gpuweb/cts/pull/1012
Bug: tint:1371
Change-Id: Idd55c0bc9dad1dffb558d0bc57d744f65e9041b5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81701
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
2022-02-23 21:18:09 +00:00
Ben Clayton
d868e860e0
builtins: Add extractBits
...
CTS tests: https://github.com/gpuweb/cts/pull/1005
Bug: tint:1371
Change-Id: I228c7b2a27c6fbac0653c416fac603a6fb4bff85
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81640
Reviewed-by: David Neto <dneto@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
2022-02-23 21:18:09 +00:00
Ben Clayton
8169693136
builtins: Add firstLeadingBit
...
Currently polyfilled for all backends.
HLSL should be able to map this to 'firstbithigh', but there might need
to be some special case handling for 0 (undocumented behavior). For now
just polyfill.
CTS tests: https://github.com/gpuweb/cts/pull/1004
Bug: tint:1367
Bug: tint:1449
Change-Id: I9c9a08ea93d1c4a602e0ab763e95e2eea336fb0d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81503
Reviewed-by: David Neto <dneto@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2022-02-23 18:20:30 +00:00
Ben Clayton
df3630c194
builtins: Add firstTrailingBit
...
Currently polyfilled for all backends.
HLSL should be able to map this to 'firstbitlow', but there might need
to be some special case handling for 0 (undocumented behavior). For now
just polyfill.
CTS tests: https://github.com/gpuweb/cts/pull/1003
Bug: tint:1367
Bug: tint:1449
Change-Id: I8125b32687196678906e5a9d056b4f2efd885073
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81502
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2022-02-23 14:32:14 +00:00
Ben Clayton
f8672d8c35
builtins: Add countTrailingZeros
...
Requires polyfilling for all but the MSL backend.
CTS tests: https://github.com/gpuweb/cts/pull/1002
Bug: tint:1367
Change-Id: I0cf56b74c01f30436f9ad00595a554a4042587e4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81501
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
Kokoro: Ben Clayton <bclayton@google.com >
2022-02-22 23:16:39 +00:00
Ben Clayton
27aa57ccac
builtins: Add countLeadingZeros
...
Requires polyfilling for all but the MSL backend.
CTS tests: https://github.com/gpuweb/cts/pull/1001
Bug: tint:1367
Change-Id: I75097de945909e3242ede9001124d8821bc832bc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81380
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2022-02-22 23:13:39 +00:00
Ben Clayton
1fcb2a7a24
tools: Update post-shuffle paths for builtin-gen
...
Bug: tint:1418
Change-Id: Ic1560bf7a0aa99ecbe554b985dc07f1b055fab64
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81500
Auto-Submit: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Commit-Queue: Ryan Harrison <rharrison@chromium.org >
2022-02-22 20:24:59 +00:00
Ben Clayton
aa58a6934c
test: Move unicode e2e test to tint dir
...
This got left out of the large reshuffle of dbc13af2
Bug: tint:1418
Change-Id: I0e55e19cdb8e3931ab87a99bce0e16b0cf5d5bff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81320
Auto-Submit: Ben Clayton <bclayton@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2022-02-21 16:51:06 +00:00
Ryan Harrison
dbc13af287
tint->dawn: Shuffle source tree in preperation of merging repos
...
docs/ -> docs/tint/
fuzzers/ -> src/tint/fuzzers/
samples/ -> src/tint/cmd/
src/ -> src/tint/
test/ -> test/tint/
BUG=tint:1418,tint:1433
Change-Id: Id2aa79f989aef3245b80ef4aa37a27ff16cd700b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80482
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Ryan Harrison <rharrison@chromium.org >
2022-02-21 15:19:07 +00:00