mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
radeonsi: tell the shader disk cache what IR is used
Until8bef4df196the IR (TGSI or NIR) was used in disk_cache driver_flags. This commit restores this features to avoid crashing when switching from one IR to the other. As radeonsi's default is TGSI, I used "driver_flags & 0x8000000 = 0" for TGSI to keep the same driver_flags. Fixes:8bef4df196("radeonsi: add si_debug_options for convenient adding/removing of options") Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
parent
15b7b56eb2
commit
2afeed3010
1 changed files with 10 additions and 7 deletions
|
|
@ -903,6 +903,9 @@ static void si_disk_cache_create(struct si_screen *sscreen)
|
||||||
/* These flags affect shader compilation. */
|
/* These flags affect shader compilation. */
|
||||||
#define ALL_FLAGS (DBG(SI_SCHED) | DBG(GISEL))
|
#define ALL_FLAGS (DBG(SI_SCHED) | DBG(GISEL))
|
||||||
uint64_t shader_debug_flags = sscreen->debug_flags & ALL_FLAGS;
|
uint64_t shader_debug_flags = sscreen->debug_flags & ALL_FLAGS;
|
||||||
|
/* Reserve left-most bit for tgsi/nir selector */
|
||||||
|
assert(!(shader_debug_flags & (1 << 31)));
|
||||||
|
shader_debug_flags |= ((sscreen->options.enable_nir & 0x1) << 31);
|
||||||
|
|
||||||
/* Add the high bits of 32-bit addresses, which affects
|
/* Add the high bits of 32-bit addresses, which affects
|
||||||
* how 32-bit addresses are expanded to 64 bits.
|
* how 32-bit addresses are expanded to 64 bits.
|
||||||
|
|
@ -1026,6 +1029,13 @@ radeonsi_screen_create_impl(struct radeon_winsys *ws,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
#define OPT_BOOL(name, dflt, description) \
|
||||||
|
sscreen->options.name = \
|
||||||
|
driQueryOptionb(config->options, "radeonsi_"#name);
|
||||||
|
#include "si_debug_options.h"
|
||||||
|
}
|
||||||
|
|
||||||
si_disk_cache_create(sscreen);
|
si_disk_cache_create(sscreen);
|
||||||
|
|
||||||
/* Determine the number of shader compiler threads. */
|
/* Determine the number of shader compiler threads. */
|
||||||
|
|
@ -1146,13 +1156,6 @@ radeonsi_screen_create_impl(struct radeon_winsys *ws,
|
||||||
sscreen->commutative_blend_add =
|
sscreen->commutative_blend_add =
|
||||||
driQueryOptionb(config->options, "radeonsi_commutative_blend_add");
|
driQueryOptionb(config->options, "radeonsi_commutative_blend_add");
|
||||||
|
|
||||||
{
|
|
||||||
#define OPT_BOOL(name, dflt, description) \
|
|
||||||
sscreen->options.name = \
|
|
||||||
driQueryOptionb(config->options, "radeonsi_"#name);
|
|
||||||
#include "si_debug_options.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
sscreen->use_ngg = sscreen->info.chip_class >= GFX10 &&
|
sscreen->use_ngg = sscreen->info.chip_class >= GFX10 &&
|
||||||
sscreen->info.family != CHIP_NAVI14 &&
|
sscreen->info.family != CHIP_NAVI14 &&
|
||||||
!(sscreen->debug_flags & DBG(NO_NGG));
|
!(sscreen->debug_flags & DBG(NO_NGG));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue