Since various options within INTEL_DEBUG could impact code generation, we need to set the disk cache driver_flags parameter based on the INTEL_DEBUG flags in use. An example that will affect the program generated by i965 is the INTEL_DEBUG=nocompact option. The DEBUG_DISK_CACHE_MASK value is added to mask the settings of INTEL_DEBUG that can affect program generation. v2: * Use driver_flags (Tim) * Also update Anvil (Jason) Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>tags/18.2-branchpoint
@@ -84,6 +84,11 @@ extern uint64_t INTEL_DEBUG; | |||
#define DEBUG_COLOR (1ull << 40) | |||
#define DEBUG_REEMIT (1ull << 41) | |||
/* These flags may affect program generation */ | |||
#define DEBUG_DISK_CACHE_MASK \ | |||
(DEBUG_SHADER_TIME | DEBUG_NO16 | DEBUG_NO_DUAL_OBJECT_GS | DEBUG_NO8 | \ | |||
DEBUG_SPILL_FS | DEBUG_SPILL_VEC4 | DEBUG_NO_COMPACTION | DEBUG_DO32) | |||
#ifdef HAVE_ANDROID_PLATFORM | |||
#define LOG_TAG "INTEL-MESA" | |||
#if ANDROID_API_LEVEL >= 26 |
@@ -286,7 +286,8 @@ anv_physical_device_init_disk_cache(struct anv_physical_device *device) | |||
char timestamp[41]; | |||
_mesa_sha1_format(timestamp, device->driver_build_sha1); | |||
device->disk_cache = disk_cache_create(renderer, timestamp, 0); | |||
const uint64_t driver_flags = INTEL_DEBUG & DEBUG_DISK_CACHE_MASK; | |||
device->disk_cache = disk_cache_create(renderer, timestamp, driver_flags); | |||
#else | |||
device->disk_cache = NULL; | |||
#endif |
@@ -393,6 +393,7 @@ brw_disk_cache_init(struct intel_screen *screen) | |||
char timestamp[41]; | |||
_mesa_sha1_format(timestamp, id_sha1); | |||
screen->disk_cache = disk_cache_create(renderer, timestamp, 0); | |||
const uint64_t driver_flags = INTEL_DEBUG & DEBUG_DISK_CACHE_MASK; | |||
screen->disk_cache = disk_cache_create(renderer, timestamp, driver_flags); | |||
#endif | |||
} |