SDL_RENDERER_ACCELERATED error on win7

I use win7 64 bit and I have DirextX 11.

But when create renderer with SDL_RENDERER_ACCELERATED I got error message :

Failed loading D3DX9_44.dll: The specified module could not be found.

Should I downgrade DirectX?

Thanks

Do you have the latest DirectX
SDKhttp://www.microsoft.com/en-ca/download/details.aspx?id=6812
?On Wed, Sep 5, 2012 at 2:44 AM, wahono sri wrote:

I use win7 64 bit and I have DirextX 11.

But when create renderer with SDL_RENDERER_ACCELERATED I got error message
:

Failed loading D3DX9_44.dll: The specified module could not be found.

Should I downgrade DirectX?

Thanks


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Do you have the latest DirectX SDK?
After searching D3DX*.dll in my system, I have :

  • d3dx9_24.dll, d3dx9_25.dll, …, d3dx9_43.dll
  • d3dx10_33.dll, d3dx10_34.dll, …, d3dx10_43.dll
  • d3dx11_42.dll and d3dx11_43.dll

Which version DirectX should we use in SDL 2? IMO, it should use all
DirectX version, maybe we limited minimum version only and not maximum
version.

Thanks

Well, you do have the runtimes, but I think you’ll need the SDK to actually
compile against it.On Wed, Sep 5, 2012 at 10:41 AM, wahono sri wrote:

Do you have the latest DirectX SDK?
After searching D3DX*.dll in my system, I have :

  • d3dx9_24.dll, d3dx9_25.dll, …, d3dx9_43.dll
  • d3dx10_33.dll, d3dx10_34.dll, …, d3dx10_43.dll
  • d3dx11_42.dll and d3dx11_43.dll

Which version DirectX should we use in SDL 2? IMO, it should use all
DirectX version, maybe we limited minimum version only and not maximum
version.

Thanks


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Well, you do have the runtimes, but I think you’ll need the SDK to actually
compile against it.

Yes I’ve install the latest SDK from
http://www.microsoft.com/en-us/download/details.aspx?id=6812, it’s
version is 9.29.1962
But I think this is strange, I got this error with SDL_GetErrors, but
although I got error, the renderer is created and not null value. And
it’s works.

And this error from create renderer (“Failed loading D3DX9_44.dll: The
specified module could not be found.”) always exists even others
process return success. IMHO, SDL_GetErrors should be emptied after
called, SDL_GetErrors should not similiar with SDL_GetLastErrors (if
exists). :slight_smile:

One troubleshooting step you can use is getting the output of
SDL_RendererInfo http://wiki.libsdl.org/moin.cgi/SDL_RendererInfo.

Another is that you can try recompiling SDL2 - it could be that it linked
to the wrong DirectX libraries there, and somehow compiled fine.

I presume you’re using MSVC? What version? Have you tried using some of
the experimental CMake files to build a MSVC project? It could be that
SDL2’s vcproj files are a little out of date, which happens from time to
time.On Wed, Sep 5, 2012 at 12:02 PM, wahono sri wrote:

And this error from create renderer (“Failed loading D3DX9_44.dll: The
specified module could not be found.”) always exists even others
process return success. IMHO, SDL_GetErrors should be emptied after
called, SDL_GetErrors should not similiar with SDL_GetLastErrors (if
exists). :slight_smile:


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

One troubleshooting step you can use is getting the output of
SDL_RendererInfo.

I try to use opengl with index from SDL_GetNumRenderDrivers, but got
error too (SIGSEGV error).

Another is that you can try recompiling SDL2 - it could be that it linked to
the wrong DirectX libraries there, and somehow compiled fine.

I presume you’re using MSVC? What version? Have you tried using some of
the experimental CMake files to build a MSVC project? It could be that
SDL2’s vcproj files are a little out of date, which happens from time to
time.
Yes, I use MSVC 2010, how to use CMake?

