diff options
| author | Wollnashorn <Wollnashorn@users.noreply.github.com> | 2023-04-05 03:02:24 +0200 |
|---|---|---|
| committer | Wollnashorn <Wollnashorn@users.noreply.github.com> | 2023-04-08 16:12:44 +0200 |
| commit | fe91066f4673f7a3ee87235f08b72db4910eb01c (patch) | |
| tree | 7228ef7eb04f1f0ceb289d54daeba42d0d2719c8 /src/video_core/renderer_opengl | |
| parent | 780240e6979b198e7bd10feaad5399b8b4b63762 (diff) | |
video_core: Enable ImageGather with subpixel offset on Intel
Diffstat (limited to 'src/video_core/renderer_opengl')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.h | 9 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 2 |
3 files changed, 5 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index d36a0a7a1..22ed16ebf 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -169,7 +169,6 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) { has_draw_texture = GLAD_GL_NV_draw_texture; warp_size_potentially_larger_than_guest = !is_nvidia && !is_intel; need_fastmath_off = is_nvidia; - need_gather_subpixel_offset = is_amd; can_report_memory = GLAD_GL_NVX_gpu_memory_info; // At the moment of writing this, only Nvidia's driver optimizes BufferSubData on exclusive diff --git a/src/video_core/renderer_opengl/gl_device.h b/src/video_core/renderer_opengl/gl_device.h index e8104c4de..cc0b95f1a 100644 --- a/src/video_core/renderer_opengl/gl_device.h +++ b/src/video_core/renderer_opengl/gl_device.h @@ -160,10 +160,6 @@ public: return need_fastmath_off; } - bool NeedsGatherSubpixelOffset() const { - return need_gather_subpixel_offset; - } - bool HasCbufFtouBug() const { return has_cbuf_ftou_bug; } @@ -180,6 +176,10 @@ public: return vendor_name == "ATI Technologies Inc."; } + bool IsIntel() const { + return vendor_name == "Intel"; + } + bool CanReportMemoryUsage() const { return can_report_memory; } @@ -229,7 +229,6 @@ private: bool has_draw_texture{}; bool warp_size_potentially_larger_than_guest{}; bool need_fastmath_off{}; - bool need_gather_subpixel_offset{}; bool has_cbuf_ftou_bug{}; bool has_bool_ref_bug{}; bool can_report_memory{}; diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index b40aa6f5e..6ecda2984 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp @@ -218,7 +218,7 @@ ShaderCache::ShaderCache(RasterizerOpenGL& rasterizer_, Core::Frontend::EmuWindo .lower_left_origin_mode = true, .need_declared_frag_colors = true, .need_fastmath_off = device.NeedsFastmathOff(), - .need_gather_subpixel_offset = device.NeedsGatherSubpixelOffset(), + .need_gather_subpixel_offset = device.IsAmd() || device.IsIntel(), .has_broken_spirv_clamp = true, .has_broken_unsigned_image_offsets = true, |
