|
|
|
@ -124,10 +124,15 @@ RasterizerOpenGL::RasterizerOpenGL(Core::Frontend::EmuWindow& window, ScreenInfo |
|
|
|
RasterizerOpenGL::~RasterizerOpenGL() {} |
|
|
|
|
|
|
|
void RasterizerOpenGL::SetupVertexFormat() { |
|
|
|
MICROPROFILE_SCOPE(OpenGL_VAO); |
|
|
|
const auto& gpu = Core::System::GetInstance().GPU().Maxwell3D(); |
|
|
|
auto& gpu = Core::System::GetInstance().GPU().Maxwell3D(); |
|
|
|
const auto& regs = gpu.regs; |
|
|
|
|
|
|
|
if (!gpu.dirty_flags.vertex_attrib_format) |
|
|
|
return; |
|
|
|
gpu.dirty_flags.vertex_attrib_format = false; |
|
|
|
|
|
|
|
MICROPROFILE_SCOPE(OpenGL_VAO); |
|
|
|
|
|
|
|
auto [iter, is_cache_miss] = vertex_array_cache.try_emplace(regs.vertex_attrib_format); |
|
|
|
auto& VAO = iter->second; |
|
|
|
|
|
|
|
|