|
|
|
@ -75,14 +75,11 @@ RasterizerOpenGL::RasterizerOpenGL() { |
|
|
|
// Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0
|
|
|
|
state.clip_distance[0] = true; |
|
|
|
|
|
|
|
// Generate VBO, VAO and UBO
|
|
|
|
vertex_buffer = OGLStreamBuffer::MakeBuffer(GLAD_GL_ARB_buffer_storage, GL_ARRAY_BUFFER); |
|
|
|
vertex_buffer->Create(VERTEX_BUFFER_SIZE, VERTEX_BUFFER_SIZE / 2); |
|
|
|
// Generate VAO and UBO
|
|
|
|
sw_vao.Create(); |
|
|
|
uniform_buffer.Create(); |
|
|
|
|
|
|
|
state.draw.vertex_array = sw_vao.handle; |
|
|
|
state.draw.vertex_buffer = vertex_buffer->GetHandle(); |
|
|
|
state.draw.uniform_buffer = uniform_buffer.handle; |
|
|
|
state.Apply(); |
|
|
|
|
|
|
|
@ -90,7 +87,6 @@ RasterizerOpenGL::RasterizerOpenGL() { |
|
|
|
framebuffer.Create(); |
|
|
|
|
|
|
|
hw_vao.Create(); |
|
|
|
hw_vao_enabled_attributes.fill(false); |
|
|
|
|
|
|
|
stream_buffer = OGLStreamBuffer::MakeBuffer(has_ARB_buffer_storage, GL_ARRAY_BUFFER); |
|
|
|
stream_buffer->Create(STREAM_BUFFER_SIZE, STREAM_BUFFER_SIZE / 2); |
|
|
|
@ -181,8 +177,6 @@ std::pair<u8*, GLintptr> RasterizerOpenGL::SetupVertexArrays(u8* array_ptr, |
|
|
|
glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), |
|
|
|
attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); |
|
|
|
glVertexAttribBinding(index, attrib.buffer); |
|
|
|
|
|
|
|
hw_vao_enabled_attributes[index] = true; |
|
|
|
} |
|
|
|
|
|
|
|
return {array_ptr, buffer_offset}; |
|
|
|
|