i965: Add brw_program_serialize_nir
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:

committed by
Timothy Arceri

parent
b3f1b765e9
commit
25b3ce6e3b
@@ -355,12 +355,7 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
struct gl_program *prog = shader->Program;
|
struct gl_program *prog = shader->Program;
|
||||||
struct blob writer;
|
brw_program_serialize_nir(ctx, prog);
|
||||||
blob_init(&writer);
|
|
||||||
nir_serialize(&writer, prog->nir);
|
|
||||||
prog->driver_cache_blob = ralloc_size(NULL, writer.size);
|
|
||||||
memcpy(prog->driver_cache_blob, writer.data, writer.size);
|
|
||||||
prog->driver_cache_blob_size = writer.size;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -787,6 +787,17 @@ brw_assign_common_binding_table_offsets(const struct gen_device_info *devinfo,
|
|||||||
return next_binding_table_offset;
|
return next_binding_table_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
brw_program_serialize_nir(struct gl_context *ctx, struct gl_program *prog)
|
||||||
|
{
|
||||||
|
struct blob writer;
|
||||||
|
blob_init(&writer);
|
||||||
|
nir_serialize(&writer, prog->nir);
|
||||||
|
prog->driver_cache_blob = ralloc_size(NULL, writer.size);
|
||||||
|
memcpy(prog->driver_cache_blob, writer.data, writer.size);
|
||||||
|
prog->driver_cache_blob_size = writer.size;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
brw_program_deserialize_nir(struct gl_context *ctx, struct gl_program *prog,
|
brw_program_deserialize_nir(struct gl_context *ctx, struct gl_program *prog,
|
||||||
gl_shader_stage stage)
|
gl_shader_stage stage)
|
||||||
|
@@ -81,6 +81,8 @@ brw_assign_common_binding_table_offsets(const struct gen_device_info *devinfo,
|
|||||||
struct brw_stage_prog_data *stage_prog_data,
|
struct brw_stage_prog_data *stage_prog_data,
|
||||||
uint32_t next_binding_table_offset);
|
uint32_t next_binding_table_offset);
|
||||||
|
|
||||||
|
void
|
||||||
|
brw_program_serialize_nir(struct gl_context *ctx, struct gl_program *prog);
|
||||||
void
|
void
|
||||||
brw_program_deserialize_nir(struct gl_context *ctx, struct gl_program *prog,
|
brw_program_deserialize_nir(struct gl_context *ctx, struct gl_program *prog,
|
||||||
gl_shader_stage stage);
|
gl_shader_stage stage);
|
||||||
|
Reference in New Issue
Block a user