Shaun Ren
646087d54c
vkd3d-shader/hlsl: Collect together terms with constant coefficients.
...
We apply distributivity to applicable expressions, specifically with
the following rewrite rules:
(x OPL a) OPR (x OPL b) -> x OPL (a OPR b)
(y OPR (x OPL a)) OPR (x OPL b) -> y OPR (x OPL (a OPR b))
((x OPL a) OPR y) OPR (x OPL b) -> (x OPL (a OPR b)) OPR y
(x OPL a) OPR ((x OPL b) OPR y) -> (x OPL (a OPR b)) OPR y
(x OPL a) OPR (y OPR (x OPL b)) -> (x OPL (a OPR b)) OPR y
where a, b are constants.
2025-01-10 19:17:43 +01:00
Henri Verbeet
45d9a097e6
vkd3d-shader/hlsl: Move sm4_free_extern_resources() to hlsl_codegen.c.
2024-12-19 21:09:32 +01:00
Henri Verbeet
b143754360
vkd3d-shader/hlsl: Move sm4_get_extern_resources() to hlsl_codegen.c.
2024-12-19 21:09:32 +01:00
Henri Verbeet
0236c480e3
vkd3d-shader/hlsl: Make sm4_get_interpolation_mode() static.
2024-12-19 21:09:32 +01:00
Giovanni Mascellani
4f7eb890ef
vkd3d-shader/ir: Validate OUTCONTROLPOINT source parameters.
2024-12-19 21:06:13 +01:00
Giovanni Mascellani
495e10e93b
vkd3d-shader/ir: Validate INCONTROLPOINT source parameters.
2024-12-19 21:06:13 +01:00
Giovanni Mascellani
513609ef0e
vkd3d-shader/ir: Validate INPUT source parameters.
2024-12-19 21:06:13 +01:00
Giovanni Mascellani
23d4bd1dae
vkd3d-shader/ir: Validate PATCHCONST source parameters using a uniform helper.
2024-12-19 21:06:13 +01:00
Giovanni Mascellani
67420aa8b6
vkd3d-shader/ir: Validate OUTPUT source parameters using a uniform helper.
2024-12-19 21:06:13 +01:00
Giovanni Mascellani
7de7025750
vkd3d-shader/ir: Disallow array signature elements for normalisation levels < SM6.
2024-12-19 21:06:13 +01:00
Elizabeth Figura
d164752efc
vkd3d-shader/d3dbc: Introduce d3dbc_parse_register().
2024-12-18 17:30:16 +01:00
Elizabeth Figura
3c53293028
vkd3d-shader/ir: Separate VKD3DSPR_OUTPUT and VKD3DSPR_TEXCRDOUT.
...
This simplifies the IR.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
8132239ed2
vkd3d-shader/ir: Separate VKD3DSPR_ADDR and VKD3DSPR_TEXTURE.
...
This simplifies the IR.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
0df5dea653
vkd3d-shader/d3d-asm: Define register names in a table.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
65f3f56f63
vkd3d-shader/d3dbc: Normalize to a single VKD3DSPR_CONST register set when reading.
...
We don't need VKD3DSPR_CONST2 et al in the IR, even for disassembly.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
118617916a
vkd3d-shader: Explicitly translate between d3dbc and vsir register types.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
efe686105d
vkd3d-shader/spirv: Correctly implement DTOU.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
4130ce5bb9
vkd3d-shader/spirv: Correctly implement DTOI.
2024-12-18 17:30:16 +01:00
Elizabeth Figura
f416713608
vkd3d-shader/spirv: Correctly implement DTOF.
2024-12-18 17:30:16 +01:00
Francisco Casas
825784322d
vkd3d-shader/ir: Properly lower texldp.
2024-12-18 17:30:15 +01:00
Francisco Casas
7cc802afd7
vkd3d-shader/ir: Properly lower texldb.
2024-12-18 17:27:43 +01:00
Francisco Casas
59df26af79
vkd3d-shader/hlsl: Lower sample lods for SM1.
...
For SM1 the lod bias should be in src0.w.
2024-12-18 17:27:43 +01:00
Anna (navi) Figueiredo Gomes
f09ac4959e
vkd3d-shader/hlsl: Implement the GatherCmp() methods.
2024-12-18 17:27:43 +01:00
Conor McCarthy
8d479d2ea6
vkd3d-shader/dxil: Implement DX intrinsic EvalCentroid.
2024-12-18 17:27:43 +01:00
Conor McCarthy
1bb3b13c0a
vkd3d-shader/dxil: Implement DX intrinsic EvalSampleIndex.
2024-12-18 17:27:43 +01:00