summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_graphics_pipeline.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-26 23:32:59 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:33 +0200
commitadb591a757ccb289634920d51cf519b515ca32b6 (patch)
tree987c5cd0a346e69633791ad5ec355b6104ab036e /src/video_core/renderer_opengl/gl_graphics_pipeline.h
parentglasm: Implement Y direction (diff)
downloadyuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar.gz
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar.bz2
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar.lz
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar.xz
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.tar.zst
yuzu-adb591a757ccb289634920d51cf519b515ca32b6.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_graphics_pipeline.h')
-rw-r--r--src/video_core/renderer_opengl/gl_graphics_pipeline.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_graphics_pipeline.h b/src/video_core/renderer_opengl/gl_graphics_pipeline.h
index 62f700cf5..c1113e180 100644
--- a/src/video_core/renderer_opengl/gl_graphics_pipeline.h
+++ b/src/video_core/renderer_opengl/gl_graphics_pipeline.h
@@ -20,6 +20,7 @@
namespace OpenGL {
+class Device;
class ProgramManager;
using Maxwell = Tegra::Engines::Maxwell3D::Regs;
@@ -60,8 +61,8 @@ static_assert(std::is_trivially_constructible_v<GraphicsPipelineKey>);
class GraphicsPipeline {
public:
- explicit GraphicsPipeline(TextureCache& texture_cache_, BufferCache& buffer_cache_,
- Tegra::MemoryManager& gpu_memory_,
+ explicit GraphicsPipeline(const Device& device, TextureCache& texture_cache_,
+ BufferCache& buffer_cache_, Tegra::MemoryManager& gpu_memory_,
Tegra::Engines::Maxwell3D& maxwell3d_,
ProgramManager& program_manager_, StateTracker& state_tracker_,
OGLProgram program_,
@@ -77,6 +78,10 @@ public:
}
}
+ [[nodiscard]] bool WritesGlobalMemory() const noexcept {
+ return writes_global_memory;
+ }
+
private:
void GenerateTransformFeedbackState(const VideoCommon::TransformFeedbackState& xfb_state);
@@ -99,6 +104,9 @@ private:
std::array<u32, 5> num_texture_buffers{};
std::array<u32, 5> num_image_buffers{};
+ bool use_storage_buffers{};
+ bool writes_global_memory{};
+
static constexpr std::size_t XFB_ENTRY_STRIDE = 3;
GLsizei num_xfb_attribs{};
GLsizei num_xfb_strides{};