r600/sfn: Honor shader key w.r.t. atomic counter layout

Fixes: 79ca456b48
        r600/sfn: rewrite NIR backend

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
This commit is contained in:
Gert Wollny 2022-11-15 11:48:24 +01:00 committed by Marge Bot
parent 6d02054047
commit 0ccf7ed791
7 changed files with 10 additions and 9 deletions

View file

@ -171,11 +171,12 @@ ShaderInput::set_uses_interpolate_at_centroid()
m_uses_interpolate_at_centroid = true;
}
Shader::Shader(const char *type_id):
Shader::Shader(const char *type_id, unsigned atomic_base):
m_current_block(nullptr),
m_type_id(type_id),
m_chip_class(ISA_CC_R600),
m_next_block(0)
m_next_block(0),
m_atomic_base(atomic_base)
{
m_instr_factory = new InstrFactory();
m_chain_instr.this_shader = this;

View file

@ -264,7 +264,7 @@ protected:
std::bitset<es_last> m_sv_values;
Shader(const char *type_id);
Shader(const char *type_id, unsigned atomic_base);
const ShaderInput& input(int base) const;

View file

@ -31,7 +31,7 @@
namespace r600 {
ComputeShader::ComputeShader(UNUSED const r600_shader_key& key):
Shader("CS")
Shader("CS", 0)
{
}

View file

@ -40,7 +40,7 @@ namespace r600 {
using std::string;
FragmentShader::FragmentShader(const r600_shader_key& key):
Shader("FS"),
Shader("FS", key.ps.first_atomic_counter),
m_dual_source_blend(key.ps.dual_source_blend),
m_max_color_exports(MAX2(key.ps.nr_cbufs, 1)),
m_export_highest(0),

View file

@ -32,7 +32,7 @@
namespace r600 {
GeometryShader::GeometryShader(const r600_shader_key& key):
Shader("GS"),
Shader("GS", key.gs.first_atomic_counter),
m_tri_strip_adj_fix(key.gs.tri_strip_adj_fix)
{
}

View file

@ -36,7 +36,7 @@ namespace r600 {
using std::string;
TCSShader::TCSShader(const r600_shader_key& key):
Shader("TCS"),
Shader("TCS", key.tcs.first_atomic_counter),
m_tcs_prim_mode(key.tcs.prim_mode)
{
}
@ -177,7 +177,7 @@ TCSShader::do_print_properties(std::ostream& os) const
TESShader::TESShader(const pipe_stream_output_info *so_info,
const r600_shader *gs_shader,
const r600_shader_key& key):
VertexStageShader("TES"),
VertexStageShader("TES", key.tes.first_atomic_counter),
m_vs_as_gs_a(key.vs.as_gs_a),
m_tes_as_es(key.tes.as_es)
{

View file

@ -414,7 +414,7 @@ VertexExportForFs::output_register(int loc) const
VertexShader::VertexShader(const pipe_stream_output_info *so_info,
r600_shader *gs_shader,
r600_shader_key& key):
VertexStageShader("VS"),
VertexStageShader("VS", key.vs.first_atomic_counter),
m_vs_as_gs_a(key.vs.as_gs_a)
{
if (key.vs.as_es)