Conor McCarthy
|
b3903636f7
|
vkd3d-shader/dxil: Implement DX intrinsic Binary.
|
2024-01-23 20:26:29 +01:00 |
|
Conor McCarthy
|
6c71cd5a72
|
vkd3d-shader/dxil: Add an operand type code for the return type.
|
2024-01-23 20:26:28 +01:00 |
|
Henri Verbeet
|
94ca46916a
|
vkd3d-shader/ir: Store the SSA register count in struct vsir_program.
|
2024-01-22 22:18:52 +01:00 |
|
Henri Verbeet
|
23dcd4f22b
|
vkd3d-shader/ir: Store the shader version in struct vsir_program.
|
2024-01-22 22:18:50 +01:00 |
|
Henri Verbeet
|
fc9043be3c
|
vkd3d-shader/ir: Introduce struct vsir_program.
|
2024-01-22 22:18:48 +01:00 |
|
Conor McCarthy
|
55c7cd5c22
|
vkd3d-shader/dxil: Handle semantic kind ISFRONTFACE.
|
2024-01-22 22:18:33 +01:00 |
|
Conor McCarthy
|
9f409b67d7
|
vkd3d-shader/dxil: Handle semantic kind VERTEXID.
|
2024-01-22 22:18:32 +01:00 |
|
Conor McCarthy
|
bfdc8b31a3
|
vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers.
|
2024-01-22 22:18:21 +01:00 |
|
Conor McCarthy
|
85052ba93e
|
vkd3d-shader/dxil: Load typed UAV descriptors.
|
2024-01-22 22:18:19 +01:00 |
|
Conor McCarthy
|
89d1ef83f4
|
vkd3d-shader/dxil: Load typed SRV descriptors.
|
2024-01-22 22:18:18 +01:00 |
|
Conor McCarthy
|
80d7ea2924
|
vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
Simplifies handling of intrinsics which need to emit more than one
instruction.
|
2024-01-22 22:18:16 +01:00 |
|
Conor McCarthy
|
efe800f7f0
|
vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
|
2024-01-18 23:15:14 +01:00 |
|
Conor McCarthy
|
ba1ee27b4b
|
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
|
2024-01-18 23:15:12 +01:00 |
|
Conor McCarthy
|
8a5804eb43
|
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
|
2024-01-18 23:15:10 +01:00 |
|
Conor McCarthy
|
c9493884ef
|
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
|
2024-01-18 23:15:03 +01:00 |
|
Conor McCarthy
|
9e964fa0c7
|
vkd3d-shader/dxil: Introduce a code block terminator struct.
|
2024-01-18 23:15:01 +01:00 |
|
Conor McCarthy
|
559d9d4ee0
|
vkd3d-shader/ir: Include an initial label instruction in the first control flow block.
|
2024-01-17 22:28:41 +01:00 |
|
Conor McCarthy
|
b4b2b0d3ac
|
vkd3d-shader/spirv: Declare indexable temps as Private unless function scope is specified.
|
2024-01-17 22:28:39 +01:00 |
|
Giovanni Mascellani
|
7503429555
|
vkd3d-shader/ir: Check that TEMP registers have consistent dimensions.
|
2024-01-15 19:56:59 +01:00 |
|
Conor McCarthy
|
ac9b14599f
|
vkd3d-shader/dxil: Avoid null dereference on failure to find function pointer type.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55684
|
2024-01-11 23:05:17 +01:00 |
|
Giovanni Mascellani
|
e29ae1550c
|
vkd3d-shader/dxil: Create constant buffer registers with dimension vec4.
|
2024-01-04 22:23:21 +01:00 |
|
Giovanni Mascellani
|
3bafee344d
|
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() for error reporting when available.
|
2024-01-03 22:38:26 +01:00 |
|
Giovanni Mascellani
|
a02cd1cf64
|
vkd3d-shader/dxil: Do not use the parser before it is initialized.
|
2024-01-03 22:38:24 +01:00 |
|
Conor McCarthy
|
111818eabb
|
vkd3d-shader/dxil: Pre-allocate instruction space for globals in sm6_parser_globals_init().
For simplicity, declaration handlers assume instruction allocation will
not fail.
|
2024-01-03 22:38:21 +01:00 |
|
Conor McCarthy
|
8aa6e2228e
|
vkd3d-shader/dxil: Count global variables in dxil_block_compute_module_decl_count().
|
2024-01-03 22:38:19 +01:00 |
|
Henri Verbeet
|
ed4f3f3272
|
vkd3d-shader/ir: Rename the "immconst_double" field of struct vkd3d_shader_register to "immconst_f64".
|
2024-01-03 22:37:49 +01:00 |
|
Henri Verbeet
|
7f94fda05c
|
vkd3d-shader/ir: Rename the "immconst_uint64" field of struct vkd3d_shader_register to "immconst_u64".
|
2024-01-03 22:37:43 +01:00 |
|
Henri Verbeet
|
05a542ba00
|
vkd3d-shader/ir: Rename the "immconst_float" field of struct vkd3d_shader_register to "immconst_f32".
|
2024-01-03 22:37:41 +01:00 |
|
Henri Verbeet
|
e33d3b3954
|
vkd3d-shader/ir: Rename the "immconst_uint" field of struct vkd3d_shader_register to "immconst_u32".
For consistency with the rest of vkd3d-shader; e.g. put_u32() and
read_u32().
|
2024-01-03 22:37:39 +01:00 |
|
Conor McCarthy
|
1929432559
|
vkd3d-shader: Introduce an instruction flag to suppress masking of bitwise shift counts.
DXIL does not use implicit masking of shift counts.
|
2023-12-12 22:50:46 +01:00 |
|
Fabian Maurer
|
9cb4372378
|
vkd3d-shader/dxil: Check null pointer before it is dereferenced (Coverity).
|
2023-12-11 23:18:58 +01:00 |
|
Conor McCarthy
|
3db7c2a62d
|
vkd3d-shader/dxil: Implement the DXIL STORE instruction.
|
2023-12-11 23:18:51 +01:00 |
|
Conor McCarthy
|
2d5f2bf7a4
|
vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction.
|
2023-12-11 23:18:50 +01:00 |
|
Zebediah Figura
|
d49bccea9a
|
vkd3d-shader/dxil: No longer synthesize DCL instructions.
|
2023-12-11 23:18:45 +01:00 |
|
Zebediah Figura
|
75348dff12
|
vkd3d-shader/dxil: Map SEMANTIC_KIND_TARGET to VKD3D_SHADER_SV_TARGET.
|
2023-12-11 23:18:43 +01:00 |
|
Conor McCarthy
|
a4a1b4c557
|
vkd3d-shader/dxil: Set the result register data type for nop casts.
Casts from minimum precision types are emitted as nop, but the result
value type must be set to the cast result type.
|
2023-12-07 21:57:08 +01:00 |
|
Conor McCarthy
|
1630fd9a3c
|
vkd3d-shader/dxil: Apply metadata attachments to instructions.
These are apparently only used for 'dx.op' intrinsics, because the
instructions based on native LLVM ones have their own way to apply
attributes.
|
2023-12-07 21:57:00 +01:00 |
|
Conor McCarthy
|
a33a9127ca
|
vkd3d-shader/dxil: Implement DX intrinsic Unary.
|
2023-12-07 21:56:53 +01:00 |
|
Conor McCarthy
|
cc5e703802
|
vkd3d-shader/dxil: Emit constant global arrays as immediate constant buffers.
|
2023-12-07 21:56:47 +01:00 |
|
Conor McCarthy
|
cb88844a3d
|
vkd3d-shader: Add a register index to struct vkd3d_shader_immediate_constant_buffer.
|
2023-12-07 21:56:47 +01:00 |
|
Conor McCarthy
|
ffae57eb8d
|
vkd3d-shader/dxil: Support null constant arrays.
|
2023-12-07 21:56:43 +01:00 |
|
Giovanni Mascellani
|
a52604da8c
|
vkd3d-shader/dxil: Declare IO registers as VEC4.
Otherwise, for instance, their write masks and swizzles are not written
in the D3D ASM dump.
|
2023-11-28 21:49:18 +01:00 |
|
Jacek Caban
|
1edbc05745
|
vkd3d-shader: Use unsigned int type for tags passed to sm6_metadata_get_uint_value.
|
2023-11-28 00:09:29 +01:00 |
|
Conor McCarthy
|
eb05e434ff
|
vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
|
2023-11-22 22:07:59 +01:00 |
|
Conor McCarthy
|
59730ecfd8
|
vkd3d-shader/dxil: Implement the DXIL GEP instruction.
|
2023-11-22 22:07:58 +01:00 |
|
Conor McCarthy
|
a0f5d70792
|
vkd3d-shader/dxil: Support global variable initialisers.
|
2023-11-22 22:07:57 +01:00 |
|
Conor McCarthy
|
f2a656b876
|
vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
|
2023-11-22 22:07:56 +01:00 |
|
Conor McCarthy
|
85d5f83fb7
|
vkd3d-shader/dxil: Implement default address space global variables.
|
2023-11-22 22:07:54 +01:00 |
|
Conor McCarthy
|
3c4631a4d4
|
vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
|
2023-11-15 21:48:35 +01:00 |
|
Conor McCarthy
|
408f67c69c
|
vkd3d-shader/dxil: Handle missing flags as zero for CMP2.
The flag operand is omitted if IEEE strictness is specified.
|
2023-11-14 23:06:43 +01:00 |
|