mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-13 16:08:50 +01:00
[dxvk] Introduce bindResourceImageView and bindResourceBufferView methods
This commit is contained in:
parent
88bdf2b592
commit
317850e16f
@ -213,6 +213,55 @@ namespace dxvk {
|
|||||||
m_descriptorState.dirtyViews(stages);
|
m_descriptorState.dirtyViews(stages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Binds image view
|
||||||
|
*
|
||||||
|
* \param [in] stages Shader stages that access the binding
|
||||||
|
* \param [in] slot Resource binding slot
|
||||||
|
* \param [in] view Image view to bind
|
||||||
|
*/
|
||||||
|
void bindResourceImageView(
|
||||||
|
VkShaderStageFlags stages,
|
||||||
|
uint32_t slot,
|
||||||
|
Rc<DxvkImageView>&& view) {
|
||||||
|
if (m_rc[slot].bufferView != nullptr) {
|
||||||
|
m_rc[slot].bufferSlice = DxvkBufferSlice();
|
||||||
|
m_rc[slot].bufferView = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_rc[slot].imageView = std::move(view);
|
||||||
|
m_rcTracked.clr(slot);
|
||||||
|
|
||||||
|
m_descriptorState.dirtyViews(stages);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Binds buffer view
|
||||||
|
*
|
||||||
|
* \param [in] stages Shader stages that access the binding
|
||||||
|
* \param [in] slot Resource binding slot
|
||||||
|
* \param [in] view Buffer view to bind
|
||||||
|
*/
|
||||||
|
void bindResourceBufferView(
|
||||||
|
VkShaderStageFlags stages,
|
||||||
|
uint32_t slot,
|
||||||
|
Rc<DxvkBufferView>&& view) {
|
||||||
|
if (m_rc[slot].imageView != nullptr)
|
||||||
|
m_rc[slot].imageView = nullptr;
|
||||||
|
|
||||||
|
if (view != nullptr) {
|
||||||
|
m_rc[slot].bufferSlice = view->slice();
|
||||||
|
m_rc[slot].bufferView = std::move(view);
|
||||||
|
} else {
|
||||||
|
m_rc[slot].bufferSlice = DxvkBufferSlice();
|
||||||
|
m_rc[slot].bufferView = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_rcTracked.clr(slot);
|
||||||
|
|
||||||
|
m_descriptorState.dirtyViews(stages);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Binds image sampler
|
* \brief Binds image sampler
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user