struct ir3_shader_variant *vs, struct ir3_shader_variant *hs,
struct ir3_shader_variant *ds, struct ir3_shader_variant *gs,
struct ir3_shader_variant *fs,
- const struct ir3_shader_key *key) in_dt
+ const struct ir3_cache_key *key) in_dt
{
struct fd_context *ctx = fd_context(data);
struct fd3_program_state *state = CALLOC_STRUCT(fd3_program_state);
struct ir3_shader_variant *vs, struct ir3_shader_variant *hs,
struct ir3_shader_variant *ds, struct ir3_shader_variant *gs,
struct ir3_shader_variant *fs,
- const struct ir3_shader_key *key) in_dt
+ const struct ir3_cache_key *key) in_dt
{
struct fd_context *ctx = fd_context(data);
struct fd4_program_state *state = CALLOC_STRUCT(fd4_program_state);
struct ir3_shader_variant *vs, struct ir3_shader_variant *hs,
struct ir3_shader_variant *ds, struct ir3_shader_variant *gs,
struct ir3_shader_variant *fs,
- const struct ir3_shader_key *key) in_dt
+ const struct ir3_cache_key *key) in_dt
{
struct fd_context *ctx = fd_context(data);
struct fd5_program_state *state = CALLOC_STRUCT(fd5_program_state);
static void
setup_stateobj(struct fd_ringbuffer *ring, struct fd_context *ctx,
struct fd6_program_state *state,
- const struct ir3_shader_key *key, bool binning_pass) assert_dt
+ const struct ir3_cache_key *cache_key,
+ bool binning_pass) assert_dt
{
+ const struct ir3_shader_key *key = &cache_key->key;
uint32_t pos_regid, psize_regid, color_regid[8], posz_regid;
uint32_t clip0_regid, clip1_regid;
uint32_t face_regid, coord_regid, zwcoord_regid, samp_id_regid;
struct ir3_shader_variant *vs, struct ir3_shader_variant *hs,
struct ir3_shader_variant *ds, struct ir3_shader_variant *gs,
struct ir3_shader_variant *fs,
- const struct ir3_shader_key *key) in_dt
+ const struct ir3_cache_key *key) in_dt
{
struct fd_context *ctx = fd_context(data);
struct fd_screen *screen = ctx->screen;
cache->data, bs, variants[MESA_SHADER_VERTEX],
variants[MESA_SHADER_TESS_CTRL], variants[MESA_SHADER_TESS_EVAL],
variants[MESA_SHADER_GEOMETRY], variants[MESA_SHADER_FRAGMENT],
- &key->key);
+ key);
state->key = *key;
/* NOTE: uses copy of key in state obj, because pointer passed by caller
void *data, struct ir3_shader_variant *bs, /* binning pass vs */
struct ir3_shader_variant *vs, struct ir3_shader_variant *hs,
struct ir3_shader_variant *ds, struct ir3_shader_variant *gs,
- struct ir3_shader_variant *fs, const struct ir3_shader_key *key);
+ struct ir3_shader_variant *fs, const struct ir3_cache_key *key);
void (*destroy_state)(void *data, struct ir3_program_state *state);
};