Textures cannot be kernel parameters. They must be declared globally in the .cu that contains the kernel using them.
If you would like to use a different texture, just do another cudaMemcpyToArray() to the texture array or bind the texture to a different array before calling the kernel.
Can you verify that. Because that what i did before. There’s a problem with that one that I experienced. If I want to perform the same function but with different size of texture. I don’t think i can change the size of the texture. I try it one and it did not change the size. That why i want to use another texture