Henri Verbeet
9de793f180
vkd3d-shader: Implement scanning combined resource/sampler information.
2023-11-13 23:19:23 +01:00
Henri Verbeet
e7eec3e023
vkd3d-shader/spirv: Allow the origin of fragment coordinates to be specified.
...
We typically want to use lower-left in OpenGL environments when rendering to
FBOs.
2023-11-09 21:14:12 +01:00
Giovanni Mascellani
bae6079047
include: Move D3D_BLOB_PART to a new header file.
...
According to a clang diagnostic, redefining a typedef is C11, and
we want to stick with C99.
2023-11-06 23:08:42 +01:00
Henri Verbeet
f75bdd6e21
vkd3d-utils: Implement D3DStripShader().
2023-10-19 23:07:50 +02:00
Nikolay Sivov
e242b46922
vkd3d-shader/tpf: Convert some of the semantic names to system values names when in compatibility mode.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-19 23:03:23 +02:00
Henri Verbeet
9ce98f9be5
vkd3d-utils: Implement D3DGetOutputSignatureBlob().
2023-10-18 20:58:24 +02:00
Henri Verbeet
9d9f762ede
vkd3d-utils: Implement D3DGetInputSignatureBlob().
2023-10-18 20:58:24 +02:00
Henri Verbeet
be8efb9c9c
vkd3d-utils: Implement D3DGetInputAndOutputSignatureBlob().
2023-10-18 20:58:24 +02:00
Henri Verbeet
247eaa6b7d
vkd3d-utils: Implement D3DGetDebugInfo().
2023-10-18 20:58:24 +02:00
Henri Verbeet
b63c853688
vkd3d-utils: Implement D3DGetBlobPart().
...
This was largely adapted from Wine's d3dcompiler_43, with some style
adjustments.
2023-10-18 20:58:22 +02:00
Zebediah Figura
72e8b6e0dc
include: Fix some confusingly structured documentation.
...
Fixes: 7a4ae434df
.
2023-10-10 22:11:37 +02:00
Zebediah Figura
7a4ae434df
include: Define an API for mapping sm1 samplers to the target environment.
2023-10-09 21:58:38 +02:00
Martin Storsjö
e44a1927e5
include: Add an #include of d3d12sdklayers.h in vkd3d_d3d12.idl.
...
This matches what is done in the upstream headers; end users
including d3d12.h don't need to explicitly include d3d12sdklayers.h.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-27 22:34:34 +02:00
Henri Verbeet
90d4529f27
Release 1.9.
2023-09-21 19:16:32 +02:00
Zebediah Figura
8c11270940
vkd3d-shader: Add definitions for more fragment output system values.
2023-09-21 19:16:29 +02:00
Zebediah Figura
fd120d8f2d
vkd3d-shader: Rename vkd3d_shader_next_stage_info to vkd3d_shader_varying_map_info.
...
It was originally intended that this structure could hold other information
about the next stage which compilation might depend on. For example, compilation
to GLSL needs to know the type of the next shader in some circumstances.
That was never actualized, and since the API is fixed at this point for 1.9, it
makes the most sense to rename the structure to match its actual scope.
The documentation was written and arranged to imply that the structure would
hold other information about the next shader than the varying map; this is
changed accordingly as well.
2023-09-21 19:16:27 +02:00
Henri Verbeet
054ae10693
vkd3d-shader: Slightly tweak the documentation for VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_ORDER.
2023-09-19 21:30:40 +02:00
Henri Verbeet
0f2dd5f9be
vkd3d-shader: Add a \since 1.9 for VKD3D_SHADER_SV_TARGET.
2023-09-19 21:30:40 +02:00
Henri Verbeet
74517de783
include: Add a corresponding function pointer type for vkd3d_shader_build_varying_map().
2023-09-19 21:30:37 +02:00
Martin Storsjö
e597b0d80f
include: Add UUIDs for use with D3D12EnableExperimentalFeatures.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-18 21:04:59 +02:00
Martin Storsjö
b484a9e1f6
include: Add the ID3D12GraphicsCommandList{5,6,7} interfaces.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-18 21:04:59 +02:00
Martin Storsjö
5d13a90e37
include: Add DirectX 12 Agility SDK definitions.
...
This ports parts of commit 83625459c8227b0bd7b86c18946a35d3a806c80d
from wine.git into vkd3d.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-18 21:04:56 +02:00
Henri Verbeet
da89da2bf3
vkd3d-shader: Hide support for DXIL sources.
...
Unfortunately this is not sufficiently ready to release.
2023-09-18 21:04:19 +02:00
Martin Storsjö
06399d128a
include: Add some misc D3D12 structs/enums/macros.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
b67279394b
include: Add some D3D12 raytracing specific structs.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
55c6e17fca
include: Add the D3D12_BARRIER_GROUP struct.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
f1c19e34d8
include: Add the ID3D12Tools interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
e9e9fdbd5e
include: Add the ID3D12VirtualizationGuestDevice interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
602d2f90d7
include: Add the ID3D12Device10 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
891c6d2743
include: Add the ID3D12Device9 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
77819d8d04
include: Add the ID3D12ShaderCacheSession interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
275644d34a
include: Add the ID3D12GraphicsCommandList4 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
f31efc1afc
include: Add the ID3D12MetaCommand interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
fccf9f7ac5
include: Add the ID3D12Heap1 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
88b3776436
include: Add the ID3D12Resource{1,2} interfaces.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
cca052da29
include: Add the ID3D12Device8 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:58 +02:00
Martin Storsjö
dd93b31e48
include: Add the structs D3D12_FEATURE_DATA_D3D12_OPTIONS{6,7}.
...
D3D12MemAlloc.cpp uses these if ID3D12Device8 is available.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
442a8347bf
include: Add the ID3D12Device7 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
a7bb5b6ba3
include: Add the ID3D12ProtectedResourceSession1 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
aad1c3e35c
include: Add the ID3D12Device6 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
edaf7fbd88
include: Add the ID3D12DeviceRemovedExtendedData{,1,2} interfaces.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
4f4afab3d5
include: Add the ID3D12DeviceRemovedExtendedDataSettings{,1} interfaces.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
1302b897ed
include: Add the ID3D12Device5 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
16daf0423d
include: Add the ID3D12StateObjectProperties interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
8e3f863341
include: Add the ID3D12StateObject interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
02fc1ba9c3
include: Add the ID3D12LifetimeTracker interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
8076c9a591
include: Add the ID3D12SwapChainAssistant interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
06388a2c9b
include: Add the ID3D12LifetimeOwner interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:54 +02:00
Martin Storsjö
b005390a36
include: Add the ID3D12Device4 interface.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:53 +02:00
Martin Storsjö
fffdb76b33
include: Add the ID3D12PipelineLibrary{,1} interfaces.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-13 23:10:53 +02:00
Martin Storsjö
2fb0c2d187
include: Fill in missing enum values in vkd3d_d3d12.idl.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:21 +02:00
Martin Storsjö
8e6b08d685
include: Add some more struct/enum definitions to vkd3d_d3d12.idl.
...
This is enough for compiling QtBase's Direct3D 12 backend,
if this is imported into mingw-w64.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:19 +02:00
Martin Storsjö
1b45052c92
include: Add missing miscellaneous D3D12 constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
61c402405a
include: Add missing D3D12 vertex shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
44a669a644
include: Add missing D3D12 minimum resource limit constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
7efba29853
include: Add missing D3D12 raytracing constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
b32b060518
include: Add missing D3D12 pixel shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
ef8dd51c7a
include: Add missing D3D12 input assembler constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
f8c848f563
include: Add missing D3D12 hull shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
1d74dc7903
include: Add missing D3D12 geometry shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
af4403147a
include: Add missing D3D12 domain shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
cf61d217a9
include: Add missing D3D12 compute shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
71dd917091
include: Add missing D3D12 common shader constants.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:15 +02:00
Martin Storsjö
8febea5a9c
include: Sort vkd3d_d3d12.idl constants alphabetically.
...
This makes it easier to consistently add more constants.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:13 +02:00
Martin Storsjö
dff79973e0
include: Fix the type of D3D12_VIEWPORT_BOUNDS_MIN.
...
As this is a negative constant, it shouldn't have an unsigned type.
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-07 19:15:10 +02:00
Martin Storsjö
fdaacb158e
include: Add the D3D_PRIMITIVE enum and the D3D12_PRIMITIVE typedef.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-04 20:25:47 +02:00
Conor McCarthy
bf49a1a95b
vkd3d-shader/dxil: Declare shader outputs.
2023-08-30 22:48:50 +02:00
Zebediah Figura
622311da8e
vkd3d-shader: Add a flag marking raw buffers to struct vkd3d_shader_descriptor_info.
2023-08-23 22:45:04 +02:00
Conor McCarthy
f3baf55d97
vkd3d: Implement ID3D12Device1 with stubs.
2023-08-23 22:44:58 +02:00
Zebediah Figura
f649db23a5
vkd3d-shader: Introduce a function to build a varying map between sm1 stages.
2023-08-03 21:20:44 +09:00
Zebediah Figura
11475ef62a
vkd3d-shader: Implement remapping shader output registers to match the next shader's semantics.
2023-08-03 21:20:42 +09:00
Conor McCarthy
c2e09e4c4f
vkd3d: Implement ID3D12Fence1.
2023-08-02 20:18:37 +09:00
Conor McCarthy
0d1bc77b2a
vkd3d: Implement ID3D12GraphicsCommandList3 with a stub.
2023-07-31 21:08:02 +09:00
Conor McCarthy
4433dacb4f
vkd3d: Implement ID3D12Device::GetResourceTiling() for textures.
2023-07-31 21:07:58 +09:00
Conor McCarthy
71a9feac8e
vkd3d: Implement ID3D12Device::GetResourceTiling() for buffers.
2023-07-31 21:07:57 +09:00
Nikolay Sivov
bd3d4a6c06
vkd3d-shader: Add compiler option to specify matrix majority.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-24 22:41:09 +02:00
Zebediah Figura
d077562f79
vkd3d-shader/d3dbc: Scan descriptors for constant register sets.
2023-07-17 22:56:39 +02:00
Zebediah Figura
55c5129ad9
include: Define an API for d3dbc constants.
2023-07-17 22:56:39 +02:00
Conor McCarthy
571d807dd8
vkd3d-shader/dxil: Read the type table.
2023-07-11 22:43:48 +02:00
Giovanni Mascellani
b2a1f6b5e4
include: Document vkd3d_acquire_vk_queue() and vkd3d_release_vk_queue().
2023-07-06 20:09:53 +02:00
Alistair Leslie-Hughes
d5a0b3afc4
include: Avoid including unnecessary Windows headers.
...
We only require a few types and declarations.
2023-06-28 21:41:14 +02:00
Conor McCarthy
d3e6a3a78f
include: Introduce a function to detect the DXBC source type.
2023-06-28 21:40:36 +02:00
Conor McCarthy
6775f7ba66
vkd3d-shader/dxil: Read and validate DXIL bitcode unabbreviated blocks.
2023-06-28 21:40:34 +02:00
Conor McCarthy
e98e6c9b53
vkd3d: Add missing const attributes to ID3D12CommandQueue::UpdateTileMappings() parameters.
2023-06-27 22:33:58 +02:00
Zebediah Figura
7e1fcdca89
vkd3d-shader: Synthesize signatures for d3dbc shaders.
2023-06-27 22:33:41 +02:00
Zebediah Figura
20190a1388
vkd3d-shader: Introduce an API to retrieve all signatures from DXBC shaders.
2023-06-27 22:33:41 +02:00
Zebediah Figura
7b9eb8d189
vkd3d-shader: Introduce documented semantics for the target type and other data passed to vkd3d_shader_scan().
...
Passing VKD3D_SHADER_TARGET_NONE was actually already allowed.
2023-06-27 22:33:39 +02:00
Henri Verbeet
771e442af1
Release 1.8.
2023-06-22 22:00:20 +02:00
Conor McCarthy
e63201a7a3
vkd3d: Delay writing Vulkan descriptors until submitted to a queue.
...
Eliminates vk_sets_mutex. Performance on average may be lower until
the descriptor mutexes are replaced and Vulkan writes are buffered
to reduce thunk calls.
2023-04-25 22:20:09 +02:00
Zebediah Figura
6783524613
vkd3d-common: Make some global string variables const.
2023-04-06 17:52:08 +02:00
Zebediah Figura
dfa4bfdd03
include: Make test context information nestable.
...
Based on Wine.
2023-04-04 21:59:58 +02:00
Zebediah Figura
1bf5050d3d
tests: Factor out vkd3d_test_printf().
2023-04-04 21:59:58 +02:00
Henri Verbeet
57d92a15cf
Release 1.7.
2023-03-24 11:22:28 +01:00
Henri Verbeet
54b0165e32
vkd3d-shader: VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE was introduced in vkd3d 1.7.
2023-03-20 21:28:13 +01:00
Zebediah Figura
98624f2e8f
include: Document that vkd3d_shader_signature may contain pointers into the input shader blob.
2023-03-08 20:14:49 +01:00
Giovanni Mascellani
6ccde9e82c
vkd3d-shader: Make documentation for "messages" parameters self contained.
...
Otherwise it's not clear which clauses in vkd3d_shader_compile() really
apply to other functions. For example, many of the functions currently
refering to vkd3d_shader_compile() don't even take a vkd3d_shader_compile_info
parameter.
2023-02-28 22:07:12 +01:00
Henri Verbeet
b1e13d6e33
vkd3d-shader/dxbc: Introduce API for serialising DXBC blobs.
2023-02-23 21:47:27 +01:00
Henri Verbeet
c87492ed21
vkd3d-shader/dxbc: Introduce API for parsing DXBC blobs.
2023-02-23 21:47:26 +01:00
Giovanni Mascellani
5f904e5022
vkd3d-utils: Generate Doxygen documentation for vkd3d_utils.h.
2023-02-22 21:38:46 +01:00
Giovanni Mascellani
e5bbd05c98
vkd3d: Generate Doxygen documentation for vkd3d.h.
2023-02-22 21:38:46 +01:00
Giovanni Mascellani
6bdb0abf68
vkd3d-shader: Fix the Doxygen documentation for vkd3d_shader.h.
...
The \since field was too early, and prevented Doxygen from really
parsing the synopsis for vkd3d_shader.h.
2023-02-22 21:38:43 +01:00
Zebediah Figura
8bdee6681b
vkd3d-shader/hlsl: Lower return statements.
2023-02-13 22:16:51 +01:00
Zebediah Figura
8fc8d34ea0
vkd3d-shader/spirv: Introduce an option to control whether point size is written.
2023-02-02 20:51:18 +01:00
Philip Rebohle
f9e7cb6345
include: Fix incorrect UpdateTileMappings declaration.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2023-01-26 21:52:39 +01:00
Henri Verbeet
1eaf73147c
Release 1.6.
2022-12-07 16:08:16 +01:00
Conor McCarthy
1b11b57652
vkd3d-shader: Introduce DESCRIPTOR_INFO_FLAG_UAV_ATOMICS and always declare UAV images with known type for atomic ops.
...
Atomic ops on images with Unknown type will cause SPIR-V validation failure,
and assertion failure in Mesa debug builds. D3D12 allows atomics on typed
buffers, and this requires a distinction to be made between UAV reads and
atomic ops.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53874
2022-11-21 18:28:54 +01:00
Brendan Shanks
963ea98a52
vkd3d-common: Add a Windows implementation of vkd3d_set_thread_name().
2022-10-25 21:25:38 +02:00
Biswapriyo Nath
6f1f14d97a
include: Add the PFN_D3D12_SERIALIZE_ROOT_SIGNATURE typedef.
2022-10-19 21:59:22 +02:00
Biswapriyo Nath
c9198735fd
include: Add the PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER typedef.
2022-10-19 21:59:22 +02:00
Zebediah Figura
303ce66cef
include: Use __MINGW_PRINTF_FORMAT when compiling with MinGW.
...
The default for MinGW is always ms_printf rather than gnu_printf, but if we are
using ucrtbase or ANSI stdio, we want gnu_printf.
2022-10-17 17:57:56 +02:00
Giovanni Mascellani
73cf9dee8a
include: Add missing vkd3d_shader_compile() transformations and chained structures.
2022-09-28 19:11:13 +02:00
Giovanni Mascellani
d5fd309ef8
vkd3d: Add a macro to mark unreachable code.
...
This should silence warnings about some branches non returning any value
without requiring additional "return 0" statement or similar.
Also, in theory this might enable to compiler to optimize the program
a little bit more, though that's unlikely to have any measurable effect.
2022-09-27 20:14:27 +02:00
Henri Verbeet
56b2f56b86
Release 1.5.
2022-09-21 16:47:49 +02:00
Henri Verbeet
d484a08d10
vkd3d-shader: Add version information to enum vkd3d_shader_compile_option_typed_uav.
2022-09-21 16:47:49 +02:00
Henri Verbeet
6381bc4857
vkd3d-shader: Add a VKD3D_FORCE_32_BIT_ENUM element to enum vkd3d_shader_api_version.
2022-09-21 16:47:49 +02:00
Henri Verbeet
1e559cd51d
vkd3d: Add a VKD3D_FORCE_32_BIT_ENUM element to enum vkd3d_api_version.
2022-09-21 16:47:47 +02:00
Zebediah Figura
a2996c2d59
include: Add list_move_after() and list_move_before().
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-08-10 21:33:33 +02:00
Conor McCarthy
3dbd2ceca6
vkd3d-shader: Introduce a compile option to use Unknown format for typed UAV loads.
...
Specifying R32 for UAVs created with a vector format, e.g. R32G32B32A32_FLOAT,
results in only the red being loaded/stored, potentially causing images to
contain only the red component.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
2022-08-09 22:14:28 +02:00
Henri Verbeet
9d4df5e704
Release 1.4.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-22 18:31:51 +02:00
Biswapriyo Nath
a021b0a7d3
include: Add ID3D12Device3 declaration in vkd3d_d3d12.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-21 20:16:35 +02:00
Biswapriyo Nath
f9921fc691
include: Add more D3D12_HEAP_FLAGS in vkd3d_d3d12.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-21 20:16:30 +02:00
Biswapriyo Nath
b7fbac1c09
include: Add ID3D12Device2 declaration in vkd3d_d3d12.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-10 11:59:57 +02:00
Biswapriyo Nath
694e5c865b
include: Add ID3D12SharingContract interface declarations in vkd3d_d3d12sdklayers.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-10 11:59:52 +02:00
Biswapriyo Nath
abd82c9e6d
include: Add ID3D12DebugDevice interface declarations in vkd3d_d3d12sdklayers.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-10 11:59:47 +02:00
Biswapriyo Nath
4647209f27
include: Add ID3D12Debug interface declarations in vkd3d_d3d12sdklayers.idl.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-08 18:50:40 +02:00
Zebediah Figura
64b784dbb9
vkd3d-utils: Allow writing log output via a custom callback.
...
When using PE vkd3d through Wine, debug output may be swallowed by writing to
Win32 stderr. Avoid this by providing a way to hook up vkd3d log output to Wine
output.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-07 19:39:01 +02:00
Zebediah Figura
46b1266809
vkd3d: Allow writing log output via a custom callback.
...
When using PE vkd3d through Wine, debug output may be swallowed by writing to
Win32 stderr. Avoid this by providing a way to hook up vkd3d log output to Wine
output.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-07 19:38:57 +02:00
Zebediah Figura
174172887b
vkd3d-shader: Allow writing log output via a custom callback.
...
When using PE vkd3d through Wine, debug output may be swallowed by writing to
Win32 stderr. Avoid this by providing a way to hook up vkd3d log output to Wine
output.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-07 19:38:49 +02:00
Andrey Gusev
a9dc39dd92
include: Add more D3D12_ROOT_SIGNATURE_FLAGS enums.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-12 19:33:01 +02:00
Zebediah Figura
d087b9ea5b
include: Implement vkd3d_dl*() wrappers for Win32 platforms.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-20 16:41:39 +02:00
Zebediah Figura
a58e713314
include: Move vkd3d_dl*() helpers to vkd3d_common.h.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-20 16:41:37 +02:00
Conor McCarthy
2b71ea406f
vkd3d: Back descriptor heaps with Vulkan descriptor sets if descriptor indexing is available.
...
The existing implementation using virtual descriptor heaps, where Vk
descriptor sets are created for the bindings in the root descriptor tables,
is inefficient when multiple command lists are used with large descriptor
heaps. It also cannot support updating a descriptor set after it is bound.
This patch creates Vk sets for each D3D12 heap. Because D3D12 heaps
can contain CBV, SRV and UAV descriptors in the same heap, multiple Vk sets
are needed for each heap, however the total number of populated descriptors
is never more than (heap size + UAV counter count).
A new 'virtual_heaps' config option is introduced to make the old
implementation available when needed. It's not always possible to determine
if this is necessary when the device is created.
Up to nine Vk descriptor sets may be used. It's theoretically possible to
reduce this to eight by placing immutable samplers in the push descriptor
set layout, but contradictions in earlier versions of the Vulkan spec made
driver support inconsistent. The documentation was corrected in version
1.2.203.
This patch also adds support for UAV counter descriptor arrays. It's not
practical to add this in a separate patch due to complications with
combining the old UAV counter implementation with the new descriptor heap
implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47713
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47154
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 12:38:53 +01:00
Henri Verbeet
d1d9e713f2
Release 1.3.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 21:32:57 +01:00
Henri Verbeet
969dc1e899
vkd3d-shader: Add missing version information for some enum elements.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 19:53:57 +01:00
Henri Verbeet
fcf36f56c5
vkd3d-shader: Add a description for VKD3D_SHADER_TARGET_D3D_ASM.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 19:53:55 +01:00
Henri Verbeet
f276cbd821
vkd3d-shader: Slightly clarify the documentation for struct vkd3d_shader_descriptor_offset_info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 19:53:53 +01:00
Henri Verbeet
4728cf1286
include: Introduce a common macro for defining tags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:31:33 +01:00
Henri Verbeet
9a2d9d4f5c
include: Reintroduce hidden visibility for GUID definitions.
...
This was dropped by d27fee64ab
, presumably
because the default visibility was switched to "hidden". However, this is part
of a public header, and external users may not share our symbol visibility
defaults.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:31:33 +01:00
Henri Verbeet
790ab754d5
vkd3d-shader/hlsl: Properly compare integers in compare_param_hlsl_types().
...
As pointed out by Giovanni Mascellani, modular subtraction doesn't produce a
total order; in particular, it's not transitive. The nature of the types being
compared here makes it unlikely this will be an issue in practice, but it's
both fragile and setting a poor example.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 22:23:24 +01:00
Henri Verbeet
850badd38c
vkd3d-shader: Handle double-precision floating-point data in vkd3d_shader_scan_typed_resource_declaration().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 22:23:22 +01:00
Henri Verbeet
2a14718fe5
vkd3d-shader: Handle "mixed" data in vkd3d_shader_scan_typed_resource_declaration().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 22:23:20 +01:00
Henri Verbeet
22b02ed59f
vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_API_VERSION.
...
Analogous to vkd3d_api_version for libvkd3d.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 22:23:15 +01:00
Henri Verbeet
f5c4c06090
vkd3d-shader/hlsl: Respect the requested target type.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 22:23:13 +01:00
Henri Verbeet
c07e6536a9
vkd3d-utils: Return an ID3DBlob pointer from D3DCreateBlob().
...
ID3DBlob is a typedef for ID3D10Blob, so this isn't all that consequential,
but we're using ID3DBlob for the other vkd3d-utils exports.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 20:41:37 +01:00
Henri Verbeet
c97d7f5bff
vkd3d-shader: Callers of vkd3d_shader_get_supported_target_types() should ignore unrecognised target types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 20:41:34 +01:00
Henri Verbeet
63098ba8fa
vkd3d-shader: Callers of vkd3d_shader_get_supported_source_types() should ignore unrecognised source types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 20:41:30 +01:00
Henri Verbeet
3a97193246
vkd3d-shader: Add a function pointer type for vkd3d_shader_preprocess().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 20:41:24 +01:00
Giovanni Mascellani
2a92fc1676
include: Clarify docs for PFN_vkd3d_shader_close_include.
...
Clarify the contract about memory management of the code parameter
and reference callbacks by their name as fields of struct
vkd3d_shader_preprocess_info rather than by their type (like it
is already done above).
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 18:37:46 +01:00
Alexandre Julliard
beafa0914e
vkd3d: Replace atomic_add_fetch() by InterlockedAdd().
...
By analogy with InterlockedIncrement. It avoids the need for a
configure check on Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2022-01-28 17:48:32 +01:00
Alexandre Julliard
ab3aa96e1f
vkd3d: Always use _BitScanReverse on Windows.
...
Use ULONG instead of unsigned long for non-Mingw msvcrt builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2022-01-28 17:48:30 +01:00