Zebediah Figura
e10e12a10c
vkd3d-shader: Avoid underflowing the indentation level.
...
Any shader that would underflow is invalid, but it is helpful to allow tracing even invalid shaders.
2023-02-22 18:28:19 +01:00
Francisco Casas
f8338ef089
vkd3d-shader/hlsl: Allocate register reservations in a separate pass.
...
This refactoring is required for improving the allocation strategy so it
works with multiple-register variables.
2023-02-22 18:28:19 +01:00
Francisco Casas
75359e6dbd
vkd3d-shader/hlsl: Respect object reservations even if the object is unused.
2023-02-22 18:28:19 +01:00
Francisco Casas
7a7116eaab
tests: Test allocation of unused objects.
2023-02-22 18:28:19 +01:00
Francisco Casas
c5384b38ee
vkd3d-shader/hlsl: Allocate objects according to register set.
2023-02-22 18:28:19 +01:00
Francisco Casas
e0031d2a1f
vkd3d-shader/hlsl: Keep an hlsl_reg for each register set in hlsl_ir_var.
2023-02-22 18:28:19 +01:00
Francisco Casas
5272c5f86a
vkd3d-shader/hlsl: Obtain extern resources as a separate array in SM4.
2023-02-22 18:28:19 +01:00
Francisco Casas
d07247249a
vkd3d-shader/hlsl: Store the type's register size for each register set.
2023-02-22 18:28:19 +01:00
Francisco Casas
315966dc21
vkd3d-shader/hlsl: Leave offset empty for array and struct derefs.
2023-02-22 18:28:19 +01:00
Zebediah Figura
7c1c2e6cc4
vkd3d-shader/hlsl: Parse the tex3D() intrinsic.
2023-02-22 18:28:19 +01:00
Zebediah Figura
645ec0167a
vkd3d-shader/hlsl: Parse the tex2D() intrinsic.
2023-02-22 18:28:19 +01:00
Francisco Casas
9fdff25a3b
vkd3d-shader/hlsl: Avoid segfault on missing sampler.
2023-02-22 18:28:19 +01:00
Nikolay Sivov
d86db8bcbe
vkd3d-shader/hlsl: Support lit() intrinsic.
2023-02-21 21:09:52 +01:00
Zebediah Figura
02e3be811b
configure: Declare LFLAGS and YFLAGS as precious.
...
Normally AC_PROG_LEX and AC_PROG_YACC do this, but we demand flex and bison specifically.
2023-02-20 22:00:00 +01:00
Francisco Casas
7f009f59ce
vkd3d-shader/hlsl: Add a more specific error for missing compatible fn. definitions.
2023-02-20 21:59:54 +01:00
Francisco Casas
f08c0a7c03
vkd3d-shader/hlsl: Find compatible function overloads.
...
But still throw hlsl_fixme() when there is more than one.
Prioritizing among multiple compatible function overloads in the same way
as the native compiler would require systematic testing.
2023-02-20 21:59:53 +01:00
Francisco Casas
d279d34801
vkd3d-shader/hlsl: Parse array types in function parameters.
2023-02-20 21:59:51 +01:00
Francisco Casas
9df54851c9
tests: Test array parameters on functions.
2023-02-20 21:59:51 +01:00
Francisco Casas
1b951c87f6
tests: Add more tests for broadcasts in function call args.
2023-02-20 21:59:51 +01:00
Francisco Casas
2a9b9f7530
vkd3d-shader/hlsl: Rename compatible_data_types() to be more specific.
2023-02-20 21:59:50 +01:00
Zebediah Figura
6767b7abbf
vkd3d-shader/hlsl: Avoid warning for each variable when in/out modifiers are specified on non-parameters.
2023-02-20 21:59:45 +01:00
Zebediah Figura
72ec5563f8
vkd3d-shader/hlsl: Remove a redundant warning for mutually exclusive majority modifiers.
...
We will warn subsequently in apply_type_modifiers() or add_typedef().
2023-02-20 21:59:43 +01:00
Zebediah Figura
af65287423
vkd3d-shader/hlsl: Check for majority modifiers on non-matrices in apply_type_modifiers().
2023-02-20 21:59:42 +01:00
Zebediah Figura
1ee7a4e82a
tests: Add more tests for majority modifier syntax.
2023-02-20 21:59:42 +01:00
Zebediah Figura
1c29b45c1f
tests: Test macro expansion in pack_matrix pragmas.
2023-02-20 21:59:42 +01:00