1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-13 19:29:14 +01:00

[dxvk] Add definitions for transform feedback entry points

This commit is contained in:
Philip Rebohle 2018-07-24 15:04:50 +02:00
parent bf906aa226
commit 61d56a1732
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 72 additions and 0 deletions

View File

@ -221,12 +221,32 @@ namespace dxvk {
}
void cmdBeginQueryIndexed(
VkQueryPool queryPool,
uint32_t query,
VkQueryControlFlags flags,
uint32_t index) {
m_vkd->vkCmdBeginQueryIndexedEXT(
m_execBuffer, queryPool, query, flags, index);
}
void cmdBeginRenderPass(
const VkRenderPassBeginInfo* pRenderPassBegin,
VkSubpassContents contents) {
m_vkd->vkCmdBeginRenderPass(m_execBuffer,
pRenderPassBegin, contents);
}
void cmdBeginTransformFeedback(
uint32_t firstBuffer,
uint32_t bufferCount,
const VkBuffer* counterBuffers,
const VkDeviceSize* counterOffsets) {
m_vkd->vkCmdBeginTransformFeedbackEXT(m_execBuffer,
firstBuffer, bufferCount, counterBuffers, counterOffsets);
}
void cmdBindDescriptorSet(
@ -256,6 +276,17 @@ namespace dxvk {
m_vkd->vkCmdBindPipeline(m_execBuffer,
pipelineBindPoint, pipeline);
}
void cmdBindTransformFeedbackBuffers(
uint32_t firstBinding,
uint32_t bindingCount,
const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets,
const VkDeviceSize* pSizes) {
m_vkd->vkCmdBindTransformFeedbackBuffersEXT(m_execBuffer,
firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
}
void cmdBindVertexBuffers(
@ -425,6 +456,19 @@ namespace dxvk {
m_vkd->vkCmdDrawIndexedIndirect(m_execBuffer,
buffer, offset, drawCount, stride);
}
void cmdDrawIndirectVertexCount(
uint32_t instanceCount,
uint32_t firstInstance,
VkBuffer counterBuffer,
VkDeviceSize counterBufferOffset,
uint32_t counterOffset,
uint32_t vertexStride) {
m_vkd->vkCmdDrawIndirectByteCountEXT(m_execBuffer,
instanceCount, firstInstance, counterBuffer,
counterBufferOffset, counterOffset, vertexStride);
}
void cmdEndQuery(
@ -432,6 +476,15 @@ namespace dxvk {
uint32_t query) {
m_vkd->vkCmdEndQuery(m_execBuffer, queryPool, query);
}
void cmdEndQueryIndexed(
VkQueryPool queryPool,
uint32_t query,
uint32_t index) {
m_vkd->vkCmdEndQueryIndexedEXT(
m_execBuffer, queryPool, query, index);
}
void cmdEndRenderPass() {
@ -439,6 +492,16 @@ namespace dxvk {
}
void cmdEndTransformFeedback(
uint32_t firstBuffer,
uint32_t bufferCount,
const VkBuffer* counterBuffers,
const VkDeviceSize* counterOffsets) {
m_vkd->vkCmdEndTransformFeedbackEXT(m_execBuffer,
firstBuffer, bufferCount, counterBuffers, counterOffsets);
}
void cmdFillBuffer(
VkBuffer dstBuffer,
VkDeviceSize dstOffset,

View File

@ -284,6 +284,15 @@ namespace dxvk::vk {
VULKAN_FN(vkGetBufferMemoryRequirements2KHR);
VULKAN_FN(vkGetImageMemoryRequirements2KHR);
#endif
#ifdef VK_EXT_transform_feedback
VULKAN_FN(vkCmdBindTransformFeedbackBuffersEXT);
VULKAN_FN(vkCmdBeginTransformFeedbackEXT);
VULKAN_FN(vkCmdEndTransformFeedbackEXT);
VULKAN_FN(vkCmdDrawIndirectByteCountEXT);
VULKAN_FN(vkCmdBeginQueryIndexedEXT);
VULKAN_FN(vkCmdEndQueryIndexedEXT);
#endif
};
}