mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
include: Add some D3D12 raytracing specific structs.
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
55c6e17fca
commit
b67279394b
Notes:
Alexandre Julliard
2023-09-13 23:18:09 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/332
@ -1542,6 +1542,11 @@ typedef struct D3D12_TEXCUBE_ARRAY_SRV
|
||||
FLOAT ResourceMinLODClamp;
|
||||
} D3D12_TEXCUBE_ARRAY_SRV;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
|
||||
{
|
||||
D3D12_GPU_VIRTUAL_ADDRESS Location;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
|
||||
|
||||
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
|
||||
{
|
||||
DXGI_FORMAT Format;
|
||||
@ -1559,6 +1564,7 @@ typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
|
||||
D3D12_TEX3D_SRV Texture3D;
|
||||
D3D12_TEXCUBE_SRV TextureCube;
|
||||
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
|
||||
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
|
||||
};
|
||||
} D3D12_SHADER_RESOURCE_VIEW_DESC;
|
||||
|
||||
@ -3605,6 +3611,16 @@ typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE
|
||||
D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = 0x1,
|
||||
} D3D12_RAYTRACING_GEOMETRY_TYPE;
|
||||
|
||||
typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS
|
||||
{
|
||||
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0,
|
||||
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
|
||||
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
|
||||
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
|
||||
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
|
||||
} D3D12_RAYTRACING_INSTANCE_FLAGS;
|
||||
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_INSTANCE_FLAGS);")
|
||||
|
||||
typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
|
||||
{
|
||||
D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
|
||||
@ -3635,6 +3651,16 @@ typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
|
||||
D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
|
||||
} D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_AABB
|
||||
{
|
||||
FLOAT MinX;
|
||||
FLOAT MinY;
|
||||
FLOAT MinZ;
|
||||
FLOAT MaxX;
|
||||
FLOAT MaxY;
|
||||
FLOAT MaxZ;
|
||||
} D3D12_RAYTRACING_AABB;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
|
||||
{
|
||||
UINT64 AABBCount;
|
||||
@ -3688,6 +3714,28 @@ typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
|
||||
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
|
||||
{
|
||||
UINT64 CompactedSizeInBytes;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
|
||||
{
|
||||
UINT64 DecodedSizeInBytes;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
|
||||
|
||||
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
|
||||
{
|
||||
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
|
||||
UINT NumDescs;
|
||||
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
|
||||
{
|
||||
UINT64 SerializedSizeInBytes;
|
||||
UINT64 NumBottomLevelAccelerationStructurePointers;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
|
||||
|
||||
typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
|
||||
{
|
||||
GUID DriverOpaqueGUID;
|
||||
@ -3708,6 +3756,29 @@ typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
|
||||
D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4,
|
||||
} D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
|
||||
|
||||
typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
|
||||
{
|
||||
D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
|
||||
UINT64 SerializedSizeInBytesIncludingHeader;
|
||||
UINT64 DeserializedSizeInBytes;
|
||||
UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
|
||||
} D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
|
||||
{
|
||||
UINT64 CurrentSizeInBytes;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_INSTANCE_DESC
|
||||
{
|
||||
FLOAT Transform[3][4];
|
||||
UINT InstanceID : 24;
|
||||
UINT InstanceMask : 8;
|
||||
UINT InstanceContributionToHitGroupIndex : 24;
|
||||
UINT Flags : 8;
|
||||
D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
|
||||
} D3D12_RAYTRACING_INSTANCE_DESC;
|
||||
|
||||
typedef struct D3D12_RAYTRACING_GEOMETRY_DESC
|
||||
{
|
||||
D3D12_RAYTRACING_GEOMETRY_TYPE Type;
|
||||
@ -3748,6 +3819,28 @@ typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
|
||||
UINT64 UpdateScratchDataSizeInBytes;
|
||||
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
|
||||
|
||||
typedef enum D3D12_RAY_FLAGS
|
||||
{
|
||||
D3D12_RAY_FLAG_NONE = 0x00,
|
||||
D3D12_RAY_FLAG_FORCE_OPAQUE = 0x01,
|
||||
D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x02,
|
||||
D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x04,
|
||||
D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x08,
|
||||
D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
|
||||
D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
|
||||
D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
|
||||
D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
|
||||
D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
|
||||
D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200,
|
||||
} D3D12_RAY_FLAGS;
|
||||
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAY_FLAGS);")
|
||||
|
||||
typedef enum D3D12_HIT_KIND
|
||||
{
|
||||
D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
|
||||
D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff,
|
||||
} D3D12_HIT_KIND;
|
||||
|
||||
[
|
||||
uuid(8b4f173b-2fea-4b80-8f58-4307191ab95d),
|
||||
object,
|
||||
|
Loading…
Reference in New Issue
Block a user