diff options
author | Tapani Pälli <[email protected]> | 2018-01-17 11:43:59 +0200 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2018-02-07 14:45:34 +0200 |
commit | 9d322fde9781f9fc53c3baac6995ab1cbd8d6135 (patch) | |
tree | 77ae2e4ea26780e2ea0908e66b1bc6d431efc16d | |
parent | ae00ef270233d7ba44e1a751333db16338b816f2 (diff) |
i965: add __DRI2_BLOB support and set cache functions
v2: adjust to change that moved cache from ctx to screen
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 8c78b73b640..1f866cf8459 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -36,6 +36,7 @@ #include "main/version.h" #include "swrast/s_renderbuffer.h" #include "util/ralloc.h" +#include "util/disk_cache.h" #include "brw_defines.h" #include "brw_state.h" #include "compiler/nir/nir.h" @@ -1494,6 +1495,19 @@ brw_query_renderer_string(__DRIscreen *dri_screen, return -1; } +static void +brw_set_cache_funcs(__DRIscreen *dri_screen, + __DRIblobCacheSet set, __DRIblobCacheGet get) +{ + const struct intel_screen *const screen = + (struct intel_screen *) dri_screen->driverPrivate; + + if (!screen->disk_cache) + return; + + disk_cache_set_callbacks(screen->disk_cache, set, get); +} + static const __DRI2rendererQueryExtension intelRendererQueryExtension = { .base = { __DRI2_RENDERER_QUERY, 1 }, @@ -1505,6 +1519,11 @@ static const __DRIrobustnessExtension dri2Robustness = { .base = { __DRI2_ROBUSTNESS, 1 } }; +static const __DRI2blobExtension intelBlobExtension = { + .base = { __DRI2_BLOB, 1 }, + .set_cache_funcs = brw_set_cache_funcs +}; + static const __DRIextension *screenExtensions[] = { &intelTexBufferExtension.base, &intelFenceExtension.base, @@ -1513,6 +1532,7 @@ static const __DRIextension *screenExtensions[] = { &intelRendererQueryExtension.base, &dri2ConfigQueryExtension.base, &dri2NoErrorExtension.base, + &intelBlobExtension.base, NULL }; @@ -1525,6 +1545,7 @@ static const __DRIextension *intelRobustScreenExtensions[] = { &dri2ConfigQueryExtension.base, &dri2Robustness.base, &dri2NoErrorExtension.base, + &intelBlobExtension.base, NULL }; |