Zebediah Figura
53d5ea639c
vkd3d-shader/hlsl: Return a hlsl_block from the "assignment_expr" rule.
2023-07-11 22:44:06 +02:00
Conor McCarthy
1ec112e3d7
vkd3d-shader/dxil: Read function bodies.
2023-07-11 22:43:58 +02:00
Conor McCarthy
5d33fb4633
vkd3d-shader/dxil: Read numeric constants.
2023-07-11 22:43:57 +02:00
Conor McCarthy
c96143abdc
vkd3d-shader/dxil: Read global function declarations.
2023-07-11 22:43:55 +02:00
Conor McCarthy
22157c3da3
vkd3d-shader/dxil: Validate the module format version.
2023-07-11 22:43:53 +02:00
Conor McCarthy
eca4b62c7e
vkd3d-shader/dxil: Read the value symbol table.
2023-07-11 22:43:49 +02:00
Conor McCarthy
571d807dd8
vkd3d-shader/dxil: Read the type table.
2023-07-11 22:43:48 +02:00
Conor McCarthy
41a5d37935
vkd3d-shader/dxil: Use size_t where applicable.
2023-07-11 22:43:46 +02:00
Andrey Gusev
d4d960cb8b
vkd3d-shader/spirv: Add support for VKD3DSIM_LINEAR_NOPERSPECTIVE_SAMPLE interpolation qualifier.
...
Used by F1 2018.
2023-07-10 23:17:59 +02:00
Zebediah Figura
6e303af519
vkd3d-shader/hlsl: Free the "iter" block pointer on success in create_loop().
...
Spotted by Giovanni Mascellani.
2023-07-05 22:32:48 +02:00
Zebediah Figura
b0ac77b44d
vkd3d-shader/hlsl: Return a hlsl_block from the "expr_statement" and "expr" rules.
2023-07-05 22:32:47 +02:00
Zebediah Figura
07ce711583
vkd3d-shader/hlsl: Return a hlsl_block from the "jump_statement" rule.
2023-07-05 22:32:46 +02:00
Zebediah Figura
e4bf5933b9
vkd3d-shader/hlsl: Return a hlsl_block from the "selection_statement" rule.
2023-07-05 22:32:45 +02:00
Zebediah Figura
79dd9544b7
vkd3d-shader/hlsl: Return a hlsl_block from the "loop_statement" rule.
2023-07-05 22:32:43 +02:00
Zebediah Figura
23ff83e8a0
vkd3d-shader/hlsl: Return a hlsl_block from the "statement" rule.
...
As well as from the "statement_list" and "compound_statement" rules, which
trivially pass through from "statement".
2023-07-05 22:32:41 +02:00
Zebediah Figura
53e9ad3e4c
vkd3d-shader/hlsl: Do not emit DEF instructions for uniform constants.
2023-07-04 22:40:20 +02:00
Zebediah Figura
e5afbda34a
vkd3d-shader/hlsl: Simplify allocate_const_registers_recurse() to stop accounting for constants larger than a vector.
...
That cannot happen with the current code.
2023-07-04 22:40:16 +02:00
Zebediah Figura
8a2b357855
vkd3d-shader/hlsl: Allocate anonymous constants after uniforms.
2023-07-04 22:40:13 +02:00
Zebediah Figura
717cd3f5bb
vkd3d-shader/hlsl: Consistently use the destination width in constant folding instructions (Valgrind).
2023-07-04 22:40:06 +02:00
Zebediah Figura
e390bc35e2
vkd3d-shader/d3dbc: Set the source count for DEF instructions to 1 (Valgrind).
...
We emit one source with multiple components.
2023-07-04 22:40:04 +02:00
Nikolay Sivov
06040d2a30
vkd3d-shader/hlsl: Disallow certain instruction types from constant expressions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-04 22:39:57 +02:00
Nikolay Sivov
a65c0b0e22
vkd3d-shader/hlsl: Support evaluated expressions for sample count in multisampled textures declarations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-04 22:39:55 +02:00
Zebediah Figura
73d422a0e0
vkd3d-shader/d3dbc: Scan for the maximum temporary register index.
2023-07-04 22:39:48 +02:00
Zebediah Figura
e489098878
vkd3d-shader: Record a global temporary count per sm4 shader.
...
Store it in the shader_desc, and declare temps from that when compiling SPIR-V,
instead of parsing dcl_instructions.
As part of this change, we declare a single, global temps array (with Private
scope instead of Function) which is as large as the maximum of all dcl_temps
instructions. It is not clear to me whether this will improve, hurt, or have no
significant effect on the lower-level compiler. An alternative is to still
redeclare a new temps array every time (although still with a smaller size).
2023-07-04 22:39:45 +02:00
Zebediah Figura
dfb2a316e6
vkd3d-shader/dxbc: Remove redundant zero-initialization of the vkd3d_shader_desc structure.
2023-07-04 22:39:43 +02:00