buffer_cache: Simplify uniform disabling logic
This commit is contained in:
parent
65b389da70
commit
859ba21f6d
8 changed files with 29 additions and 6 deletions
|
@ -110,6 +110,8 @@ public:
|
|||
|
||||
void BindGraphicsUniformBuffer(size_t stage, u32 index, GPUVAddr gpu_addr, u32 size);
|
||||
|
||||
void DisableGraphicsUniformBuffer(size_t stage, u32 index);
|
||||
|
||||
void UpdateGraphicsBuffers(bool is_indexed);
|
||||
|
||||
void UpdateComputeBuffers();
|
||||
|
@ -419,10 +421,6 @@ template <class P>
|
|||
void BufferCache<P>::BindGraphicsUniformBuffer(size_t stage, u32 index, GPUVAddr gpu_addr,
|
||||
u32 size) {
|
||||
const std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr);
|
||||
if (!cpu_addr) {
|
||||
uniform_buffers[stage][index] = NULL_BINDING;
|
||||
return;
|
||||
}
|
||||
const Binding binding{
|
||||
.cpu_addr = *cpu_addr,
|
||||
.size = size,
|
||||
|
@ -431,6 +429,11 @@ void BufferCache<P>::BindGraphicsUniformBuffer(size_t stage, u32 index, GPUVAddr
|
|||
uniform_buffers[stage][index] = binding;
|
||||
}
|
||||
|
||||
template <class P>
|
||||
void BufferCache<P>::DisableGraphicsUniformBuffer(size_t stage, u32 index) {
|
||||
uniform_buffers[stage][index] = NULL_BINDING;
|
||||
}
|
||||
|
||||
template <class P>
|
||||
void BufferCache<P>::UpdateGraphicsBuffers(bool is_indexed) {
|
||||
MICROPROFILE_SCOPE(GPU_PrepareBuffers);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue