mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
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:
parent
6d02054047
commit
0ccf7ed791
7 changed files with 10 additions and 9 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
namespace r600 {
|
||||
|
||||
ComputeShader::ComputeShader(UNUSED const r600_shader_key& key):
|
||||
Shader("CS")
|
||||
Shader("CS", 0)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue