Henri Verbeet
7b4a1fdfbc
vkd3d: Move the vkd3d_cond implementation to vkd3d-common.
...
Much like the vkd3d_mutex implementation.
2024-04-22 23:15:20 +02:00
Giovanni Mascellani
7fbd753cf7
include: Document structure vkd3d_host_time_domain_info.
2024-04-22 23:14:15 +02:00
Giovanni Mascellani
d2d4ed9f63
include: Document structure vkd3d_application_info.
2024-04-22 23:14:15 +02:00
Giovanni Mascellani
d27bbce0e1
include: Document struct vkd3d_optional_instance_extensions_info.
2024-04-22 23:14:15 +02:00
Giovanni Mascellani
a1ebb3925b
include: Document struct vkd3d_structure_type.
2024-04-22 23:14:15 +02:00
Giovanni Mascellani
995a316fba
include: Document struct vkd3d_instance_create_info.
2024-04-22 23:14:15 +02:00
Conor McCarthy
b0145ad96e
vkd3d-shader: Introduce a wave ops feature flag.
2024-04-17 22:51:52 +02:00
Conor McCarthy
6975a8d726
vkd3d-shader: Introduce SPIRV_ENVIRONMENT_VULKAN_1_1.
...
The SPIR-V backend may emit SPIR-V 1.3 if Vulkan 1.1 is available.
Some extensions which provide wave op instructions are available in
SPIR-V 1.0, but these are not sufficient to implement all Shader Model 6
wave op intrinsics. SPIR-V 1.3 has all of the required instructions, but
does not support reading from a quad at a non-constant (but uniform) lane
index, so it may later prove necessary to introduce a Vulkan 1.2
environment.
2024-04-17 22:51:49 +02:00
Stefan Dösinger
a7860ae752
vkd3d: Implement reopening existing caches.
2024-04-10 08:54:58 -05:00
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