mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	buffer_cache: Minor fixes
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
This commit is contained in:
		@@ -570,13 +570,12 @@ bool BufferCache<P>::DMACopy(GPUVAddr src_address, GPUVAddr dest_address, u64 am
 | 
			
		||||
    ForEachWrittenRange(*cpu_src_address, amount, mirror);
 | 
			
		||||
    // This subtraction in this order is important for overlapping copies.
 | 
			
		||||
    common_ranges.subtract(subtract_interval);
 | 
			
		||||
    bool atleast_1_download = tmp_intervals.size() != 0;
 | 
			
		||||
    for (const IntervalType add_interval : tmp_intervals) {
 | 
			
		||||
    const bool has_new_downloads = tmp_intervals.size() != 0;
 | 
			
		||||
    for (const IntervalType& add_interval : tmp_intervals) {
 | 
			
		||||
        common_ranges.add(add_interval);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    runtime.CopyBuffer(dest_buffer, src_buffer, copies);
 | 
			
		||||
    if (atleast_1_download) {
 | 
			
		||||
    if (has_new_downloads) {
 | 
			
		||||
        dest_buffer.MarkRegionAsGpuModified(*cpu_dest_address, amount);
 | 
			
		||||
    }
 | 
			
		||||
    std::vector<u8> tmp_buffer(amount);
 | 
			
		||||
 
 | 
			
		||||
@@ -147,8 +147,7 @@ void BufferCacheRuntime::CopyBuffer(Buffer& dst_buffer, Buffer& src_buffer,
 | 
			
		||||
 | 
			
		||||
void BufferCacheRuntime::ClearBuffer(Buffer& dest_buffer, u32 offset, size_t size, u32 value) {
 | 
			
		||||
    glClearNamedBufferSubData(dest_buffer.Handle(), GL_R32UI, static_cast<GLintptr>(offset),
 | 
			
		||||
                              static_cast<GLsizeiptr>(size / sizeof(u32)), GL_RED, GL_UNSIGNED_INT,
 | 
			
		||||
                              &value);
 | 
			
		||||
                              static_cast<GLsizeiptr>(size), GL_RED, GL_UNSIGNED_INT, &value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void BufferCacheRuntime::BindIndexBuffer(Buffer& buffer, u32 offset, u32 size) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user