vkd3d: Add external API to perform initial transition.
Relevant for swapchain since a swapchain resource can be presented right away without ever having been touched by an API call. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
65df050d0d
commit
ce9db3f476
|
@ -182,6 +182,7 @@ VKD3D_EXPORT struct vkd3d_instance *vkd3d_instance_from_device(ID3D12Device *dev
|
|||
VKD3D_EXPORT uint32_t vkd3d_get_vk_queue_family_index(ID3D12CommandQueue *queue);
|
||||
VKD3D_EXPORT VkQueue vkd3d_acquire_vk_queue(ID3D12CommandQueue *queue);
|
||||
VKD3D_EXPORT void vkd3d_release_vk_queue(ID3D12CommandQueue *queue);
|
||||
VKD3D_EXPORT void vkd3d_enqueue_initial_transition(ID3D12CommandQueue *queue, ID3D12Resource *resource);
|
||||
|
||||
VKD3D_EXPORT HRESULT vkd3d_create_image_resource(ID3D12Device *device,
|
||||
const struct vkd3d_image_resource_create_info *create_info, ID3D12Resource **resource);
|
||||
|
|
|
@ -8411,6 +8411,21 @@ VKD3D_EXPORT void vkd3d_release_vk_queue(ID3D12CommandQueue *queue)
|
|||
d3d12_command_queue_release_serialized(d3d12_queue);
|
||||
}
|
||||
|
||||
VKD3D_EXPORT void vkd3d_enqueue_initial_transition(ID3D12CommandQueue *queue, ID3D12Resource *resource)
|
||||
{
|
||||
struct d3d12_command_queue_submission sub;
|
||||
struct d3d12_command_queue *d3d12_queue = impl_from_ID3D12CommandQueue(queue);
|
||||
struct d3d12_resource *d3d12_resource = unsafe_impl_from_ID3D12Resource(resource);
|
||||
|
||||
memset(&sub, 0, sizeof(sub));
|
||||
sub.type = VKD3D_SUBMISSION_EXECUTE;
|
||||
sub.execute.transition_count = 1;
|
||||
sub.execute.transitions = vkd3d_malloc(sizeof(*sub.execute.transitions));
|
||||
sub.execute.transitions[0].resource = d3d12_resource;
|
||||
sub.execute.transitions[0].perform_initial_transition = true;
|
||||
d3d12_command_queue_add_submission(d3d12_queue, &sub);
|
||||
}
|
||||
|
||||
/* ID3D12CommandSignature */
|
||||
static inline struct d3d12_command_signature *impl_from_ID3D12CommandSignature(ID3D12CommandSignature *iface)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue