diff options
author | bunnei <bunneidev@gmail.com> | 2022-03-25 04:16:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-25 04:16:11 +0100 |
commit | ab6a5784fa991016b5d8c097471fbda88853ba5d (patch) | |
tree | 407ed36099630b4e52bcd727e799d8f22bb43c24 /src/video_core/renderer_opengl/gl_device.cpp | |
parent | Merge pull request #8050 from bunnei/nvflinger-rewrite (diff) | |
parent | GC: Address Feedback. (diff) | |
download | yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar.gz yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar.bz2 yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar.lz yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar.xz yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.tar.zst yuzu-ab6a5784fa991016b5d8c097471fbda88853ba5d.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 715cd3a48..656dd7eb0 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -13,12 +13,15 @@ #include <glad/glad.h> +#include "common/literals.h" #include "common/logging/log.h" #include "common/settings.h" #include "shader_recompiler/stage.h" #include "video_core/renderer_opengl/gl_device.h" #include "video_core/renderer_opengl/gl_resource_manager.h" +using namespace Common::Literals; + namespace OpenGL { namespace { constexpr std::array LIMIT_UBOS = { @@ -165,6 +168,7 @@ Device::Device() { has_sparse_texture_2 = GLAD_GL_ARB_sparse_texture2; warp_size_potentially_larger_than_guest = !is_nvidia && !is_intel; need_fastmath_off = is_nvidia; + can_report_memory = GLAD_GL_NVX_gpu_memory_info; // At the moment of writing this, only Nvidia's driver optimizes BufferSubData on exclusive // uniform buffers as "push constants" @@ -276,4 +280,10 @@ void main() { })"); } +u64 Device::GetCurrentDedicatedVideoMemory() const { + GLint cur_avail_mem_kb = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX, &cur_avail_mem_kb); + return static_cast<u64>(cur_avail_mem_kb) * 1_KiB; +} + } // namespace OpenGL |