summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600/drm/radeon_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/r600/drm/radeon_state.c')
-rw-r--r--src/gallium/winsys/r600/drm/radeon_state.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/winsys/r600/drm/radeon_state.c b/src/gallium/winsys/r600/drm/radeon_state.c
index ac60485b28..e37e714533 100644
--- a/src/gallium/winsys/r600/drm/radeon_state.c
+++ b/src/gallium/winsys/r600/drm/radeon_state.c
@@ -70,8 +70,8 @@ int radeon_state_init(struct radeon_state *state, struct radeon *radeon, u32 sty
}
memset(state, 0, sizeof(struct radeon_state));
- state->state_id = radeon->nstate_per_shader * shader_index + radeon->state_type_id[stype] + id;
state->stype = found;
+ state->state_id = state->stype->num * shader_index + state->stype->base_id + id;
state->radeon = radeon;
state->id = id;
state->shader_index = shader_index;
@@ -128,7 +128,7 @@ int radeon_state_convert(struct radeon_state *state, u32 stype, u32 id, u32 shad
state->stype = found;
state->id = id;
state->shader_index = shader_index;
- state->state_id = state->radeon->nstate_per_shader * shader_index + state->radeon->state_type_id[stype] + id;
+ state->state_id = state->stype->num * shader_index + state->stype->base_id + id;
return radeon_state_pm4(state);
}