X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Firis%2Firis_screen.h;h=60ff15904a7cd948f42089ac4124847ec93ad320;hb=6d9c1f30e421453bcfb5f2a3032fbc766ef634b2;hp=a8f33dc32368676e80c4db97dfd32451c3028308;hpb=36478b9f772e474a52af33f9545c8a681ae12690;p=mesa.git diff --git a/src/gallium/drivers/iris/iris_screen.h b/src/gallium/drivers/iris/iris_screen.h index a8f33dc3236..60ff15904a7 100644 --- a/src/gallium/drivers/iris/iris_screen.h +++ b/src/gallium/drivers/iris/iris_screen.h @@ -25,6 +25,7 @@ #include "pipe/p_screen.h" #include "state_tracker/drm_driver.h" +#include "util/disk_cache.h" #include "util/slab.h" #include "util/u_screen.h" #include "intel/dev/gen_device_info.h" @@ -32,6 +33,7 @@ #include "iris_bufmgr.h" struct iris_bo; +struct iris_monitor_config; #define READ_ONCE(x) (*(volatile __typeof__(x) *)&(x)) #define WRITE_ONCE(x, v) *(volatile __typeof__(x) *)&(x) = (v) @@ -64,26 +66,33 @@ struct iris_screen { struct { /** Dual color blend by location instead of index (for broken apps) */ bool dual_color_blend_by_location; + bool disable_throttling; + bool always_flush_cache; } driconf; unsigned subslice_total; + uint64_t aperture_bytes; + struct gen_device_info devinfo; struct isl_device isl_dev; struct iris_bufmgr *bufmgr; struct brw_compiler *compiler; + struct iris_monitor_config *monitor_cfg; /** * A buffer containing nothing useful, for hardware workarounds that * require scratch writes or reads from some unimportant memory. */ struct iris_bo *workaround_bo; + + struct disk_cache *disk_cache; }; struct pipe_screen * iris_screen_create(int fd, const struct pipe_screen_config *config); -boolean +bool iris_is_format_supported(struct pipe_screen *pscreen, enum pipe_format format, enum pipe_texture_target target, @@ -91,4 +100,6 @@ iris_is_format_supported(struct pipe_screen *pscreen, unsigned storage_sample_count, unsigned usage); +void iris_disk_cache_init(struct iris_screen *screen); + #endif