projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move blob from compiler/ to util/
[mesa.git]
/
src
/
intel
/
vulkan
/
anv_private.h
diff --git
a/src/intel/vulkan/anv_private.h
b/src/intel/vulkan/anv_private.h
index 6f839db94d7d1610d70cb58fd689362a314c3700..fa40c71839a360aabc9bdd38fc61caa8e4288ae0 100644
(file)
--- a/
src/intel/vulkan/anv_private.h
+++ b/
src/intel/vulkan/anv_private.h
@@
-57,6
+57,7
@@
#include "util/u_vector.h"
#include "util/u_math.h"
#include "util/vma.h"
#include "util/u_vector.h"
#include "util/u_math.h"
#include "util/vma.h"
+#include "util/xmlconfig.h"
#include "vk_alloc.h"
#include "vk_debug_report.h"
#include "vk_alloc.h"
#include "vk_debug_report.h"
@@
-1009,6
+1010,9
@@
struct anv_instance {
bool pipeline_cache_enabled;
struct vk_debug_report_instance debug_report_callbacks;
bool pipeline_cache_enabled;
struct vk_debug_report_instance debug_report_callbacks;
+
+ struct driOptionCache dri_options;
+ struct driOptionCache available_dri_options;
};
VkResult anv_init_wsi(struct anv_physical_device *physical_device);
};
VkResult anv_init_wsi(struct anv_physical_device *physical_device);
@@
-1139,6
+1143,8
@@
struct anv_device {
struct anv_state border_colors;
struct anv_state border_colors;
+ struct anv_state slice_hash;
+
struct anv_queue queue;
struct anv_scratch_pool scratch_pool;
struct anv_queue queue;
struct anv_scratch_pool scratch_pool;
@@
-1504,6
+1510,11
@@
_anv_combine_address(struct anv_batch *batch, void *location,
#define GEN11_MOCS GEN9_MOCS
#define GEN11_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
#define GEN11_MOCS GEN9_MOCS
#define GEN11_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
+/* TigerLake MOCS */
+#define GEN12_MOCS GEN9_MOCS
+/* TC=1/LLC Only, LeCC=1/Uncacheable, LRUM=0, L3CC=1/Uncacheable */
+#define GEN12_EXTERNAL_MOCS (3 << 1)
+
struct anv_device_memory {
struct list_head link;
struct anv_device_memory {
struct list_head link;
@@
-2273,9
+2284,9
@@
struct anv_dynamic_state {
extern const struct anv_dynamic_state default_dynamic_state;
extern const struct anv_dynamic_state default_dynamic_state;
-
void
anv_dynamic_state_copy(struct anv_dynamic_state *dest,
- const struct anv_dynamic_state *src,
- uint32_t copy_mask);
+
uint32_t
anv_dynamic_state_copy(struct anv_dynamic_state *dest,
+
const struct anv_dynamic_state *src,
+
uint32_t copy_mask);
struct anv_surface_state {
struct anv_state state;
struct anv_surface_state {
struct anv_state state;
@@
-2794,6
+2805,17
@@
anv_shader_bin_unref(struct anv_device *device, struct anv_shader_bin *shader)
anv_shader_bin_destroy(device, shader);
}
anv_shader_bin_destroy(device, shader);
}
+/* 5 possible simultaneous shader stages and FS may have up to 3 binaries */
+#define MAX_PIPELINE_EXECUTABLES 7
+
+struct anv_pipeline_executable {
+ gl_shader_stage stage;
+
+ struct brw_compile_stats stats;
+
+ char *disasm;
+};
+
struct anv_pipeline {
struct anv_device * device;
struct anv_batch batch;
struct anv_pipeline {
struct anv_device * device;
struct anv_batch batch;
@@
-2802,12
+2824,18
@@
struct anv_pipeline {
anv_cmd_dirty_mask_t dynamic_state_mask;
struct anv_dynamic_state dynamic_state;
anv_cmd_dirty_mask_t dynamic_state_mask;
struct anv_dynamic_state dynamic_state;
+ void * mem_ctx;
+
+ VkPipelineCreateFlags flags;
struct anv_subpass * subpass;
bool needs_data_cache;
struct anv_shader_bin * shaders[MESA_SHADER_STAGES];
struct anv_subpass * subpass;
bool needs_data_cache;
struct anv_shader_bin * shaders[MESA_SHADER_STAGES];
+ uint32_t num_executables;
+ struct anv_pipeline_executable executables[MAX_PIPELINE_EXECUTABLES];
+
struct {
const struct gen_l3_config * l3_config;
uint32_t total_size;
struct {
const struct gen_l3_config * l3_config;
uint32_t total_size;
@@
-3790,6
+3818,9
@@
ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_ycbcr_conversion, VkSamplerYcbcrConversion)
# define genX(x) gen11_##x
# include "anv_genX.h"
# undef genX
# define genX(x) gen11_##x
# include "anv_genX.h"
# undef genX
+# define genX(x) gen12_##x
+# include "anv_genX.h"
+# undef genX
#endif
#endif /* ANV_PRIVATE_H */
#endif
#endif /* ANV_PRIVATE_H */