I am in the process of using AI software to upscale some of the textures for Swat 3. To keep costs low I am using free open source software that can be buggy and lacking features.
I was using Cupscale but that it hasn't been updated since 2001 and is pretty buggy. You can't rely upon it to work when you are in the mood to do textures.
Recently I switched to Upscayl that seems to be a lot more stable but has file format limitations (only PNG, JPG, WEBP). This means I am forced to convert the .BMP files to 24-bit .PNG files using FastStone Photo Resizer.
Upscayl comes with 3 models for upscaling that have proven useful: real-esrgan, remacri, and ultrasharp. Most times I use a combination of all 3 to make a single texture.
real-esrgan gives the best result generally but will frequently give strange artifacts in textures that have repetitive fine details. It also tends to make the texture look "plastic" and fine details will be lost. I will often delete parts of the image (or make it partially transparent) and use sections from the ultrasharp and remacri versions of the same texture.
the ultrasharp model creates a noisy texture with a lot of grain. I usually combine it with the remacri version to help keep details in the texture.
the remacri model is somewhere in between real-esrgan's plastic look and ultrasharp's grainy image.