Commit f102301c authored by Gert Wollny's avatar Gert Wollny Committed by Marge Bot

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's avatarGert Wollny <gert.wollny@collabora.com>
Part-of: <mesa/mesa!4714>
parent f7df2c57
......@@ -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),
......
......@@ -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 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment