mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 03:10:09 +01:00
r600: Disable SB if we use the ariable length DOT
sb doesn't know about this instruction, so don't try to run the optimizer. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23647>
This commit is contained in:
parent
269895c674
commit
b79f6ec397
5 changed files with 6 additions and 0 deletions
|
|
@ -240,6 +240,7 @@ int r600_pipe_shader_create(struct pipe_context *ctx,
|
|||
use_sb &= !shader->shader.uses_atomics;
|
||||
use_sb &= !shader->shader.uses_images;
|
||||
use_sb &= !shader->shader.uses_helper_invocation;
|
||||
use_sb &= !shader->shader.disable_sb;
|
||||
|
||||
/* SB can't handle READ_SCRATCH properly */
|
||||
use_sb &= !(shader->shader.needs_scratch_space && rscreen->b.gfx_level < R700);
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ struct r600_shader {
|
|||
uint8_t atomic_base;
|
||||
uint8_t rat_base;
|
||||
uint8_t image_size_const_offset;
|
||||
boolean disable_sb;
|
||||
};
|
||||
|
||||
union r600_shader_key {
|
||||
|
|
|
|||
|
|
@ -2643,6 +2643,8 @@ emit_dot(const nir_alu_instr& alu, int n, Shader& shader)
|
|||
ir->set_alu_flag(alu_dst_clamp);
|
||||
|
||||
shader.emit_instruction(ir);
|
||||
shader.set_flag(Shader::sh_disble_sb);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1567,6 +1567,7 @@ Shader::get_shader_info(r600_shader *sh_info)
|
|||
sh_info->needs_scratch_space = m_flags.test(sh_needs_scratch_space);
|
||||
sh_info->uses_images = m_flags.test(sh_uses_images);
|
||||
sh_info->uses_atomics = m_flags.test(sh_uses_atomics);
|
||||
sh_info->disable_sb = m_flags.test(sh_disble_sb);
|
||||
sh_info->has_txq_cube_array_z_comp = m_flags.test(sh_txs_cube_array_comp);
|
||||
sh_info->indirect_files = m_indirect_files;
|
||||
do_get_shader_info(sh_info);
|
||||
|
|
|
|||
|
|
@ -227,6 +227,7 @@ public:
|
|||
sh_indirect_atomic,
|
||||
sh_mem_barrier,
|
||||
sh_legacy_math_rules,
|
||||
sh_disble_sb,
|
||||
sh_flags_count
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue