1. A texture unit configured to perform a texture filtering operation, the texture unit comprising: a switch; a memory receive interface coupled to a texture filter unit; and a weight calculator, also coupled to the texture filter unit, wherein: the switch switches from a first data path for the texture filter unit to receive one or more calculated filter weights to a second data path for the texture filter unit to receive one or more programmable filter weights based on a filter mode indicated by a shader program instruction received by the texture unit, the texture filter unit extracts a first programmable filter weight from the shader program instruction, wherein the first programmable filter weight corresponds to a first texel associated with a screen pixel mapped to a texture map, the memory receive interface fetches the first texel from the texture map, and the texture filter unit computes a first texture value for the screen pixel by applying the first programmable filter weight to the first texel.