Mesa (master): r600/sfn: derive the GS from the vertex stage for a common interface
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Apr 28 08:17:40 UTC 2020
Module: Mesa
Branch: master
Commit: f102301cc48913a5d61e20705218e49653b737df
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f102301cc48913a5d61e20705218e49653b737df
Author: Gert Wollny <gert.wollny at collabora.com>
Date: Wed Apr 15 16:43:22 2020 +0200
r600/sfn: derive the GS from the vertex stage for a common interface
The GS can also provide the primid
Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
---
src/gallium/drivers/r600/sfn/sfn_shader_geometry.cpp | 4 ++--
src/gallium/drivers/r600/sfn/sfn_shader_geometry.h | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_geometry.cpp b/src/gallium/drivers/r600/sfn/sfn_shader_geometry.cpp
index f6ee95e4912..878e54e0630 100644
--- a/src/gallium/drivers/r600/sfn/sfn_shader_geometry.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_shader_geometry.cpp
@@ -34,8 +34,8 @@ namespace r600 {
GeometryShaderFromNir::GeometryShaderFromNir(r600_pipe_shader *sh,
r600_pipe_shader_selector &sel,
const r600_shader_key &key):
- ShaderFromNirProcessor (PIPE_SHADER_GEOMETRY, sel, sh->shader,
- sh->scratch_space_needed),
+ VertexStage(PIPE_SHADER_GEOMETRY, sel, sh->shader,
+ sh->scratch_space_needed),
m_pipe_shader(sh),
m_so_info(&sel.so),
m_first_vertex_emitted(false),
diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_geometry.h b/src/gallium/drivers/r600/sfn/sfn_shader_geometry.h
index 9f7f69f6925..cacbdaf50b7 100644
--- a/src/gallium/drivers/r600/sfn/sfn_shader_geometry.h
+++ b/src/gallium/drivers/r600/sfn/sfn_shader_geometry.h
@@ -28,17 +28,18 @@
#ifndef SFN_GEOMETRYSHADERFROMNIR_H
#define SFN_GEOMETRYSHADERFROMNIR_H
-#include "sfn_shader_base.h"
+#include "sfn_vertexstageexport.h"
namespace r600 {
-class GeometryShaderFromNir : public ShaderFromNirProcessor
+class GeometryShaderFromNir : public VertexStage
{
public:
GeometryShaderFromNir(r600_pipe_shader *sh, r600_pipe_shader_selector& sel, const r600_shader_key& key);
bool do_emit_load_deref(const nir_variable *in_var, nir_intrinsic_instr* instr) override;
bool do_emit_store_deref(const nir_variable *out_var, nir_intrinsic_instr* instr) override;
bool scan_sysvalue_access(nir_instr *instr) override;
+ PValue primitive_id() override {return m_primitive_id;}
private:
struct ArrayDeref {
More information about the mesa-commit
mailing list