diff options
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_misc.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_misc.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.h b/src/gallium/auxiliary/gallivm/lp_bld_misc.h index 363fbded728..f3be195554b 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.h @@ -40,6 +40,17 @@ extern "C" { #endif +/* + * some shaders use function pointers incorrectly so can't be relinked + * properly. (mostly the fallback fetch shaders). + * We should fix them, but the dont_cache flag can be set for now, + * so they don't end up getting cached at all. + */ +struct lp_cached_code { + void *data; + size_t data_size; + bool dont_cache; +}; struct lp_generated_code; @@ -56,6 +67,7 @@ lp_set_target_options(void); extern int lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, struct lp_generated_code **OutCode, + struct lp_cached_code *cache_out, LLVMModuleRef M, LLVMMCJITMemoryManagerRef MM, unsigned OptLevel, |