Conor McCarthy
5e63164d01
vkd3d-shader/dxil: Implement structured groupshared address space global variables.
2024-03-14 22:48:44 +01:00
Conor McCarthy
0965a3608a
vkd3d-shader/dxil: Implement raw groupshared address space global variables.
2024-03-14 22:48:43 +01:00
Conor McCarthy
4f0e5b9069
vkd3d-shader/dxil: Support 16-bit types.
2024-03-11 22:10:06 +01:00
Giovanni Mascellani
1690b0b554
vkd3d-shader: Remove the bytecode fields from vkd3d_shader_desc.
2024-03-11 22:09:32 +01:00
Giovanni Mascellani
204c8afb9c
vkd3d-shader/dxbc: Remove flag is_dxil.
...
The full shader profile is already available in vsir_program.
2024-03-11 22:09:31 +01:00
Giovanni Mascellani
470d83a9da
vkd3d-shader: Move shader signatures to vsir_program.
2024-03-11 22:09:31 +01:00
Giovanni Mascellani
56dc0c9842
vkd3d-shader/dxbc: Decouple vkd3d_shader_desc from DXBC parsing.
2024-03-11 22:09:30 +01:00
Conor McCarthy
7b4b0143bd
vkd3d-shader/dxil: Implement DX intrinsic TextureGatherCmp.
2024-03-11 22:09:20 +01:00
Conor McCarthy
5a6fd010ac
vkd3d-shader/dxil: Implement DX intrinsic TextureGather.
2024-03-11 22:09:18 +01:00
Conor McCarthy
f212aad0ff
vkd3d-shader/dxil: Support FCMP_ORD and FCMP_UNO for CMP2.
2024-03-08 23:36:13 +01:00
Conor McCarthy
c083b1d0fc
vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
2024-02-26 23:03:48 +01:00
Conor McCarthy
292bbdefbf
vkd3d-shader/dxil: Move the resource kind helper functions up.
2024-02-26 23:03:46 +01:00
Conor McCarthy
ba4bd651e5
vkd3d-shader/dxil: Implement DX intrinsics SampleCmp and SampleCmpLevelZero.
2024-02-22 22:45:36 +01:00
Conor McCarthy
2330ffdeda
vkd3d-shader/dxil: Implement DX intrinsics SampleBias and SampleLevel.
2024-02-22 22:45:34 +01:00
Conor McCarthy
1dffc281c9
vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
2024-02-22 22:45:08 +01:00
Conor McCarthy
cab8b781ab
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
2024-02-22 22:45:07 +01:00
Conor McCarthy
ce1875c435
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
2024-02-22 22:45:06 +01:00
Conor McCarthy
d9c68ee481
vkd3d-shader/dxil: Handle resource descriptor additional tag/value pairs.
...
These are tag/value pairs, and the current code only works if an element
type or element stride pair is present at index zero.
2024-02-20 22:50:19 +01:00
Conor McCarthy
96a0685ba6
vkd3d-shader/dxil: Implement DX intrinsic AtomicCompareExchange.
2024-02-20 22:50:16 +01:00
Conor McCarthy
560c9413c3
vkd3d-shader/dxil: Implement DX intrinsic AtomicBinOp.
2024-02-20 22:50:15 +01:00
Conor McCarthy
55c28e94f8
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_vselect().
2024-02-14 21:48:32 +01:00
Conor McCarthy
c89627ec73
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_store().
2024-02-14 21:48:31 +01:00
Conor McCarthy
4c7d956bdb
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_load().
2024-02-14 21:48:30 +01:00
Conor McCarthy
04a9340164
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_extractval().
2024-02-14 21:48:28 +01:00
Conor McCarthy
3c1ad054f0
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cmp2().
2024-02-14 21:48:26 +01:00
Conor McCarthy
cddb696499
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cast().
2024-02-14 21:48:25 +01:00
Conor McCarthy
76455580e2
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_texture_load().
2024-02-14 21:48:24 +01:00
Conor McCarthy
d04a8ea893
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_split_double().
2024-02-14 21:48:23 +01:00
Conor McCarthy
8c3512bd10
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_sincos().
2024-02-14 21:48:22 +01:00
Conor McCarthy
cc5293bb4f
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_buffer_load().
2024-02-14 21:48:21 +01:00
Conor McCarthy
6e3e200e96
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_load_input().
2024-02-14 21:48:20 +01:00
Conor McCarthy
eb1bfaa821
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_tertiary().
2024-02-14 21:48:19 +01:00
Conor McCarthy
1a2de25273
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_cbuffer_load().
2024-02-14 21:48:18 +01:00
Conor McCarthy
0a23c81196
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_binary().
2024-02-14 21:48:17 +01:00
Conor McCarthy
83e6ee4b3d
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_unary().
2024-02-14 21:48:14 +01:00
Conor McCarthy
217eb06f37
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_binop().
2024-02-14 21:48:13 +01:00
Conor McCarthy
5a76cedf87
vkd3d-shader/dxil: Implement DX intrinsic SampleGrad.
2024-02-14 21:48:08 +01:00
Conor McCarthy
5178fb7364
vkd3d-shader/dxil: Implement DX intrinsic Sample.
2024-02-14 21:48:06 +01:00
Conor McCarthy
0a3eb61170
vkd3d-shader/dxil: Load sampler descriptors.
2024-02-14 21:48:03 +01:00
Conor McCarthy
625e289574
vkd3d-shader/dxil: Handle hyperbolic trigonometric functions in sm6_parser_emit_dx_unary().
2024-02-07 22:59:23 +01:00
Conor McCarthy
c35ec4f820
vkd3d-shader/dxil: Implement DX intrinsic TextureStore.
2024-02-07 22:59:18 +01:00
Conor McCarthy
efddcc9a99
vkd3d-shader/dxil: Support forward-referenced value ids.
2024-02-07 22:59:10 +01:00
Conor McCarthy
19d23fa696
vkd3d-shader/dxil: Handle inverse trigonometric functions in sm6_parser_emit_dx_unary().
2024-02-06 23:09:53 +01:00
Giovanni Mascellani
674f86042d
vkd3d-shader/dxil: Set the register before calling src_param_init_scalar().
...
Which uses the register to compute the appropriate swizzle.
Fixes: 1f536238a8
2024-02-06 23:06:49 +01:00
Conor McCarthy
ebec0aa434
vkd3d-shader/dxil: Implement DX intrinsic TextureLoad.
2024-02-01 22:25:02 +01:00
Conor McCarthy
e6d52861e9
vkd3d-shader/dxil: Implement DX intrinsic SplitDouble.
2024-02-01 22:24:58 +01:00
Henri Verbeet
d38221bd68
vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_src_params().
2024-02-01 00:08:23 +01:00
Henri Verbeet
47ec24ebad
vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_dst_params().
2024-02-01 00:08:22 +01:00
Giovanni Mascellani
1f536238a8
vkd3d-shader: Use 64 bit swizzles for 64 bit data types in VSIR.
...
The handling of write masks and swizzles for 64 bit data types is
currently irregular: write masks are always 64 bit, while swizzles
are usually 32 bit, except for SSA registers with are 64 bit.
With this change we always use 64 bit swizzles, in order to make
the situation less surprising and make it easier to convert
registers between SSA and TEMP.
64 bit swizzles are always required to have X in their last two
components.
2024-01-29 22:33:33 +01:00
Conor McCarthy
3bbe374ca8
vkd3d-shader/dxil: Implement DX intrinsic Tertiary.
...
IBFE and UBFE are not emitted for HLSL sources which perform bitfield
extractions, e.g. loading a value from a struct containing bitfields, or
the equivalent done with bit shifts. These instructions are probably
only emitted by the TPF -> DXIL converter, which makes them hard to test.
2024-01-29 22:33:20 +01:00