| 50 | } |
| 51 | |
| 52 | void ComputeContext::dispatchIndirect(ComputeState* pState, ProgramVars* pVars, const Buffer* pArgBuffer, uint64_t argBufferOffset) |
| 53 | { |
| 54 | pVars->prepareDescriptorSets(this); |
| 55 | resourceBarrier(pArgBuffer, Resource::State::IndirectArg); |
| 56 | |
| 57 | auto computeEncoder = mpLowLevelData->getComputeCommandEncoder(); |
| 58 | FALCOR_GFX_CALL(computeEncoder->bindPipelineWithRootObject(pState->getCSO(pVars)->getGfxPipelineState(), pVars->getShaderObject())); |
| 59 | FALCOR_GFX_CALL(computeEncoder->dispatchComputeIndirect(pArgBuffer->getGfxBufferResource(), argBufferOffset)); |
| 60 | mCommandsPending = true; |
| 61 | } |
| 62 | |
| 63 | void ComputeContext::clearUAV(const UnorderedAccessView* pUav, const float4& value) |
| 64 | { |
no test coverage detected