Hey! I’m one of the people working on isle-portable, which utilises the new SDL_GPU feature introduced with SDL3. We have it set up as one of the possible 3D renderers to use, alongside OpenGL (and ES), and a software renderer. The OpenGL renderers currently have support for MSAA, however, the SDL_GPU renderer currently does not. I have been attempting to implement it, however I have largely been unsuccessful. There appears to be little documentation on the topic, unfortunately, and what I have found has not been successful.
As part of the render process, we create a SDL_GPUGraphicsPipelineCreateInfo, which has multisample_state. I created a SDL_GPUMultisampleState and set the sample_count there, and then set multisample_state to this SDL_GPUMultisampleState. While this “worked”, any sample_count values other than SDL_GPU_SAMPLECOUNT_1 result in broken visuals.
I admit, I don’t completely understand the rendering code, however we do create several SDL_GPUTextureCreateInfo objects, each of which contains a sample_count. However, changing textureInfo.sample_count in Direct3DRMSDL3GPURenderer::Resize to a value other than SDL_GPU_SAMPLECOUNT_1 results in flickering visuals when the window is resized, and does not actually result in antialiasing.
Any help on this matter would be greatly appreciated!
Kind regards,
@VoxelTek
