summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2019-12-27 17:49:27 +0100
committerMarge Bot <eric+marge@anholt.net>2020-02-10 19:09:08 +0000
commit7fb5c835f7c9462e2095b6de645a0a75ad118c87 (patch)
tree8154953780937605f432d55d61150326cfc583b6 /src/gallium
parente17ac0d774b5a48a8d5a8a736e4a7a28554befa7 (diff)
r600/sfn: Add VS for TCS shader skeleton
This adds the VS shader type that handles the output to tesselation shaders Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/r600/sfn/sfn_shader_vertex.cpp19
-rw-r--r--src/gallium/drivers/r600/sfn/sfn_shader_vertex.h8
2 files changed, 27 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_vertex.cpp b/src/gallium/drivers/r600/sfn/sfn_shader_vertex.cpp
index 86182d927e9..67eb357a134 100644
--- a/src/gallium/drivers/r600/sfn/sfn_shader_vertex.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_shader_vertex.cpp
@@ -551,4 +551,23 @@ void VertexShaderFromNirForGS::finalize_exports()
{
}
+
+VertexShaderFromNirForES::VertexShaderFromNirForES(r600_pipe_shader *sh,
+ UNUSED const pipe_stream_output_info *so_info,
+ r600_pipe_shader_selector& sel,
+ const r600_shader_key &key):
+ VertexShaderFromNir(sh, sel, key)
+{
+}
+
+bool VertexShaderFromNirForES::do_emit_store_deref(UNUSED const nir_variable *out_var,
+ UNUSED nir_intrinsic_instr* instr)
+{
+ return false;
+}
+
+void VertexShaderFromNirForES::finalize_exports()
+{
+}
+
}
diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_vertex.h b/src/gallium/drivers/r600/sfn/sfn_shader_vertex.h
index 4b7fb75c7d7..fe8e6b1cbd5 100644
--- a/src/gallium/drivers/r600/sfn/sfn_shader_vertex.h
+++ b/src/gallium/drivers/r600/sfn/sfn_shader_vertex.h
@@ -91,6 +91,14 @@ public:
const r600_shader *m_gs_shader;
};
+class VertexShaderFromNirForES : public VertexShaderFromNir {
+public:
+ VertexShaderFromNirForES(r600_pipe_shader *sh, const pipe_stream_output_info *so_info, r600_pipe_shader_selector &sel,
+ const r600_shader_key &key);
+ bool do_emit_store_deref(const nir_variable *out_var, nir_intrinsic_instr* instr) override;
+ void finalize_exports() override;
+};
+
}
#endif