Hello!
I recently migrated all of my SDL 1.2 projects to SDL 2.0. Most of my projects fiddle pixels into a buffer (software rendering, arcade emulation, etc.), and then need to get them to screen. The SDL 1.2 -> 2.0 migration doc was great here.
On macOS (High Sierra), things go sideways when i call SDL_CreateTexture with SDL_TEXTUREACCESS_STREAMING and use OpenGL. The app either crashes randomly, or my GL textures are corrupted with incorrect pixel data.
If i use SDL_TEXTUREACCESS_TARGET, problem goes away.
Problem does not manifest on WIndows.
// Texture is in the GPU, and we will copy from _surface.
_texture = SDL_CreateTexture(_renderer,
SDL_PIXELFORMAT_ARGB8888,
#if 0 // Does not seem to work on macOS
SDL_TEXTUREACCESS_STREAMING,
#else
SDL_TEXTUREACCESS_TARGET,
#endif
width, height);
Known problem?
Best,
–matt