3952 Commits

Author SHA1 Message Date
Francisco Casas
c58d666d1b vkd3d-shader/hlsl: Handle resource components individually for SM 5.0. 2023-07-17 22:55:40 +02:00
Francisco Casas
8f8c7a02ee vkd3d-shader/tpf: Introduce struct extern_resource.
This struct is required for handling both whole-variable resources for
SM < 5 and single-component resources for SM 5 in the same way, when
writting the RDEF block and resource declarations within the shader.
2023-07-17 22:55:39 +02:00
Francisco Casas
ae6bc398d6 vkd3d-shader/hlsl: Allow derefs to provide the data_type.
After lowering the derefs path to a single offset node, there was no way
of knowing the type of the referenced part of the variable. This little
modification allows to avoid having to pass the data type everywhere and
it is required for supporting instructions that reference objects
components within struct types.

Since deref->data_type allows us to retrieve the type of the deref,
deref->offset_regset is no longer necessary.
2023-07-17 22:55:36 +02:00
Zebediah Figura
d4b5e79c8b vkd3d-shader/hlsl: Skip unallocated variables when looking for reservation conflicts. 2023-07-13 23:00:03 +02:00
Zebediah Figura
aec9ea085e vkd3d-shader/hlsl: Return a hlsl_block from the "postfix_expr" rule. 2023-07-11 22:44:15 +02:00
Zebediah Figura
e222a786a1 vkd3d-shader/hlsl: Return a hlsl_block from binary and ternary expression rules. 2023-07-11 22:44:12 +02:00
Zebediah Figura
3079c874e3 vkd3d-shader/hlsl: Return a hlsl_block from the "unary_expr" rule. 2023-07-11 22:44:10 +02:00
Zebediah Figura
28dff58fb5 vkd3d-shader/hlsl: Return a hlsl_block from the "initializer_expr" rule. 2023-07-11 22:44:09 +02:00
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
Giovanni Mascellani
2a3413e0f0 demos: Use a fence to synchronize D3D12 and Vulkan work. 2023-07-06 20:09:53 +02:00
Giovanni Mascellani
b2a1f6b5e4 include: Document vkd3d_acquire_vk_queue() and vkd3d_release_vk_queue(). 2023-07-06 20:09:53 +02:00
Evan Tang
574239e3e3 vkd3d: Make CopyResource use a temp buffer for depth <-> color copies.
depth <-> color copies aren't allowed in Vulkan
2023-07-06 20:09:50 +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