summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_private.h
diff options
context:
space:
mode:
authorJordan Justen <jordan.l.justen@intel.com>2016-04-02 01:34:40 -0700
committerJordan Justen <jordan.l.justen@intel.com>2016-05-17 13:04:03 -0700
commit8a80af282091e692da7bf4e412918ba2362dfb4f (patch)
tree802322f737c6e4bd3658146f43442dd3962a2f90 /src/intel/vulkan/anv_private.h
parentaa41de080dad1996877fe7faaa8fed5e63d2f622 (diff)
downloadexternal_mesa3d-8a80af282091e692da7bf4e412918ba2362dfb4f.zip
external_mesa3d-8a80af282091e692da7bf4e412918ba2362dfb4f.tar.gz
external_mesa3d-8a80af282091e692da7bf4e412918ba2362dfb4f.tar.bz2
anv: Port L3 cache programming from i965
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r--src/intel/vulkan/anv_private.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 8afd47f..33cbff9 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -52,6 +52,8 @@ typedef struct xcb_connection_t xcb_connection_t;
typedef uint32_t xcb_visualid_t;
typedef uint32_t xcb_window_t;
+struct anv_l3_config;
+
#define VK_PROTOTYPES
#include <vulkan/vulkan.h>
#include <vulkan/vulkan_intel.h>
@@ -1158,7 +1160,7 @@ struct anv_attachment_state {
struct anv_cmd_state {
/* PIPELINE_SELECT.PipelineSelection */
uint32_t current_pipeline;
- uint32_t current_l3_config;
+ const struct anv_l3_config * current_l3_config;
uint32_t vb_dirty;
anv_cmd_dirty_mask_t dirty;
anv_cmd_dirty_mask_t compute_dirty;
@@ -1413,6 +1415,8 @@ struct anv_pipeline {
uint32_t start[MESA_SHADER_GEOMETRY + 1];
uint32_t size[MESA_SHADER_GEOMETRY + 1];
uint32_t entries[MESA_SHADER_GEOMETRY + 1];
+ const struct anv_l3_config * l3_config;
+ uint32_t total_size;
} urb;
VkShaderStageFlags active_stages;
@@ -1530,6 +1534,12 @@ anv_get_isl_format(const struct brw_device_info *devinfo, VkFormat vk_format,
return anv_get_format(devinfo, vk_format, aspect, tiling).isl_format;
}
+void
+anv_compute_urb_partition(struct anv_pipeline *pipeline);
+
+void
+anv_setup_pipeline_l3_config(struct anv_pipeline *pipeline);
+
/**
* Subsurface of an anv_image.
*/