|
|
|
@ -183,10 +183,23 @@ private: |
|
|
|
/// Syncs the alpha test state to match the guest state |
|
|
|
void SyncAlphaTest(); |
|
|
|
|
|
|
|
/// Check for extension that are not strictly required |
|
|
|
/// but are needed for correct emulation |
|
|
|
/// Check for extension that are not strictly required but are needed for correct emulation |
|
|
|
void CheckExtensions(); |
|
|
|
|
|
|
|
std::size_t CalculateVertexArraysSize() const; |
|
|
|
|
|
|
|
std::size_t CalculateIndexBufferSize() const; |
|
|
|
|
|
|
|
/// Updates and returns a vertex array object representing current vertex format |
|
|
|
GLuint SetupVertexFormat(); |
|
|
|
|
|
|
|
void SetupVertexBuffer(GLuint vao); |
|
|
|
void SetupVertexInstances(GLuint vao); |
|
|
|
|
|
|
|
GLintptr SetupIndexBuffer(); |
|
|
|
|
|
|
|
void SetupShaders(GLenum primitive_mode); |
|
|
|
|
|
|
|
const Device device; |
|
|
|
OpenGLState state; |
|
|
|
|
|
|
|
@ -211,20 +224,6 @@ private: |
|
|
|
BindBuffersRangePushBuffer bind_ubo_pushbuffer{GL_UNIFORM_BUFFER}; |
|
|
|
BindBuffersRangePushBuffer bind_ssbo_pushbuffer{GL_SHADER_STORAGE_BUFFER}; |
|
|
|
|
|
|
|
std::size_t CalculateVertexArraysSize() const; |
|
|
|
|
|
|
|
std::size_t CalculateIndexBufferSize() const; |
|
|
|
|
|
|
|
/// Updates and returns a vertex array object representing current vertex format |
|
|
|
GLuint SetupVertexFormat(); |
|
|
|
|
|
|
|
void SetupVertexBuffer(GLuint vao); |
|
|
|
void SetupVertexInstances(GLuint vao); |
|
|
|
|
|
|
|
GLintptr SetupIndexBuffer(); |
|
|
|
|
|
|
|
void SetupShaders(GLenum primitive_mode); |
|
|
|
|
|
|
|
HostCounter samples_passed{GL_SAMPLES_PASSED}; |
|
|
|
|
|
|
|
/// Number of commands queued to the OpenGL driver. Reseted on flush. |
|
|
|
|