summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-09-28 19:04:31 -0700
committerJason Ekstrand <[email protected]>2017-10-12 22:39:30 -0700
commitcfc7ed75eb8baab69308ed520f97a3efd75fb548 (patch)
treed270bd5ba21c32449b64bc6a0ee74dc5cda60ec4 /src/intel
parent6ee4b352c90e93c82d900328716c1068a7188b91 (diff)
i965: Store image_param in brw_context instead of prog_data
This burns an extra 10k of memory or so in the case where you don't have any images. However, if you have several shaders which use images, this should be much less memory. It also gets rid of a part of prog_data that really has nothing to do with the compiler. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/compiler/brw_compiler.h4
-rw-r--r--src/intel/vulkan/anv_pipeline_cache.c6
2 files changed, 2 insertions, 8 deletions
diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h
index f2f9be750a0..94fe63e46f1 100644
--- a/src/intel/compiler/brw_compiler.h
+++ b/src/intel/compiler/brw_compiler.h
@@ -574,7 +574,6 @@ struct brw_stage_prog_data {
GLuint nr_params; /**< number of float params/constants */
GLuint nr_pull_params;
- unsigned nr_image_params;
unsigned curb_read_length;
unsigned total_scratch;
@@ -596,9 +595,6 @@ struct brw_stage_prog_data {
*/
uint32_t *param;
uint32_t *pull_param;
-
- /** Image metadata passed to the shader as uniforms. */
- struct brw_image_param *image_param;
};
static inline void
diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c
index f782d04fbe6..ad9c810f1f4 100644
--- a/src/intel/vulkan/anv_pipeline_cache.c
+++ b/src/intel/vulkan/anv_pipeline_cache.c
@@ -37,7 +37,7 @@ anv_shader_bin_create(struct anv_device *device,
struct anv_shader_bin *shader;
struct anv_shader_bin_key *key;
struct brw_stage_prog_data *prog_data;
- const union gl_constant_value **prog_data_param;
+ uint32_t *prog_data_param;
struct anv_pipeline_binding *surface_to_descriptor, *sampler_to_descriptor;
ANV_MULTIALLOC(ma);
@@ -169,9 +169,7 @@ anv_shader_bin_create_from_blob(struct anv_device *device,
*
* - Review prog_data struct for size and cacheability: struct
* brw_stage_prog_data has binding_table which uses a lot of uint32_t for 8
- * bit quantities etc; param, pull_param, and image_params are pointers, we
- * just need the compation map. use bit fields for all bools, eg
- * dual_src_blend.
+ * bit quantities etc; use bit fields for all bools, eg dual_src_blend.
*/
static uint32_t