|
|
This thread is locked; no one can reply to it.
|
1
2
|
| Allegro 4.9.14 |
|
Trent Gamblin
Member #261
April 2000
|
Binaries for MSVC and MinGW are up on allegro5.org. If eating hotdogs is wrong, I don't wanna be right. |
|
SiegeLord
Member #7,827
October 2006
|
kenmasters1976 said: I'll try to check it on my brother's computer to see if it's a problem with my machine. Okay, I think I know what the problem is. I read more about the issue, and it appears that the primitives addon now requires Pixel Shader 3 support (translates to D3D 9.0c). Something tells me that no Intel card goes under that category... What changed was the fact that FVF was removed, and replaced by D3D9 Vertex Declarations... FVF won't be put back, it just doesn't work for the purposes of using the same structure for OpenGL and D3D... I think I'll add a quick vertex preprocessor for low level videocards unless someone has a better idea. "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
Oh, OK. Must be that then. No pixel shader support here. So it's not really a bug if you don't plan to aim Allegro 5 for low level video cards.
|
|
SiegeLord
Member #7,827
October 2006
|
No worries, D3D driver for the primitives is already such a hack that one more vertex twiddler won't hurt it. This also is a pretty big regression, so I think there should be a workabout. "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
Thomas Fjellstrom
Member #476
June 2000
|
SiegeLord said: No worries, D3D driver for the primitives is already such a hack that one more vertex twiddler won't hurt it. This also is a pretty big regression, so I think there should be a workabout. What regression? Theres been no stable version of a5 yet, so there CAN'T be regressions But yeah, that'd be annoying to completely depend on SM3 if it cuts out most intel chipsets. -- |
|
kenmasters1976
Member #8,794
July 2007
|
Can anyone else with an Intel card confirm that it happens for him too?. It may happen only on really old cards, like mine. Anyway, I guess I'll keep using 4.9.13 a bit longer.
|
|
Elias
Member #358
May 2000
|
You can always use the OpenGL driver... however on Intel cards, that likely has other problems. -- |
|
Neil Walker
Member #210
April 2000
|
Miquel Burns said: Copy the ogg folder from the libogg include directory to the libvorbis include directory. What I do, and it helps separate out my stuff from the built in stuff for the compiler is put all the include and lib files for every thing I build into a specific folder, e.g. c:\mydevfiles\include, c:\mydevfiles\lib, and add these to the include and lib path. That way everything finds them and I have them all in one place with no duplicates of earlier versions anywhere ready to cause havoc. Neil. wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie |
|
Arvidsson
Member #4,603
May 2004
|
I haven't tried out the font capabilities of allegro yet, so I tried the font examples (ex_font and ex_ttf) and they can't find the files they are looking for respectively. I'm on Mac OS X 10.5 (leopard) and just tried out a fresh copy of allegro5 4.9.14, and the build seems to have gone well with everything. What could be wrong? (yes the files are there). edit: correction, the files fail to load What's weird is that when I tried to write a program on my own, the font was loaded properly (I guess) but nothing shows up when I draw text. edit2: it seems all examples are having trouble loading files from the data folder, any ideas why? edit3: Nevermind, I seem to have solved it. Sorry. |
|
MiquelFire
Member #3,110
January 2003
|
This is something I'm wondering about. Any way to cause the CMake generated MSVC files to not put the exe's in a sub folder. Took me a while to figure out that was the reason the demo wouldn't run. --- |
|
Peter Wang
Member #23
April 2000
|
This might work: diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 540e0e0..d93d462 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,3 +1,5 @@ +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples) + include_directories( ../addons/acodec ../addons/audio
|
|
Michael Jensen
Member #2,870
October 2002
|
SiegeLord said: Okay, I think I know what the problem is. I read more about the issue, and it appears that the primitives addon now requires Pixel Shader 3 support (translates to D3D 9.0c). Something tells me that no Intel card goes under that category... It's trivial: but for the record, my laptop has integrated intel video (I bought it because it was the same price as a netbook on clearance), and XNA device caps says that I have pixel shader 3.0 and vertex shader 3.0 support. I don't have allegro/mingw on it at all though -- just straight up visual studio 2008. Slightly less trivial: if anyone would like me to test anything on my laptop that might help the next version of allegro, I'd be more than happy to if you reply here or PM me.
|
|
kenmasters1976
Member #8,794
July 2007
|
Yeah, just the other day my nephew was checking the graphics capabilities of his laptop, which has an integrated Intel card too, and it also showed that it supported pixel shader 3.0, so it seems recent Intel cards does support it.
|
|
SiegeLord
Member #7,827
October 2006
|
I made a workabout for that recently, so older Intel cards should work with the addon again in 4.9.15 (and in the SVN now, which I'll appreciate someone testing in this matter). "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
SiegeLord said: ... (and in the SVN now, which I'll appreciate someone testing in this matter). I'll give it a try. [EDIT:] OK, I built r12638 and made some quick tests and everything seems to be working correctly. It no longer crashes when using Direct3D. I also tried patterned lines drawing, which wasn't working on my machine in 4.9.13 when using Direct3D, and it works fine now.
|
|
SiegeLord
Member #7,827
October 2006
|
Great! Now I just have to fix that spline bug... "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
OK, maybe I talked too soon. I was checking the examples built with r12638 and I noted this strange thing: In ex_lines: In ex_draw: Looks like something wrong in the rectangle drawing routines. It seems to only happen with Direct3D but only when thickness is 0. [EDIT:] Oh, and seems to happen for other primitives as well (triangles at least).
|
|
SiegeLord
Member #7,827
October 2006
|
Some website said: Most importantly, all Intel drivers seem to implement DrawIndexedPrimitiveUP() incorrectly >_< Should be fixed in a few minutes. "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
I've built r12640 and seems that disabling the vertex twiddler did break the Direct3D driver again. ex_draw and ex_prim show nothing but the background and ex_lines crashes, much the same as in 4.9.14. Enabling the vertex twiddler and rebuilding solves the problem (the primitives drawing problem is solved as well). Why was the vertex twiddler disabled?, is there a way to manually enable it?.
|
|
SiegeLord
Member #7,827
October 2006
|
The vertex twidller should turn on automatically on cards that don't support D3D 9.0c stuff that we need. The code that turns on the vertex twiddler is this (in prim_directx.c): if(!allegro_vertex_def) {
if(IDirect3DDevice9_CreateVertexDeclaration(device, allegro_vertex_decl, &allegro_vertex_def) != D3D_OK) {
use_vertex_twiddler = true;
}
}
But looks like it doesn't work... Meanwhile, if you don't mind, could you tell me what IDirect3DDevice9_CreateVertexDeclaration returns for you? Just replace the above code by this and run ex_prim in the terminal: if(!allegro_vertex_def) {
int ret = IDirect3DDevice9_CreateVertexDeclaration(device, allegro_vertex_decl, &allegro_vertex_def)
printf("%d\n", ret);
}EDIT: Also perhaps try this version: if(!allegro_vertex_def) {
if(FAILED(IDirect3DDevice9_CreateVertexDeclaration(device, allegro_vertex_decl, &allegro_vertex_def))) {
use_vertex_twiddler = true;
}
}
"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
I figured you probably meant for it to be enabled automatically if necessary, but it didn't work on my machine. SiegeLord said: Meanwhile, if you don't mind, could you tell me what IDirect3DDevice9_CreateVertexDeclaration returns for you? It returns 0. Quote: EDIT: Also perhaps try this version: ... No. It didn't work either.
|
|
SiegeLord
Member #7,827
October 2006
|
How about this? if(!allegro_vertex_def) {
D3DCAPS9 caps;
IDirect3DDevice9_GetDeviceCaps(device, &caps);
if(caps.VertexShaderVersion < D3DVS_VERSION(3, 0))
use_vertex_twiddler = true;
else
IDirect3DDevice9_CreateVertexDeclaration(device, allegro_vertex_decl, &allegro_vertex_def)
}
Sorry to have you test this, I don't have any Intel GPU's at home "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
kenmasters1976
Member #8,794
July 2007
|
Sorry, but no luck either. I modified a bit the code to include a printf(), like this: The first printf() prints a 0.000000, but for some reason it never goes into the if(). I don't know if that means something. [EDIT:] I see VertexShaderVersion is not a float, so never mind. [EDIT 2:] OK, I printed the correct value for VertexShaderVersion and I got 3.0. However, for PixelShaderVersion I got 0.0. Vertex Shader 3.0 is obviously not supported on my graphics card (Intel 82845), so maybe Pixel Shader has priority over Vertex Shader so that VertexShaderVersion has no meaning if PixelShaderVersion is 0.0 or something like that?. I changed if(caps.VertexShaderVersion < D3DVS_VERSION(3, 0)) to if(caps.PixelShaderVersion < D3DPS_VERSION(3, 0)) and it seemed to work. Hope it is useful.
|
|
SiegeLord
Member #7,827
October 2006
|
That works me, I'll commit that version of it. Thanks a lot! "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
|
1
2
|