| 486 | } |
| 487 | |
| 488 | void RenderContext::drawIndirect( |
| 489 | GraphicsState* pState, |
| 490 | ProgramVars* pVars, |
| 491 | uint32_t maxCommandCount, |
| 492 | const Buffer* pArgBuffer, |
| 493 | uint64_t argBufferOffset, |
| 494 | const Buffer* pCountBuffer, |
| 495 | uint64_t countBufferOffset |
| 496 | ) |
| 497 | { |
| 498 | resourceBarrier(pArgBuffer, Resource::State::IndirectArg); |
| 499 | auto encoder = drawCallCommon(pState, pVars); |
| 500 | FALCOR_GFX_CALL(encoder->drawIndirect( |
| 501 | maxCommandCount, |
| 502 | pArgBuffer->getGfxBufferResource(), |
| 503 | argBufferOffset, |
| 504 | pCountBuffer ? pCountBuffer->getGfxBufferResource() : nullptr, |
| 505 | countBufferOffset |
| 506 | )); |
| 507 | mCommandsPending = true; |
| 508 | } |
| 509 | |
| 510 | void RenderContext::drawIndexedIndirect( |
| 511 | GraphicsState* pState, |