summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Subv2018-05-19 11:36:09 -0500
committerGravatar Subv2018-05-19 11:36:09 -0500
commit370ab5df9b34882fb17d5fe680b4c48f6d56065c (patch)
tree40094e30fdee5975374caf19d81ac2dd6a90670f /src
parentMerge pull request #436 from bunnei/multi-core (diff)
downloadyuzu-370ab5df9b34882fb17d5fe680b4c48f6d56065c.tar.gz
yuzu-370ab5df9b34882fb17d5fe680b4c48f6d56065c.tar.xz
yuzu-370ab5df9b34882fb17d5fe680b4c48f6d56065c.zip
GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB.
The stream buffer is where all the vertex data is copied, some games require this to be much bigger than the 4 MB we used to have.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp5
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h7
2 files changed, 3 insertions, 9 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 907236136..39546b7ef 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -75,14 +75,11 @@ RasterizerOpenGL::RasterizerOpenGL() {
75 // Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0 75 // Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0
76 state.clip_distance[0] = true; 76 state.clip_distance[0] = true;
77 77
78 // Generate VBO, VAO and UBO 78 // Generate VAO and UBO
79 vertex_buffer = OGLStreamBuffer::MakeBuffer(GLAD_GL_ARB_buffer_storage, GL_ARRAY_BUFFER);
80 vertex_buffer->Create(VERTEX_BUFFER_SIZE, VERTEX_BUFFER_SIZE / 2);
81 sw_vao.Create(); 79 sw_vao.Create();
82 uniform_buffer.Create(); 80 uniform_buffer.Create();
83 81
84 state.draw.vertex_array = sw_vao.handle; 82 state.draw.vertex_array = sw_vao.handle;
85 state.draw.vertex_buffer = vertex_buffer->GetHandle();
86 state.draw.uniform_buffer = uniform_buffer.handle; 83 state.draw.uniform_buffer = uniform_buffer.handle;
87 state.Apply(); 84 state.Apply();
88 85
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 9709e595e..158b74436 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -141,14 +141,11 @@ private:
141 Tegra::Engines::Maxwell3D::Regs::MaxShaderStage> 141 Tegra::Engines::Maxwell3D::Regs::MaxShaderStage>
142 ssbos; 142 ssbos;
143 143
144 static constexpr size_t VERTEX_BUFFER_SIZE = 128 * 1024 * 1024; 144 static constexpr size_t STREAM_BUFFER_SIZE = 128 * 1024 * 1024;
145 std::unique_ptr<OGLStreamBuffer> vertex_buffer; 145 std::unique_ptr<OGLStreamBuffer> stream_buffer;
146 OGLBuffer uniform_buffer; 146 OGLBuffer uniform_buffer;
147 OGLFramebuffer framebuffer; 147 OGLFramebuffer framebuffer;
148 148
149 static constexpr size_t STREAM_BUFFER_SIZE = 4 * 1024 * 1024;
150 std::unique_ptr<OGLStreamBuffer> stream_buffer;
151
152 size_t CalculateVertexArraysSize() const; 149 size_t CalculateVertexArraysSize() const;
153 150
154 std::pair<u8*, GLintptr> SetupVertexArrays(u8* array_ptr, GLintptr buffer_offset); 151 std::pair<u8*, GLintptr> SetupVertexArrays(u8* array_ptr, GLintptr buffer_offset);