Oh, sorry, I should have been more specific:

// Initialize SDL

// Initialize/setup renderer…
SDL_RendererInfo info;
if( SDL_GetRendererInfo( your_sdl_renderer_pointer, &info ) ) {
printf( “SDL Renderer Driver=%s\n”, info.name ); // Should be all you
need - if you can’t output this to the console, try outputting to a file
} else {
SDL_Quit();
exit(-1);
}

This will let you know if you’re using DX or if SDL has fallen back to
OpenGL or software mode. It’s possible that SDL wasn’t built properly
(could be something you did on your end, or an outdated msvc project file).
It’s also possible that you are not initializing SDL properly. Is it
possible to see some of your code, specifically where you’re calling
SDL_Init, SDL_CreateWindow, and SDL_CreateRenderer?

For now, we’ll skip the CMake stuff so we can figure out what the root of
the issue is, I probably shouldn’t have suggested it.

-AlexOn Wed, Sep 5, 2012 at 12:48 PM, wahono sri wrote:

One troubleshooting step you can use is getting the output of
SDL_RendererInfo.

I try to use opengl with index from SDL_GetNumRenderDrivers, but got
error too (SIGSEGV error).

Another is that you can try recompiling SDL2 - it could be that it
linked to
the wrong DirectX libraries there, and somehow compiled fine.

I presume you’re using MSVC? What version? Have you tried using some of
the experimental CMake files to build a MSVC project? It could be that
SDL2’s vcproj files are a little out of date, which happens from time to
time.
Yes, I use MSVC 2010, how to use CMake?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

const
posX = 100;
posY = 100;
width = 800;
height = 600;

SDL_Init(SDL_INIT_EVERYTHING);
win1 := SDL_CreateWindow(‘Test SDL2 library’, posX, posY, width,
height, SDL_WINDOW_RESIZABLE);
SDL_CheckError(‘create win 1’);
renderer1 := SDL_CreateRenderer(win1, -1, SDL_RENDERER_ACCELERATED);
SDL_CheckError(‘create renderer’);
if SDL_GetRendererInfo(renderer1, at pinfo)=0 then begin
debugwriteln(pinfo.name+’ w = '+inttostr(pinfo.max_texture_width)+'
h = '+inttostr(pinfo.max_texture_width));
end;

And I got result in console :

SDL error = create win 1 : index must be in the range of 0 - 2
SDL error = create renderer : Failed loading D3DX9_44.dll: The
specified module could not be found.

direct3d w = 8192 h = 8192

But I don’t know why creating window got error message “index must be
in the range of 0 - 2”

Thanks

What language are you programming in, and how did you download/compile
SDL2? From mercurial?On Wed, Sep 5, 2012 at 2:02 PM, wahono sri wrote:

const
posX = 100;
posY = 100;
width = 800;
height = 600;

SDL_Init(SDL_INIT_EVERYTHING);
win1 := SDL_CreateWindow(‘Test SDL2 library’, posX, posY, width,
height, SDL_WINDOW_RESIZABLE);
SDL_CheckError(‘create win 1’);
renderer1 := SDL_CreateRenderer(win1, -1, SDL_RENDERER_ACCELERATED);
SDL_CheckError(‘create renderer’);
if SDL_GetRendererInfo(renderer1, at pinfo)=0 then begin
debugwriteln(pinfo.name+’ w = '+inttostr(pinfo.max_texture_width)+'
h = '+inttostr(pinfo.max_texture_width));
end;

And I got result in console :

SDL error = create win 1 : index must be in the range of 0 - 2
SDL error = create renderer : Failed loading D3DX9_44.dll: The
specified module could not be found.

direct3d w = 8192 h = 8192

But I don’t know why creating window got error message “index must be
in the range of 0 - 2”

Thanks


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

What language are you programming in, and how did you download/compile SDL2?
From mercurial?
I use FreePascal and compile SDL from mercurial (current revision)