Francisco Casas
3153ce3145
vkd3d-shader/hlsl: Don't allocate object types as constant registers.
2022-11-10 22:48:16 +01:00
Francisco Casas
6f6ba8aa56
vkd3d-shader/hlsl: Properly free new store node memory if init_deref() fails.
2022-11-10 22:48:11 +01:00
Zebediah Figura
3857ca06fa
vkd3d-shader/hlsl: Write SM4 dcl_thread_group instructions.
2022-11-08 20:53:08 +01:00
Zebediah Figura
718c79b823
vkd3d-shader/hlsl: Parse the numthreads attribute.
2022-11-08 20:53:04 +01:00
Zebediah Figura
d6799bd5d3
vkd3d-shader/hlsl: Parse function attributes.
2022-11-08 20:53:03 +01:00
Zebediah Figura
da56f41ceb
vkd3d-shader/hlsl: Use hlsl_new_synthetic_var() in hlsl_new_func_decl().
2022-11-08 20:53:01 +01:00
Zebediah Figura
1019bbead6
vkd3d-shader/hlsl: Add a hlsl_fixme() for compute shader thread counts.
...
In particular so that we don't cause test crashes by outputting invalid compute
shaders.
2022-11-08 20:52:59 +01:00
Zebediah Figura
520c7457a9
vkd3d-shader/sm4: Use a flat array to store destination types.
...
This cuts about 12 kB off of the 64-bit build.
2022-11-08 20:52:36 +01:00
Zebediah Figura
4173158c8b
vkd3d-shader/sm4: Use a flat array to store source types.
2022-11-08 20:52:34 +01:00
Zebediah Figura
e2aed38509
vkd3d-shader/spirv: Avoid using DXBC-specific definitions.
2022-11-08 20:52:32 +01:00
Zebediah Figura
ba08825ccd
vkd3d-shader/sm4: Use the VKD3D_DXBC_MAX_SOURCE_COUNT macro where possible.
2022-11-08 20:52:31 +01:00
Zebediah Figura
35b48a8b04
vkd3d-shader/spirv: Rename struct vkd3d_dxbc_compiler to struct spirv_compiler.
...
We would like to generate SPIR-V for input formats other than DXBC.
The "vkd3d_" prefix is dropped, partly to make names shorter, and partly to help
clarify what is an internal function.
I prefer avoiding the vkd3d_* prefix on all internal functions, for these
reasons. However, I'm open to restoring it.
2022-11-08 20:52:29 +01:00
Zebediah Figura
c416627e64
vkd3d-shader/hlsl: Propagate copies for resource store instructions.
2022-10-31 22:07:47 +01:00
Zebediah Figura
9bdae4dfaa
vkd3d-shader/hlsl: Write SM4 UAV store instructions.
2022-10-31 22:07:45 +01:00
Zebediah Figura
03f9d16047
vkd3d-shader/hlsl: Parse UAV stores.
2022-10-31 22:07:44 +01:00
Zebediah Figura
0a2aaa690e
vkd3d-shader/hlsl: Implement typed UAV loads.
2022-10-31 22:07:43 +01:00
Zebediah Figura
12e397de9a
vkd3d-shader/hlsl: Write SM4 UAV declarations.
2022-10-31 22:07:41 +01:00
Zebediah Figura
2ec67e0f10
vkd3d-shader/hlsl: Allocate UAVs.
2022-10-31 22:07:40 +01:00
Francisco Casas
5af7316a12
vkd3d-shader/hlsl: Support explicit cast between component-wise compatible types.
2022-10-25 21:25:58 +02:00
Francisco Casas
d21fd584b1
vkd3d-shader/hlsl: Support implicit casts between component-wise equal types.
2022-10-25 21:25:57 +02:00
Francisco Casas
1c77811648
vkd3d-shader/hlsl: Remove incorrect criteria for accepting implicit casts.
2022-10-25 21:25:55 +02:00
Francisco Casas
d93ce28995
vkd3d-shader/hlsl: Handle complex types in add_cast().
...
This extends the support of this function, whether doing broadcasts or
component-wise casts, to struct and array types.
2022-10-25 21:25:51 +02:00
Francisco Casas
0a345a2b73
vkd3d-shader/hlsl: Rename "t1" and "t2" arguments as "src" and "dst".
2022-10-25 21:25:49 +02:00
Zebediah Figura
0ef04659c7
vkd3d-shader/hlsl: Parse UAV types.
2022-10-19 21:59:55 +02:00
Zebediah Figura
fea50d243c
vkd3d-shader/hlsl: Parse texture index expressions.
2022-10-19 21:59:55 +02:00
Zebediah Figura
7115a94063
vkd3d-shader/hlsl: Cast array indices inside of add_array_load().
...
Mostly in the interest of keeping the yacc code as simple as possible.
2022-10-19 21:59:55 +02:00
Giovanni Mascellani
0a07ac6f88
vkd3d-shader/hlsl: Lower float modulus.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-10-19 21:59:17 +02:00
Giovanni Mascellani
eb119878f7
vkd3d-shader/hlsl: Lower int modulus.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-10-19 21:59:15 +02:00
Giovanni Mascellani
85856473f6
vkd3d-shader/hlsl: Write SM4 fractional part instructions.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-10-19 21:59:13 +02:00
Francisco Casas
5a1b0dbf44
vkd3d-shader/hlsl: Always go through implicit conversion in assignments.
...
Otherwise we silently skip some type checks.
2022-10-17 17:58:56 +02:00
Giovanni Mascellani
eb7b594002
vkd3d-shader/hlsl: Lower int division.
2022-10-17 17:58:17 +02:00
Giovanni Mascellani
4c13ae5764
vkd3d-shader/hlsl: Lower int absolute value.
2022-10-17 17:58:14 +02:00
Giovanni Mascellani
5442f4236c
vkd3d-shader/hlsl: Write SM4 square root instructions.
2022-10-17 17:58:12 +02:00
Giovanni Mascellani
8e5aefb309
vkd3d-shader/hlsl: Parse length() intrinsic.
2022-10-17 17:58:09 +02:00
Zebediah Figura
6b45f290f7
vkd3d-shader/hlsl: Pass a location pointer to init_node().
...
Instead of a flat location structure.
2022-10-12 21:58:03 +02:00
Zebediah Figura
20fc4375ad
vkd3d-shader/hlsl: Introduce a hlsl_new_expr() helper.
2022-10-12 21:58:01 +02:00
Zebediah Figura
1e10b5e616
vkd3d-shader/hlsl: Write SM4 reinterpret instructions.
2022-10-12 21:57:59 +02:00
Zebediah Figura
2d4d2e1244
vkd3d-shader/hlsl: Parse the asuint() intrinsic.
2022-10-12 21:57:57 +02:00
Giovanni Mascellani
1655d309bd
vkd3d-shader/hlsl: Write SM4 rsq instructions.
2022-10-10 21:13:04 +02:00
Giovanni Mascellani
d600f0488e
vkd3d-shader/hlsl: Parse normalize intrinsic.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-10-10 21:13:03 +02:00
Zebediah Figura
b74a546034
vkd3d-shader/hlsl: Use hlsl_new_constant() in more places.
2022-09-28 19:11:08 +02:00
Zebediah Figura
f8da100052
vkd3d-shader/hlsl: Use hlsl_new_int_constant() in the "primary_expr" rule.
2022-09-28 19:11:05 +02:00
Zebediah Figura
3fc2fdc37f
vkd3d-shader/hlsl: Introduce a hlsl_new_bool_constant() helper.
2022-09-28 19:11:02 +02:00
Zebediah Figura
4c5fd9c7b9
vkd3d-shader/hlsl: Introduce a hlsl_new_float_constant() helper.
2022-09-28 19:10:58 +02:00
Zebediah Figura
15a0b44ada
vkd3d-shader/hlsl: Pass the arguments to hlsl_new_resource_load() as an indirect structure.
...
The function has far too many arguments, including multiple different arguments
with the same type. Use a structure for clarity and to avoid errors.
Merge hlsl_new_sample_lod() into hlsl_new_resource_load() accordingly.
2022-09-27 20:14:54 +02:00
Zebediah Figura
fb724d60e3
vkd3d-shader/hlsl: Make the source parameter to hlsl_copy_deref() const.
2022-09-27 20:14:53 +02:00
Zebediah Figura
e3123f5bd0
vkd3d-shader/hlsl: Pass only a template string to hlsl_new_synthetic_var().
...
Synthesize the internal name from the template inside of this function.
2022-09-27 20:14:51 +02:00
Zebediah Figura
991cddd139
vkd3d-shader/hlsl: Handle failure from hlsl_copy_deref().
2022-09-27 20:14:49 +02:00
Giovanni Mascellani
d5fd309ef8
vkd3d: Add a macro to mark unreachable code.
...
This should silence warnings about some branches non returning any value
without requiring additional "return 0" statement or similar.
Also, in theory this might enable to compiler to optimize the program
a little bit more, though that's unlikely to have any measurable effect.
2022-09-27 20:14:27 +02:00
Henri Verbeet
56b2f56b86
Release 1.5.
2022-09-21 16:47:49 +02:00