summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 6cab48329..bfc3c4df9 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -650,12 +650,17 @@ void RasterizerOpenGL::DrawArrays() {
gpu.dirty_flags.vertex_array.set();
}
+ // Prepare vertex array format.
const GLuint vertex_array = SetupVertexFormat();
+ // Upload vertex and index data.
SetupVertexBuffer(vertex_array);
const GLintptr index_buffer_offset = SetupIndexBuffer();
+ // Setup draw parameters. It will automatically choose what glDraw* method to use.
const DrawParameters params = SetupDraw(index_buffer_offset);
+
+ // Setup shaders and their used resources.
texture_cache.GuardSamplers(true);
SetupShaders(params.primitive_mode);
texture_cache.GuardSamplers(false);