Commit Graph

197 Commits

Author SHA1 Message Date
msiglreith
f260c452f7 Fix naming of root constants 2018-04-08 15:04:45 +02:00
Hans-Kristian Arntzen
382101bd05 Run format_all.sh. 2018-04-04 09:26:53 +02:00
Hans-Kristian Arntzen
1d082e9b79 Fix passing arrays of combined image samplers in HLSL. 2018-04-04 09:26:53 +02:00
Hans-Kristian Arntzen
938c7debed Handle control-dependent temporaries.
Derivatives, subgroup and implicit-lod instructions all need to happen
in the block they were created.
2018-03-12 17:34:54 +01:00
Hans-Kristian Arntzen
e8e58844d4 Rewrite everything to use Bitset rather than uint64_t. 2018-03-12 13:24:14 +01:00
Hans-Kristian Arntzen
9a52713d77 Run format_all.sh. 2018-03-09 15:26:36 +01:00
Hans-Kristian Arntzen
a803e5ae38 Deprecate set_options()/get_options() interface, replace it.
Replace with common/hlsl/msl instead. The old interface had some bad
interaction with overloading which meant you had to up-cast to base
class to be able to use set_options, which was awkward.
2018-03-09 15:25:25 +01:00
Hans-Kristian Arntzen
e0efa737ca Expand the implementation of inherit_expression_dependencies. 2018-03-09 13:21:38 +01:00
Hans-Kristian Arntzen
47d94ff8d9 Add FP16 to HLSL.
Cannot be used in buffer types, similar to mediump in GLSL.
half is useless, because it's 32-bit in FXC.
2018-03-07 10:21:25 +01:00
Hans-Kristian Arntzen
b380a2113a Implement MatrixInverse on HLSL.
Copy-paste implementation from MSL. I assume it's correct.
2018-02-23 16:42:40 +01:00
Hans-Kristian Arntzen
f6d08e6113 Add workaround for PointCoord builtin on HLSL. 2018-02-23 15:58:35 +01:00
Hans-Kristian Arntzen
a04bdcc7f7 Handle overloaded functions which share the same OpName.
Awkward, but legal SPIR-V.
2018-02-23 14:15:51 +01:00
Hans-Kristian Arntzen
4543dacca3 Run format_all.sh. 2018-02-23 13:13:02 +01:00
Hans-Kristian Arntzen
0673f27b7c Fix incorrect loop range. 2018-02-22 17:00:41 +01:00
Hans-Kristian Arntzen
114c2c5e37 Add clip/cull-distance support to HLSL. 2018-02-22 16:40:04 +01:00
Hans-Kristian Arntzen
3fa6cc8f2c Implement FRem. 2018-02-15 13:31:29 +01:00
Hans-Kristian Arntzen
843e34b604 Add IsFrontFace support to HLSL. 2018-02-15 12:42:56 +01:00
Hans-Kristian Arntzen
6a0f6980ef Set width when creating NumWorkgroups buffer. 2018-02-14 09:22:47 +01:00
Hans-Kristian Arntzen
18a594a76b Implement subpass input support in HLSL. 2018-02-10 10:54:42 +01:00
Hans-Kristian Arntzen
00ccd590ee Return arrays in HLSL/MSL by writing to an output variable instead. 2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
9fa91f7e1c Support returning arrays from functions in GLSL/MSL.
Not possible in HLSL apparently, need workaround ...
2018-02-08 12:22:08 +01:00
msiglreith
d096f5cafe hlsl: Support custom root constant layout 2018-02-07 15:21:52 +01:00
Hans-Kristian Arntzen
18e8833eeb Support gl_NumWorkgroups in HLSL. 2018-02-05 10:29:20 +01:00
twinaphex
59a12c7e71 Uniquely name these static functions 2018-02-03 23:23:30 +01:00
Hans-Kristian Arntzen
5d9df6a31c Do not declare constant composites inline in HLSL.
Move arrays and structs out to their own global static constants.

