Android: Texture blending problems

#define VSYNC “0”
#define WINDOWW 800
#define WINDOWH 512
#include <math.h>
#include “BasicSDL.h”
SDL_TextureNapisy;
SDL_Texture
samo;
SDL_Texture*moto;

MAIN
//SDLOpen(SDL_WINDOW_RESIZABLE)
if(SDL_Init(SDL_INIT_EVERYTHING) != 0) {puts(SDL_GetError());exit(1);}
SDL_SetHint(SDL_HINT_RENDER_VSYNC, VSYNC);
SDL_CreateWindowAndRenderer(WINDOWW,WINDOWH, SDL_WINDOW_RESIZABLE, &SDLWindow, &SDLRenderer);
SDL_RenderClear(SDLRenderer);
SDL_RenderSetLogicalSize(SDLRenderer,800,512);
//CreateImg(Napisy,800,512) ImgBlendMode(Napisy,1)
Napisy=SDL_CreateTexture(SDLRenderer,SDL_PIXELFORMAT_RGBA32,SDL_TEXTUREACCESS_TARGET,800,512);
SDL_SetTextureBlendMode(Napisy,SDL_BLENDMODE_BLEND);
//LoadImg(samo,“Pliki/auto.bmp”)
SDLSurface=SDL_LoadBMP(“Pliki/auto.bmp”);
samo=SDL_CreateTextureFromSurface(SDLRenderer,SDLSurface);
Target(Napisy)
Cls
//PutImg(samo,0,0)
SDL_QueryTexture(samo,NULL,NULL,&DST.w,&DST.h);DST.x=0;DST.y=0;
SDL_RenderCopy(SDLRenderer,samo,NULL,&DST); //no image in Android
//LoadImgKey(moto,“Pliki/auto.bmp”,RGBA(255,255,0,0))
SDL_SetColorKey(SDLSurface,1,SDL_MapRGB(SDLSurface->format,255,255,0));
moto=SDL_CreateTextureFromSurface(SDLRenderer,SDLSurface);
//PutImg(moto,100,100)
SDL_QueryTexture(moto,NULL,NULL,&DST.w,&DST.h);DST.x=100;DST.y=100;
SDL_RenderCopy(SDLRenderer,moto,NULL,&DST); //image is show
Target(NULL)
InsertImg(Napisy)
ShowPage
WaitInKey
ENDMAIN

Sample code … Partially in BasicC, I guess understandable …

The first image in Android is not copied, only the second one can be seen after setting the ColorKey. Transparency also works differently … In Linux on PC everything is OK.

Why is the first picture not visible?

What format is your BMP file? I have seen differences in behavior between desktop and mobile platforms in how some BMP files are handled.

It may make no difference, but one thing you could try is to force a 24-bpp (RGB888) display. Add this before creating the window:

SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);

I tried different amounts of colors. If the target is directly SDLRenderer the images are displayed.