Hi! Sorry for my English.
I use SDL 2.0.8 and Windows 8.1 with DirectX 11.2 and GeForce GTX 750 Ti. In my project I must use blend mode maximum which is supported by direct3d11 renderer only. If it matters I create my window with
SDL_CreateWindow("Title", 600, 600, 600, 600, SDL_WINDOW_RESIZABLE );
Before creating renderer I set
SDL_SetHintWithPriority( SDL_HINT_RENDER_DRIVER, "direct3d11", SDL_HINT_OVERRIDE );
Hint with “direct3d” doesn’t help. Then I create renderer with
SDL_CreateRenderer( m_window, -1, SDL_RENDERER_ACCELERATED );
Changing renderer index doesn’t help. I load textures from pngs without transparency, pixel format is SDL_PIXELFORMAT_RGB24. My custom blend mode is
SDL_BLENDFACTOR_ONE, //srcColorFactor
SDL_BLENDFACTOR_ONE, //dstColorFactor
SDL_BLENDOPERATION_MAXIMUM, //colorOperation
SDL_BLENDFACTOR_ONE, //srcAlphaFactor
SDL_BLENDFACTOR_ONE, //dstAlphaFactor
SDL_BLENDOPERATION_MAXIMUM //alphaOperation
I apply this blend mode to texture only, to renderer only or both… it doesn’t help. When I call SDL_GetRendererInfo() to check my renderer name, it says “direct3d”. SDL_GetError() says that “That operation is not supported”. How can I change my renderer to direct3d11? What should I do to make SDL_BLENDOPERATION_MAXIMUM work?