mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	gl_stream_buffer: Profile orphaning of stream buffer.
This serialize to the driver thread and so it may block for a while. So if it is in the benchmark, we get noticed if it happens too often.
This commit is contained in:
		
							parent
							
								
									392547a97c
								
							
						
					
					
						commit
						79696a1a43
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -6,9 +6,13 @@
 | 
			
		|||
#include <vector>
 | 
			
		||||
#include "common/alignment.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "common/microprofile.h"
 | 
			
		||||
#include "video_core/renderer_opengl/gl_state.h"
 | 
			
		||||
#include "video_core/renderer_opengl/gl_stream_buffer.h"
 | 
			
		||||
 | 
			
		||||
MICROPROFILE_DEFINE(OpenGL_StreamBuffer, "OpenGL", "Stream Buffer Orphaning",
 | 
			
		||||
                    MP_RGB(128, 128, 192));
 | 
			
		||||
 | 
			
		||||
namespace OpenGL {
 | 
			
		||||
 | 
			
		||||
OGLStreamBuffer::OGLStreamBuffer(GLenum target, GLsizeiptr size, bool array_buffer_for_amd,
 | 
			
		||||
| 
						 | 
				
			
			@ -76,6 +80,7 @@ std::tuple<u8*, GLintptr, bool> OGLStreamBuffer::Map(GLsizeiptr size, GLintptr a
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (invalidate || !persistent) {
 | 
			
		||||
        MICROPROFILE_SCOPE(OpenGL_StreamBuffer);
 | 
			
		||||
        GLbitfield flags = GL_MAP_WRITE_BIT | (persistent ? GL_MAP_PERSISTENT_BIT : 0) |
 | 
			
		||||
                           (coherent ? GL_MAP_COHERENT_BIT : GL_MAP_FLUSH_EXPLICIT_BIT) |
 | 
			
		||||
                           (invalidate ? GL_MAP_INVALIDATE_BUFFER_BIT : GL_MAP_UNSYNCHRONIZED_BIT);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue