1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 10:24:10 +01:00

[dxvk] Added dispatch call

This commit is contained in:
Philip Rebohle 2017-11-23 14:24:00 +01:00
parent 47bdf9408b
commit 64d9ad0027
2 changed files with 34 additions and 0 deletions

View File

@ -124,6 +124,16 @@ namespace dxvk {
}
void DxvkContext::dispatch(
uint32_t x,
uint32_t y,
uint32_t z) {
TRACE(this, x, y, z);
m_cmd->cmdDispatch(x, y, z);
}
void DxvkContext::draw(
uint32_t vertexCount,
uint32_t instanceCount,
@ -265,6 +275,11 @@ namespace dxvk {
}
void DxvkContext::bindComputePipeline() {
// TODO implement
}
void DxvkContext::bindGraphicsPipeline() {
if (m_state.flags.test(DxvkContextFlag::GpDirtyPipeline)) {
m_state.flags.clr(DxvkContextFlag::GpDirtyPipeline);
@ -345,6 +360,11 @@ namespace dxvk {
}
void DxvkContext::commitComputeState() {
this->bindComputePipeline();
}
void DxvkContext::commitGraphicsState() {
this->renderPassBegin();
this->bindGraphicsPipeline();

View File

@ -96,6 +96,18 @@ namespace dxvk {
const VkClearAttachment& attachment,
const VkClearRect& clearArea);
/**
* \brief Starts compute jobs
*
* \param [in] x Number of threads in X direction
* \param [in] y Number of threads in Y direction
* \param [in] z Number of threads in Z direction
*/
void dispatch(
uint32_t x,
uint32_t y,
uint32_t z);
/**
* \brief Draws primitive without using an index buffer
*
@ -191,6 +203,7 @@ namespace dxvk {
void renderPassBegin();
void renderPassEnd();
void bindComputePipeline();
void bindGraphicsPipeline();
void updateDynamicState();
@ -199,6 +212,7 @@ namespace dxvk {
void updateIndexBufferBinding();
void updateVertexBufferBindings();
void commitComputeState();
void commitGraphicsState();
DxvkShaderStageState* getShaderStage(