diff options
| author | bunnei <bunneidev@gmail.com> | 2019-11-06 10:08:55 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-06 10:08:55 -0500 |
| commit | 468576284d8e102f84f456a7d4ab3701c3e0280a (patch) | |
| tree | d0530d0795ca205447fabe757c4e8f057daf16c9 /src/video_core/renderer_opengl/gl_device.cpp | |
| parent | 4d66ca97e5e0b5d57b0be3e0f4a82d5535b8270b (diff) | |
| parent | 442a1cc0211131cb237b5291fd49dbd2f37399e9 (diff) | |
Merge pull request #3057 from ReinUsesLisp/buffer-sub-data
gl_rasterizer: Upload constant buffers with glNamedBufferSubData
Diffstat (limited to 'src/video_core/renderer_opengl/gl_device.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 64de7e425..c65b24c69 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -51,8 +51,11 @@ bool HasExtension(const std::vector<std::string_view>& images, std::string_view } // Anonymous namespace Device::Device() { + const std::string_view vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR)); const std::vector extensions = GetExtensions(); + const bool is_nvidia = vendor == "NVIDIA Corporation"; + uniform_buffer_alignment = GetInteger<std::size_t>(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT); shader_storage_alignment = GetInteger<std::size_t>(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT); max_vertex_attributes = GetInteger<u32>(GL_MAX_VERTEX_ATTRIBS); @@ -64,6 +67,7 @@ Device::Device() { has_variable_aoffi = TestVariableAoffi(); has_component_indexing_bug = TestComponentIndexingBug(); has_precise_bug = TestPreciseBug(); + has_fast_buffer_sub_data = is_nvidia; LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi); LOG_INFO(Render_OpenGL, "Renderer_ComponentIndexingBug: {}", has_component_indexing_bug); |
