mirror of
https://github.com/skyline-emu/skyline.git
synced 2025-01-11 11:09:07 +01:00
Bind all pipeline states to main pipeline dirty state
This commit is contained in:
parent
a04d8fb5cf
commit
19a75c3f65
@ -33,7 +33,7 @@ namespace skyline::dirty {
|
|||||||
* @tparam OverlapPoolSize Size of the pool used to store handles when there are multiple bound to the same subresource
|
* @tparam OverlapPoolSize Size of the pool used to store handles when there are multiple bound to the same subresource
|
||||||
* @note This class is *NOT* thread-safe
|
* @note This class is *NOT* thread-safe
|
||||||
*/
|
*/
|
||||||
template<size_t ManagedResourceSize, size_t Granularity, size_t OverlapPoolSize = 0x400>
|
template<size_t ManagedResourceSize, size_t Granularity, size_t OverlapPoolSize = 0x1000>
|
||||||
class Manager {
|
class Manager {
|
||||||
private:
|
private:
|
||||||
struct BindingState {
|
struct BindingState {
|
||||||
|
@ -399,9 +399,16 @@ namespace skyline::gpu::interconnect::maxwell3d {
|
|||||||
void PipelineState::EngineRegisters::DirtyBind(DirtyManager &manager, dirty::Handle handle) const {
|
void PipelineState::EngineRegisters::DirtyBind(DirtyManager &manager, dirty::Handle handle) const {
|
||||||
auto bindFunc{[&](auto ®s) { regs.DirtyBind(manager, handle); }};
|
auto bindFunc{[&](auto ®s) { regs.DirtyBind(manager, handle); }};
|
||||||
|
|
||||||
|
ranges::for_each(pipelineStageRegisters, bindFunc);
|
||||||
ranges::for_each(colorRenderTargetsRegisters, bindFunc);
|
ranges::for_each(colorRenderTargetsRegisters, bindFunc);
|
||||||
bindFunc(depthRenderTargetRegisters);
|
bindFunc(depthRenderTargetRegisters);
|
||||||
bindFunc(vertexInputRegisters);
|
bindFunc(vertexInputRegisters);
|
||||||
|
bindFunc(inputAssemblyRegisters);
|
||||||
|
bindFunc(tessellationRegisters);
|
||||||
|
bindFunc(rasterizationRegisters);
|
||||||
|
bindFunc(depthStencilRegisters);
|
||||||
|
bindFunc(colorBlendRegisters);
|
||||||
|
bindFunc(globalShaderConfigRegisters);
|
||||||
}
|
}
|
||||||
|
|
||||||
PipelineState::PipelineState(dirty::Handle dirtyHandle, DirtyManager &manager, const EngineRegisters &engine)
|
PipelineState::PipelineState(dirty::Handle dirtyHandle, DirtyManager &manager, const EngineRegisters &engine)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user