summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-07-15 03:25:13 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-07-15 22:38:25 +0200
commit725ba6cf6336fb0f1be4e5250c15767d60e28259 (patch)
treeed9c302a2b7735f64b09434469f4e9714122e789 /src/video_core/renderer_opengl/gl_rasterizer.h
parentMerge pull request #2695 from ReinUsesLisp/layer-viewport (diff)
downloadyuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar.gz
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar.bz2
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar.lz
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar.xz
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.tar.zst
yuzu-725ba6cf6336fb0f1be4e5250c15767d60e28259.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.h')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 40b571d58..b2b671230 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -58,6 +58,7 @@ public:
void DrawArrays() override;
void Clear() override;
+ void DispatchCompute(GPUVAddr code_addr) override;
void FlushAll() override;
void FlushRegion(CacheAddr addr, u64 size) override;
void InvalidateRegion(CacheAddr addr, u64 size) override;
@@ -112,13 +113,23 @@ private:
void SetupDrawConstBuffers(Tegra::Engines::Maxwell3D::Regs::ShaderStage stage,
const Shader& shader);
+ /// Configures the current constbuffers to use for the kernel invocation.
+ void SetupComputeConstBuffers(const Shader& kernel);
+
/// Configures a constant buffer.
void SetupConstBuffer(const Tegra::Engines::ConstBufferInfo& buffer,
const GLShader::ConstBufferEntry& entry);
/// Configures the current global memory entries to use for the draw command.
- void SetupGlobalRegions(Tegra::Engines::Maxwell3D::Regs::ShaderStage stage,
- const Shader& shader);
+ void SetupDrawGlobalMemory(Tegra::Engines::Maxwell3D::Regs::ShaderStage stage,
+ const Shader& shader);
+
+ /// Configures the current global memory entries to use for the kernel invocation.
+ void SetupComputeGlobalMemory(const Shader& kernel);
+
+ /// Configures a constant buffer.
+ void SetupGlobalMemory(const GLShader::GlobalMemoryEntry& entry, GPUVAddr gpu_addr,
+ std::size_t size);
/// Configures the current textures to use for the draw command. Returns shaders texture buffer
/// usage.