Also, replace illegal names in HLSL as well.
2018-02-02 10:12:26 +01:00
Hans-Kristian Arntzen
988f00fe3c Fix OpImage on OpSampledImages in HLSL. 2018-02-01 09:22:16 +01:00
Bill Hollings
1c94715350 Update copyright dates to 2018 in main files. 2018-01-31 17:08:43 -05:00
Hans-Kristian Arntzen
06041985d0 Fix HLSL regression with struct declaration.
It actually worked surprisingly. Fix it properly.
2018-01-23 16:36:20 +01:00
Hans-Kristian Arntzen
9c3d4e7c60 Rewrite barrier handling in HLSL. 2018-01-09 12:41:13 +01:00
Hans-Kristian Arntzen
9c72aa00c9 Overhaul barrier handling in GLSL. 2018-01-09 12:07:07 +01:00
Hans-Kristian Arntzen
1a5a755ce5 Flatten structs based on instance name rather than block name.
Block name is too brittle, optimizes will merge block types, making
flattening impossible with unique names.
2018-01-09 10:36:04 +01:00
Hans-Kristian Arntzen
c4e787ccf8
Merge pull request #378 from KhronosGroup/fix-371
Fix swizzling of scalar integers in HLSL.
2018-01-04 13:42:27 +01:00
Hans-Kristian Arntzen
4590c63b40 Fix swizzling of integers.
Add scalar swizzling to constant composites as well.
2018-01-04 13:16:56 +01:00
Hans-Kristian Arntzen
d9c0948a9c Run format_all.sh. 2018-01-04 12:15:55 +01:00
Hans-Kristian Arntzen
ec1180f198 Support arrays in to_sampler_expression. 2018-01-04 12:14:18 +01:00
Hans-Kristian Arntzen
c7f4b1528f Declare arrays of resources in HLSL. 2018-01-04 11:05:40 +01:00
Hans-Kristian Arntzen
950732512e Fix compatibility with FXC. 2017-12-12 12:35:22 +01:00
Hans-Kristian Arntzen
cc532cb7b6 Use t-namespace for ByteAddressBuffer.
FXC caught it, but not glslang, hm ...
2017-12-11 13:55:26 +01:00
Hans-Kristian Arntzen
5e9b53e354 Support VertexID/InstanceID in HLSL. 2017-12-06 11:01:32 +01:00
Hans-Kristian Arntzen
aeeb0e3dd0 Support textureQueryLod in HLSL. 2017-12-01 13:30:31 +01:00
Hans-Kristian Arntzen
dbfa686990 Emit SampleCmpLevelZero for lod/grad variants of SampleCmp. 2017-11-29 12:38:13 +01:00
Hans-Kristian Arntzen
c65248fdce Support image load-store without format in HLSL. 2017-11-29 12:14:06 +01:00
Hans-Kristian Arntzen
c405274e38 Run format_all.sh. 2017-11-29 12:00:48 +01:00
Hans-Kristian Arntzen
48f3fa4adb Implement bitfield ops in HLSL. 2017-11-29 11:33:44 +01:00
Hans-Kristian Arntzen
e27f5775c5 Cannot support packDouble on HLSL, at least for now. 2017-11-27 15:06:15 +01:00
Hans-Kristian Arntzen
656af7e3ed Implement unorm16/snorm16 packing in HLSL. 2017-11-27 15:03:40 +01:00
Hans-Kristian Arntzen
719ba63416 Add pack/unpack snorm8/unorm8. 2017-11-27 14:49:47 +01:00
Hans-Kristian Arntzen
6c7c680d01 Implement FP16 unpack/pack on HLSL. 2017-11-27 14:24:30 +01:00
msiglreith
f4bde2b3ef HLSL: Support early fragment tests attribute 2017-11-21 14:51:03 +01:00
Hans-Kristian Arntzen
5352615ce1 Update tests. 2017-11-20 21:10:00 +01:00