Dzmitry Malyshau
458db0b522
[hlsl-out] expose profile string conversions
2021-07-11 23:14:07 -04:00
João Capucho
7532c2abaa
[glsl-in] Remove wrong texture types
...
Glsl doesn't have depth textures what it has is combined image/samplerShadow
2021-07-07 12:59:20 -04:00
João Capucho
bd339e5f60
[glsl-in] Add textureProj
2021-07-07 12:59:20 -04:00
João Capucho
3f2b754c42
[glsl-in] Fix proxy write type mismatch
2021-07-07 12:59:20 -04:00
João Capucho
ba75ca6efe
[glsl-in] Don't implicitly cast shifts
2021-07-07 12:59:20 -04:00
João Capucho
105a2ae5e1
[glsl-in] Check type dimensions in function calls
2021-07-07 12:59:20 -04:00
Gordon-F
9e61390626
[hlsl-out] Zero initialize variables. Write interpolation and sampling qualifier
2021-07-07 10:57:28 -04:00
Jim Blandy
918183162f
[spv-out]: Access BlockContext::cached directly.
...
Since `BlockContext` now owns the `cached` table directly, there's no point in
going through a helper function.
2021-07-06 14:57:09 -04:00
Jim Blandy
562af28773
[spv-out] Move cached expression table to BlockContext.
...
Since the table of cached expressions is only meaningful within a single
function, it's really something that should only be accessed from
`BlockContext`.
However, to save heap allocations, it makes sense to retain it in the `Writer`
between functions. But the `Writer` field should have a different name, to
ensure people don't use it by accident.
2021-07-06 14:57:09 -04:00
Jim Blandy
a818b2e089
Document Loop, Break, and Continue statements.
2021-07-06 13:55:09 -04:00
João Capucho
e8bb7f2503
[glsl-in] Parse array initializers
2021-07-06 11:24:05 -04:00
João Capucho
ee1004d443
[glsl-in] Use cast for implicit conversion
...
Previously this was a bitcast
2021-07-06 11:24:05 -04:00
João Capucho
ee343b3017
[glsl-in] Implicit splat max builtin
2021-07-06 11:24:05 -04:00
João Capucho
7bced3f4e8
[glsl-in] Add support for all texture types
2021-07-06 11:24:05 -04:00
João Capucho
2b475ecc96
[spv-out] Support object-wise select
2021-07-06 10:12:24 -04:00
Dzmitry Malyshau
9473340c16
wgsl-in: fix auto array stride
2021-07-06 02:20:26 -04:00
Dzmitry Malyshau
c69736210a
Snapshot test local variable inference
2021-07-06 01:26:03 -04:00
Dzmitry Malyshau
beabd62d96
wgsl: type inference for local variables
2021-07-06 01:26:03 -04:00
Gordon-F
65fbbf1101
[hlsl-out] Return only real names on entry point in ReflectionInfo
2021-07-05 18:54:42 -04:00
Gordon-F
d5776879de
[hlsl-out] Enable interface snapshot testing
2021-07-05 18:54:42 -04:00
Gordon-F
2812acf8cd
[hlsl-out] Handle output semantic for shader stage
2021-07-05 18:54:42 -04:00
Gordon-F
988fc90b83
[Makefile] Fix dxc params in validate-hlsl
2021-07-05 18:54:42 -04:00
Joshua Groves
9192f7b882
wgsl-in: add more error tests
2021-07-05 02:24:18 -04:00
João Capucho
2f002a0594
[spv-out] Load texture arguments ahead of time
2021-07-05 02:23:00 -04:00
João Capucho
c7b98f5ab9
[spv-out] accept texture trough function argument
2021-07-05 02:23:00 -04:00
Joshua Groves
c5805a9e10
wgsl-in: add more error tests
2021-07-04 01:00:21 -04:00
Jasper St. Pierre
7a9fb864ad
[glsl-in] Add support for gl_FragCoord / gl_FragDepth
...
And remove the ability to read gl_Position in fragment.
2021-07-03 00:29:44 +01:00
Jasper St. Pierre
0b9af95793
[glsl-in] Make sure to Load on a ValuePointer as well
...
Fixes issues with indexing vectors.
2021-07-02 01:44:57 -04:00
Jasper St. Pierre
78e1304d42
[glsl-in] Convert bool -> scalar cast to Select
2021-07-02 01:34:34 -04:00
Dzmitry Malyshau
a92f7689f2
[mtl] detect binding incomatibility
2021-07-02 00:25:48 -04:00
João Capucho
6e9410c056
[glsl-in] More implicit casts for builtins
2021-07-01 21:02:19 -04:00
João Capucho
1e2aee2263
[glsl-in] Clamp function fixes
...
Allow vector sources and scalar selector
Do implicit conversions
2021-07-01 21:02:19 -04:00
João Capucho
e277cd1b12
[glsl-in] Fix shifts between vectors and scalars
2021-07-01 21:02:19 -04:00
Robert Swain
377941a98f
[msl-out] Add 'this' as a reserved keyword
2021-07-01 21:00:29 -04:00
Jasper St. Pierre
cb8e9f2cad
[glsl-in] Implicitly splat the inputs of clamp()
2021-07-01 18:32:33 +01:00
João Capucho
8880faf360
Address more comments
2021-07-01 11:19:28 -04:00
João Capucho
a1749ab9c5
[glsl-out] Fix argument skipping
2021-07-01 11:19:28 -04:00
João Capucho
2bb15eb0a8
[glsl-in] Add support for texture arguments
2021-07-01 11:19:28 -04:00
João Capucho
4da665d3ba
Address comments
2021-07-01 11:19:28 -04:00
João Capucho
d0fd065096
[glsl-out]Handle texture/sampler function argument
2021-07-01 11:19:28 -04:00
João Capucho
7df4a52af9
[valid] Handle texture/sampler function argument
2021-07-01 11:19:28 -04:00
João Capucho
f98b4e2f48
[spv-in] Support texture/sampler function argument
2021-07-01 11:19:28 -04:00
Jim Blandy
e32f10f940
[spv-out] recyclable: Remove capacity reduction code.
2021-07-01 01:07:01 -04:00
Jim Blandy
3a1a2ed8b3
[spv-out] Move BlockContext into its own file.
...
Rearrange some code for easier visibility.
`make_local` doesn't need a PhysicalLayout `self`; make it a free function.
2021-07-01 01:06:18 -04:00
Jim Blandy
f878a9dcaf
[spv-out]: Introduce helpers for BlockContext code.
...
Give `BlockContext` its own `temp_list`, which it steals from `Writer` for a
bit.
Add `BlockContext::cached`, for getting cached expression ids.
2021-07-01 01:06:18 -04:00
Jim Blandy
9f7424c3af
[spv-out]: Remove all #[allow(clippy::too_many_arguments)] attrs.
2021-07-01 01:06:18 -04:00
Jim Blandy
634632a382
[spv-out]: Introduce BlockContext.
...
This commit should should cause no visible change in behavior.
Many `back::spv::Writer` methods take long lists of arguments simply describing
the module and function we're generating code for, but these never change while
we generate a given function. This commit moves some of those values into a
`BlockContext` type, and turns those `Writer` methods into `BlockContext`
methods, so that code can access these values through `self`, rather than
threading them through everywhere as arguments.
Many uses of `self.foo` become `self.writer.foo`. Some of these can be
simplified, but to make this commit easier to review, most of those changes are
left to later commits.
This allows us to remove some `#[allow(clippy::too_many_arguments)]` attributes.
2021-07-01 01:06:18 -04:00
Jim Blandy
e0b37667ca
[spv-out] Move future BlockContext methods into their own impl block.
...
This commit should introduce no meaningful code changes. It's simply isolating
the `Writer` methods that should be `BlockContext` methods into their own impl
block, to make it easier to see the meaningful changes needed to introduce
`BlockContext`.
2021-07-01 01:06:18 -04:00
Jasper St. Pierre
fbab3a3ba5
[glsl-in] Add support for texture function with LOD bias
2021-07-01 02:45:13 +01:00
Gordon-F
ef1194d69a
[CI] Add dneto0 spirv-samples to lazy task
2021-06-30 12:00:33 -04:00