Bring broth and water to a boil in a 4-quart pot. Add asparagus and cook, uncovered, until crisp-tender, 3 to 4 minutes. Transfer asparagus with a slotted spoon to a large bowl of ice and cold water to stop cooking, then drain and pat dry. Keep broth at a bare simmer, covered. Heat oil with 1 tablespoon butter in a 4-quart heavy saucepan over moderately high heat until foam subsides, then saute mushrooms, stirring occasionally, until browned, about 4 minutes. Season with salt and pepper, then transfer to a bowl. Cook onion in 2 tablespoons butter in saucepan over moderate heat, stirring, until softened, about 3 minutes. Add rice and cook, stirring, 1 minute. Add wine and cook, stirring, until absorbed, about 1 minute. Ladle in 1 cup simmering broth and cook at a strong simmer, stirring, until absorbed, about 2 minutes. Continue simmering and adding broth, about 1/2 cup at a time, stirring frequently and letting each addition be absorbed before adding next, until rice is just tender and looks creamy, 18 to 20 minutes. (Save leftover broth for thinning.) Remove from heat and stir in 1/2 cup cheese, remaining tablespoon butter, and salt and pepper to taste. Gently stir in asparagus and mushrooms, then cover pan and let stand 1 minute. If desired, thin risotto with some of remaining broth. Serve immediately with remaining cheese on the side.