i965, anv: Use INTEL_DEBUG for disk_cache driver flags

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>
This commit is contained in:
Jordan Justen
2018-07-20 23:52:59 -07:00
parent 69a686b0ae
commit 2b3064c073
3 changed files with 9 additions and 2 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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
}