diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index f867766f776..7186fdfdb43 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -884,7 +884,7 @@ static HRESULT shader_reg_maps_add_tgsm(struct wined3d_shader_reg_maps *reg_maps register_idx + 1, sizeof(*reg_maps->tgsm))) return E_OUTOFMEMORY; - reg_maps->tgsm_count = register_idx + 1; + reg_maps->tgsm_count = max(register_idx + 1, reg_maps->tgsm_count); tgsm = ®_maps->tgsm[register_idx]; tgsm->size = size; tgsm->stride = stride;