Conor McCarthy
425e0aa6c3
tests/hlsl: Supply data for all mip levels in calculate-lod.shader_test.
...
Fixes invalid read in the GL runner.
2024-04-15 21:33:40 +02:00
Conor McCarthy
23db066922
vkd3d-shader/ir: Implement MAD in two operations if flagged as precise.
...
With some changes by Giovanni Mascellani.
2024-04-15 21:33:35 +02:00
Giovanni Mascellani
9112a5be58
vkd3d-shader/ir: Move DCL_TEMPS removal to the generic instruction lowering pass.
2024-04-15 21:33:34 +02:00
Giovanni Mascellani
8a17a5a08b
vkd3d-shader/ir: Introduce vsir_program_lower_instructions().
...
It is meant as generic pass to host all program changes to single
instructions that do not require keeping a global state, intstead
of having to loop through the whole program many times.
2024-04-15 21:33:32 +02:00
Giovanni Mascellani
a7dc6dcce2
vkd3d-shader/ir: Split handling jumps when emitting a structured program.
2024-04-15 21:33:28 +02:00
Giovanni Mascellani
1a8a4c7787
vkd3d-shader/ir: Split handling selections when emitting a structured program.
2024-04-15 21:33:26 +02:00
Giovanni Mascellani
052df4d693
vkd3d-shader/ir: Split handling loops when emitting a structured program.
2024-04-15 21:33:16 +02:00
Giovanni Mascellani
5e42f6779a
vkd3d-shader/ir: Split handling blocks when emitting a structured program.
2024-04-15 21:33:15 +02:00
Giovanni Mascellani
b4cfc24f67
vkd3d-shader/ir: Refactor declaration emission outside of the CFG structure.
...
This is in preparation of handling more than one function (as
it happens for Hull Shaders), which will require having a single
row of declarations, but handling more than one CFG.
2024-04-15 21:33:14 +02:00
Giovanni Mascellani
27801e5612
vkd3d-shader/ir: Split undominated SSA materialization.
2024-04-15 21:33:13 +02:00
Giovanni Mascellani
d891ac5017
vkd3d-shader/ir: Split program structurization.
2024-04-15 21:33:12 +02:00
Giovanni Mascellani
eb15f97083
vkd3d-shader/ir: Move breaks out of selections again after having optimized loops.
2024-04-15 21:33:08 +02:00
Giovanni Mascellani
be7eec75dc
vkd3d-shader/ir: Append code to the non-breaking branch if there is breaking one.
2024-04-15 21:33:07 +02:00
Giovanni Mascellani
a2c6b5450b
vkd3d-shader/ir: Prepare for changing the destination list in vsir_cfg_optimize_recurse().
2024-04-15 21:33:05 +02:00
Petrichor Park
1fb9e7526b
vkd3d-shader/hlsl: Implement tanh.
2024-04-15 21:32:59 +02:00
Petrichor Park
c4182cc272
vkd3d-shader/hlsl: Implement hyperbolic sin and cos.
2024-04-15 21:32:56 +02:00
Henri Verbeet
2b7d9790d6
configure: Use AC_CHECK_TOOL to check for widl.
...
In particular, this will automatically pick up
x86_64-w64-mingw32-widl/i686-w64-mingw32-widl (provided by mingw-w64-tools on
Debian) when present and building for the corresponding hosts.
2024-04-11 16:12:22 -05:00
Giovanni Mascellani
aad040af05
vkd3d-shader/ir: Remove loops that terminate with a `break'.
2024-04-11 09:22:14 -05:00
Giovanni Mascellani
105ccc4769
vkd3d-shader/ir: Count how many jumps target each loop.
2024-04-11 09:22:13 -05:00
Giovanni Mascellani
f5d1b5d263
vkd3d-shader/ir: Move `break's out of selection constructs when possible.
2024-04-11 09:22:11 -05:00
Giovanni Mascellani
e29706d366
tests: Check that side effects do not happen after discard.
2024-04-10 08:55:33 -05:00
Nikolay Sivov
8d78e3a821
vkd3d-shader/hlsl: Support refract() intrinsic.
...
With some changes by Giovanni Mascellani.
2024-04-10 08:55:27 -05:00
Nikolay Sivov
fd9e1a87ff
vkd3d-shader/hlsl: Test refract() intrinsic.
...
With some changes by Giovanni Mascellani.
2024-04-10 08:55:26 -05:00
Giovanni Mascellani
ecad299ba4
vkd3d-shader/hlsl: Emit half results when operating on half arguments.
2024-04-10 08:55:24 -05:00
Zebediah Figura
280bea9033
vkd3d-shader/fx: Use a switch in write_fx_2_initial_value().
2024-04-10 08:55:20 -05:00
Zebediah Figura
6c6106f780
vkd3d-shader/fx: Move unimplemented type checks into is_type_supported_fx_2().
2024-04-10 08:55:19 -05:00
Zebediah Figura
047040fc63
vkd3d-shader/fx: Don't use an array to write the type class.
2024-04-10 08:55:18 -05:00
Zebediah Figura
285059ef11
vkd3d-shader/d3dbc: Consider the class in sm1_base_type().
...
We want the base type to stop being a property of all types, and to stop using
the same enumeration for objects and numeric types. The backend should do the
work of translation; we want a more sensible and convenient representation for
the compiler itself.
2024-04-10 08:55:17 -05:00
Zebediah Figura
a882d60534
vkd3d-shader/hlsl: Map HLSL_TYPE_DOUBLE to D3DXPT_FLOAT.
2024-04-10 08:55:15 -05:00
Conor McCarthy
9d7f63dc26
vkd3d: Validate that a resource with initial state RENDER_TARGET is a render target.
2024-04-10 08:55:11 -05:00
Conor McCarthy
78301d7202
vkd3d: Validate presence of flag ALLOW_RENDER_TARGET or ALLOW_DEPTH_STENCIL for multisampled resources.
2024-04-10 08:55:11 -05:00
Conor McCarthy
e46de1daa2
tests/d3d12: Test resource flags for multisampled resources.
2024-04-10 08:55:09 -05:00
Stefan Dösinger
a7860ae752
vkd3d: Implement reopening existing caches.
2024-04-10 08:54:58 -05:00
Stefan Dösinger
f24005507c
vkd3d: Implement opening and closing shader caches.
2024-04-10 08:54:58 -05:00
Stefan Dösinger
26387e1d4b
tests: Add CreateShaderCacheSession pointer clearing tests.
...
Native's behavior is inconsistent. It sets the pointer to NULL when it
fails to open an existing cache due to a version mismatch, but leaves
the pointer untouched when the description fails validation.
2024-04-10 08:54:56 -05:00
Giovanni Mascellani
42f07352a0
ci: Build Mesa for release.
...
Otherwise it trips on a few failed assertions in d3d12.c.
2024-04-10 08:54:51 -05:00
Giovanni Mascellani
0be29f78c0
tests: Pop the test context when leaving its scope.
2024-04-10 08:54:51 -05:00
Giovanni Mascellani
59a5d8f852
tests: Add llvmpipe among the Mesa drivers.
2024-04-10 08:54:50 -05:00
Giovanni Mascellani
ecd38f3d1b
tests: Print the device name.
2024-04-10 08:54:50 -05:00
Giovanni Mascellani
7cfb02cfd3
tests: Skip some tests that crash on llvmpipe.
2024-04-10 08:54:50 -05:00
Giovanni Mascellani
0b2ce5c13a
tests: Mark some test failures as todo on llvmpipe.
2024-04-10 08:54:50 -05:00
Giovanni Mascellani
a2bb4ef301
vkd3d-shader/d3d-asm: Reset indent level on HS phases.
2024-04-10 08:54:29 -05:00
Conor McCarthy
cb5411408a
vkd3d-shader/dxil: Implement DX intrinsic CalculateLOD.
2024-04-10 08:54:23 -05:00
Conor McCarthy
bdfa14d219
tests/hlsl: Add tests for CalculateLevelOfDetail().
...
Includes improvements made by Giovanni Mascellani.
2024-04-10 08:54:23 -05:00
Francisco Casas
e9559c394b
vkd3d-shader/hlsl: Allow KW_PIXELSHADER and KW_VERTEXSHADER as stateblock lhs.
2024-04-10 08:54:23 -05:00
Francisco Casas
ef9ae22ed0
vkd3d-shader/hlsl: Store state block on pass variables.
2024-04-10 08:54:23 -05:00
Francisco Casas
a99bcb1196
vkd3d-shader/hlsl: Parse list of state blocks.
2024-04-10 08:54:23 -05:00
Francisco Casas
80320f6129
vkd3d-shader/hlsl: Introduce hlsl_ir_stateblock_constant.
2024-04-10 08:54:23 -05:00
Francisco Casas
ee0d439a1b
vkd3d-shader/hlsl: Parse and store state blocks on variables.
2024-04-10 08:54:23 -05:00
Francisco Casas
73ef6907bc
tests: Add tests for "compile" and CompileShader() syntax.
2024-04-10 08:54:23 -05:00