The evolution of porous media due to mineral dissolution and precipitation can change the bulk properties of subsurface materials. The pore‐scale structure of the media, including its physical and mineralogical heterogeneity, exerts controls on porous media evolution via transport limitations to reactive surfaces and mineral accessibility. Here we explore how these controls affect the evolution of the texture in porous media at the pore scale. For this purpose, a pore‐scale flow and reactive transport model is developed that explicitly tracks mineral surfaces as they evolve using a direct numerical simulation approach. Simulations of dissolution in single‐mineral domains provide insights into the transport controls at the pore scale, while the simulation of a fracture surface composed of bands of faster‐dissolving calcite and slower‐dissolving dolomite provides insights into the mineralogical controls on evolution. Transport‐limited conditions at the grain‐pack scale may result in unstable evolution, a situation in which dissolution is focused in a fast‐flowing, fast‐dissolving path. Due to increasing velocities, the evolution in these regions is like that observed under conditions closer to strict surface control at the pore scale. That is, grains evolve to have oblong shapes with their long dimensions aligning with the local flow directions. Another example of an evolving reactive transport regime that affects local rates is seen in the evolution of the fracture surface. As calcite dissolves, the diffusive length between the fracture flow path and the receding calcite surfaces increases. Thus, the calcite dissolution reaction becomes increasingly limited by diffusion.