Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HansKristian-Work/vkd3d-proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libs/vkd3d/vkd3d_private.h')
-rw-r--r--libs/vkd3d/vkd3d_private.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h
index 2ebbb66b..4774d33d 100644
--- a/libs/vkd3d/vkd3d_private.h
+++ b/libs/vkd3d/vkd3d_private.h
@@ -1065,10 +1065,10 @@ bool vkd3d_create_texture_view(struct d3d12_device *device,
enum vkd3d_descriptor_flag
{
- VKD3D_DESCRIPTOR_FLAG_VIEW = (1 << 0),
+ VKD3D_DESCRIPTOR_FLAG_IMAGE_VIEW = (1 << 0),
VKD3D_DESCRIPTOR_FLAG_RAW_VA_AUX_BUFFER = (1 << 1),
VKD3D_DESCRIPTOR_FLAG_BUFFER_OFFSET = (1 << 2),
- VKD3D_DESCRIPTOR_FLAG_OFFSET_RANGE = (1 << 3),
+ VKD3D_DESCRIPTOR_FLAG_BUFFER_VA_RANGE = (1 << 3),
VKD3D_DESCRIPTOR_FLAG_NON_NULL = (1 << 4),
VKD3D_DESCRIPTOR_FLAG_SINGLE_DESCRIPTOR = (1 << 5),
};
@@ -1099,6 +1099,16 @@ STATIC_ASSERT(sizeof(struct vkd3d_descriptor_metadata_types) == 8);
/* Our use of 8-bit mask relies on MAX_BINDLESS_DESCRIPTOR_SETS fitting. */
STATIC_ASSERT(VKD3D_MAX_BINDLESS_DESCRIPTOR_SETS <= 8);
+struct vkd3d_descriptor_metadata_buffer_view
+{
+ VkDeviceAddress va;
+ /* Allows tighter packing. 64-bit view range is not supported in D3D12. */
+ uint32_t range;
+ /* Format used if used in a formatted context such as UAV clears.
+ * If UNKNOWN, denotes a raw buffer. R32_UINT can be used in place of it. */
+ DXGI_FORMAT dxgi_format;
+};
+
struct vkd3d_descriptor_metadata_view
{
#ifdef VKD3D_ENABLE_DESCRIPTOR_QA
@@ -1106,20 +1116,20 @@ struct vkd3d_descriptor_metadata_view
#endif
union
{
- VkDescriptorBufferInfo buffer;
+ struct vkd3d_descriptor_metadata_buffer_view buffer;
struct vkd3d_view *view;
} info;
};
#ifdef VKD3D_ENABLE_DESCRIPTOR_QA
-STATIC_ASSERT(sizeof(struct vkd3d_descriptor_metadata_view) == 32);
+STATIC_ASSERT(sizeof(struct vkd3d_descriptor_metadata_view) == 24);
static inline void vkd3d_descriptor_metadata_view_set_qa_cookie(
struct vkd3d_descriptor_metadata_view *view, uint64_t cookie)
{
view->qa_cookie = cookie;
}
#else
-STATIC_ASSERT(sizeof(struct vkd3d_descriptor_metadata_view) == 24);
+STATIC_ASSERT(sizeof(struct vkd3d_descriptor_metadata_view) == 16);
#define vkd3d_descriptor_metadata_view_set_qa_cookie(view, cookie) ((void)0)
#endif