Stefan Dösinger
8653ce17cf
tests: Add tests for creating D3D12ShaderCacheSession objects.
2024-04-04 22:19:46 +02:00
Nikolay Sivov
e1e6367210
vkd3d-shader/fx: Add an option to include empty buffers in the effect binary.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-02 23:10:42 +02:00
Giovanni Mascellani
5f2f126b70
include: Include stddef.h in vkd3d_shader.h.
...
Type size_t is used in the file without importing any header which
defines it. This only works when the translation unit includes one of
the appropriate headers anyway or when the appropriate header is included
internally by other standard C headers; none of those strategies should
be relied upon.
2024-04-02 23:09:51 +02:00
Zebediah Figura
6b6e4bc212
vkd3d-shader: Add a compile option to control whether implicit truncation warnings are printed.
...
d3dcompiler and d3dx9 versions before 42 don't emit this error; this will be
necessary to emulate that behaviour.
Other warnings exist that are introduced in different d3dcompiler versions,
although there are not very many distinct HLSL warnings to begin with.
We could of course group all these together under a single compiler option, but
I find that using separate top-level options is unilaterally friendlier to an
API consumer, and simpler to implement as well. It also in some sense maps
conceptually to e.g. "-Wno-implicit-conversion".
2024-03-27 22:37:34 +01:00
Nikolay Sivov
cfa63da3f1
vkd3d-shader: Adjust "child-effect" option documentation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-27 22:37:21 +01:00
Zebediah Figura
2fceebd050
vkd3d-utils: Parse the RD11 section.
2024-03-27 22:36:33 +01:00
Zebediah Figura
90cd57404b
vkd3d-utils: Implement ID3D12ShaderReflection::GetConstantBufferByIndex().
2024-03-27 22:36:31 +01:00
Henri Verbeet
166dc24b2f
vkd3d: Move the vkd3d_mutex implementation to vkd3d-common.
2024-03-19 22:58:53 +01:00
Henri Verbeet
2431357fd6
vkd3d-common: Merge vkd3d_debug.h into vkd3d_common.h.
...
There doesn't seem much point in separating these. Pretty much all of
vkd3d (eventually) includes vkd3d_debug.h, and vkd3d_debug.h includes
vkd3d_common.h because it uses VKD3D_PRINTF_FUNC. The separation also
makes it inconvenient to use the debug macros in vkd3d_common.h.
2024-03-19 22:58:51 +01:00
Nikolay Sivov
13227f3852
vkd3d-shader: Add an option to enable child effects compilation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 22:14:41 +01:00
Giovanni Mascellani
75bc68962d
vkd3d-shader/dxbc: Add flag to ignore the DXBC checksum.
2024-03-11 22:08:55 +01:00
Evan Tang
4553b2a0dc
vkd3d-shader/spirv: Implement support for rasteriser-ordered views.
...
Using SPV_EXT_fragment_shader_interlock.
2024-03-08 23:36:35 +01:00
Giovanni Mascellani
9ac842b36b
vkd3d-shader/ir: Compute the loops in the control flow graph.
2024-03-07 23:08:32 +01:00
Giovanni Mascellani
9aa86901e3
vkd3d-shader/d3d-asm: Support emitting the shader signature.
2024-03-07 23:08:24 +01:00
Henri Verbeet
f866fb95ad
Release 1.11.
2024-03-05 20:39:45 +01:00
Henri Verbeet
22d5e24bad
vkd3d-shader: Update the chained structure list for vkd3d_shader_compile().
2024-03-05 20:39:45 +01:00
Henri Verbeet
f80ae7aef1
vkd3d-shader: Document the newly supported transformations for d3dbc and HLSL sources.
2024-03-05 20:39:45 +01:00
Henri Verbeet
0885bf3082
vkd3d-utils: Restore the \since 1.11 command on D3DReflect().
...
This was effectively dropped by 8c6f5b847b
.
2024-03-05 20:39:40 +01:00
Zebediah Figura
9177df883e
vkd3d-shader/hlsl: Write the SFI0 section and "REQUIRES_ROVS" flag when ROVs are used.
2024-03-04 22:34:46 +01:00
Henri Verbeet
6acca1f85e
vkd3d-shader: Add documentation for the INT64 and FLOAT64 feature flags.
2024-03-04 22:34:24 +01:00
Henri Verbeet
0914561f85
vkd3d: Store a D3D12_RESOURCE_DESC structure in struct vkd3d_image_resource_create_info.
...
Like we did before commit 6d4782ed7f
. That
commit somehow managed to change the "desc" field from
D3D12_RESOURCE_DESC to D3D12_RESOURCE_DESC1, but that breaks the ABI.
2024-02-26 23:04:05 +01:00
Henri Verbeet
4735ff48d1
tests: Disable buffering of stdout.
...
Both to avoid it getting lost in case of crashes, and to properly interleave
test output and debug output in the log files.
2024-02-15 23:29:52 +01:00
Conor McCarthy
6d4782ed7f
vkd3d: Implement ID3D12Resource2.
2024-02-15 23:29:33 +01:00
Henri Verbeet
532e902a56
vkd3d-common: Get rid of InterlockedDecrement().
2024-02-06 23:07:36 +01:00
Henri Verbeet
c64921e79b
vkd3d-common: Get rid of InterlockedIncrement().
2024-02-06 23:07:36 +01:00
Jacek Caban
2ae9f18a3a
vkd3d: Use uint64_t for the size in vkd3d_gpu_va_allocator_allocate.
...
Avoids value truncation in 32-bit builds.
2024-02-01 22:25:20 +01:00
Henri Verbeet
8c6f5b847b
vkd3d-utils: Implement D3DDisassemble().
...
Very loosely based on Wine's d3dcompiler_43.
2024-01-29 22:33:44 +01:00
Giovanni Mascellani
5ec1825eb3
include/vkd3d-shader: Generate swizzles without a function call.
...
So they can be used when a constant expression is expected, for instance
on case labels.
2024-01-29 22:33:31 +01:00
Conor McCarthy
6446b6ea21
vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64.
2024-01-24 22:38:09 +01:00
Zebediah Figura
0f46e7bbad
tests: Test signature reflection via D3DReflect().
...
Ported from Wine.
2024-01-24 22:37:53 +01:00
Zebediah Figura
53bd1f5419
vkd3d-utils: Add D3DReflect().
2024-01-24 22:37:53 +01:00
Zebediah Figura
e73ba2a4c3
include: Add vkd3d_d3d12shader.idl.
2024-01-24 22:37:53 +01:00
Giovanni Mascellani
6ac525d6c3
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration Layer.
...
Capability Geometry allows to use the Layer builtin in geometry and pixel
shaders. For vertex and domain shaders ShaderLayer should be used, but it's only
available starting from SPIR-V 1.5. ShaderViewportIndexLayerEXT can be used
instead with extension SPV_EXT_shader_viewport_index_layer.
2024-01-22 22:19:09 +01:00
Henri Verbeet
9228e13155
vkd3d-common: Introduce vkd3d_atomic_decrement_u32().
2024-01-18 23:16:19 +01:00
Henri Verbeet
03fbf4a3dc
vkd3d-common: Introduce vkd3d_atomic_increment_u32().
2024-01-18 23:16:19 +01:00
Henri Verbeet
cd9610bbe0
include: Introduce a debug helper for HRESULTs.
2024-01-17 22:29:39 +01:00
Henri Verbeet
71decc927f
vkd3d-common: Introduce vkd3d_atomic_increment_u64().
2024-01-17 22:29:29 +01:00
Henri Verbeet
4db7b40ca8
vkd3d-common: Get rid of InterlockedAdd().
...
This was once used by libvkd3d's fence worker thread, but currently this is
unused.
2024-01-15 19:57:59 +01:00
Henri Verbeet
9dd5b2840f
vkd3d-shader: Recognise DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS in shader_validate_descriptor_range1().
2024-01-11 23:04:54 +01:00
Nikolay Sivov
9494b72224
vkd3d-shader: Add separate binary target type for effects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-11 23:04:48 +01:00
Henri Verbeet
4ec7f360d9
vkd3d: Add D3D_FEATURE_LEVEL_1_0_CORE as a valid feature level.
2024-01-03 22:38:10 +01:00
Henri Verbeet
6abcc27c97
vkd3d: Add D3D_FEATURE_LEVEL_12_2 as a valid feature level.
2024-01-03 22:38:10 +01:00
Conor McCarthy
13459a55f1
vkd3d-shader/spirv: Introduce a UINT64 component type.
2024-01-02 23:03:04 +01:00
Conor McCarthy
cdb9eecfd1
vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability.
2023-12-12 22:50:53 +01:00
Henri Verbeet
0c33f82f72
Release 1.10.
2023-12-06 15:31:21 +01:00
Henri Verbeet
803dfc1246
vkd3d-shader: Update the vkd3d_shader_scan() documentation.
...
Scanning d3dbc sources is supported now, and
vkd3d_shader_scan_combined_resource_sampler_info is supported as a chained
structure.
2023-12-04 22:23:14 +01:00
Henri Verbeet
ee1c6bd488
vkd3d-shader: Add a VKD3D_FORCE_32_BIT_ENUM element to enum vkd3d_shader_compile_option_fragment_coordinate_origin.
2023-12-04 22:23:04 +01:00
Biswapriyo Nath
c64909988f
include: Add ID3D12InfoQueue1 definition in vkd3d_d3d12sdklayers.idl.
2023-11-28 21:49:11 +01:00
Alistair Leslie-Hughes
5c134d44d6
include: D3D12_RT_FORMAT_ARRAY remove typedef to make header compatible with windows.
...
windows d3d12.idl doesn't have this as a typedef.
2023-11-28 00:09:20 +01:00
Henri Verbeet
01dad41862
vkd3d-shader/ir: Skip recording combined resource/sampler information for dynamically indexed descriptor arrays.
...
And output a warning instead.
2023-11-21 22:41:57 +01:00