i965, anv: Use INTEL_DEBUG for disk_cache driver flags
authorJordan Justen <jordan.l.justen@intel.com>
Sat, 21 Jul 2018 06:52:59 +0000 (23:52 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Tue, 24 Jul 2018 23:17:28 +0000 (16:17 -0700)
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>
src/intel/common/gen_debug.h
src/intel/vulkan/anv_device.c
src/mesa/drivers/dri/i965/brw_disk_cache.c

index f6c44eeb912100090bf71b0e457e71c18c1260fa..aa9f3cf80d779a8cbeb619141d5d731eb2a52be6 100644 (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
index 247ba64133634f9927bdacda1874ce665bdbf9ad..97a71563b8aba2e087989daed75b787fcfb9824b 100644 (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
index a678c355b9db8b09ba4d740493ff0c3c4bd59d57..8f1b064fd61bdb25dbc7913a69225812753f84f2 100644 (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
 }