Allegro.cc - Online Community

Allegro.cc Forums » Programming Questions » Problem creating display en ex_shader.cpp

This thread is locked; no one can reply to it. rss feed Print
Problem creating display en ex_shader.cpp
Gnamra
Member #12,503
January 2011
avatar

I'm using msvc 11.0 and when trying to compile and run ex_shader.cpp I get:

Could not create display.
Assertion failed: display, file allegro-git\src\shader.c

I've tested a couple of other examples and they worked fine.

I was able to create the display by commenting out ALLEGRO_PROGRAMMABLE_PIPELINE but then it couldn't create the shader. I assume it's because I commented out that flag.

Edit: I have no idea how that "en" got there in the title.

SiegeLord
Member #7,827
October 2006
avatar

Compile Allegro in debug mode and post the resultant allegro.log. Probably the default shaders are failing to compile.

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Gnamra
Member #12,503
January 2011
avatar

Well, I'm using the binaries from the 5.1.6 release thread, I've tried to compile it myself before but I haven't had any success. I've had problems with both CMake and getting the dependencies to compile :-/

Trent Gamblin
Member #261
April 2000
avatar

There should be debug versions included in the binaries. At least I think there used to be.

Gnamra
Member #12,503
January 2011
avatar

Oh, I thought he meant when compiling allegro(which I haven't been able to do), and not the ex_shader.cpp. I've uploaded the allegro.log for ex_shader.cpp

Edit: Oops, uploaded the log for ex_shader_multitex.c I've uploaded the log for ex_shader as allegro2.log

I'm gonna take a wild guess and say that this:

shader.c:465  _al_create_default_shader        [   0.11030] No suitable shader platform found for creating the default shader.

might be the problem?

SiegeLord
Member #7,827
October 2006
avatar

Yes, it is. You could either run the example with the OpenGL backend or you will need the d3dx9_*.dll. I am pretty sure the latter is installed when you install the DirectX runtime. It might be possible that you have this dll but Allegro can't find it... in which case, as a workabout, copy it next to your executable. The allegro.log should contain the locations it looked in (search for the "d3dx9" string).

Actually nvm... I think the binaries are borked.

EDIT:

Yes, they are. See the 5.1.6 thread. You are going to have to wait for the binaries to be fixed.

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Gnamra
Member #12,503
January 2011
avatar

Alright, thanks :)

Go to: