What's new

Z64 - a LLE graphics plugin

squall_leonhart

The Great Gunblade Wielder
it doesn't mention any Radeon 8xxxs suporting it, but it says the Radeon 7500 does :|

Code:
Apple Software Renderer
ATI Radeon 7500
ATI Radeon 9600
ATI Radeon 9700
ATI Radeon 9800
ATI Radeon X1600
ATI Radeon X1900
ATI Radeon X800
G73
GeForce 6100
GeForce 6150
GeForce 6200
GeForce 6600
GeForce 6610
GeForce 6700
GeForce 6800
GeForce 6800 GS
GeForce 7300
GeForce 7300 GS
GeForce 7500
GeForce 7600
GeForce 7600 GS
GeForce 7800
GeForce 7800 GS
GeForce 7900
GeForce 7900 GS
GeForce 7950 GX2
GeForce 8800
GeForce FX 6800
GeForce Go 6150
GeForce Go 6200
GeForce Go 6600
GeForce Go 6600 TE/6200 TE
GeForce Go 6800
GeForce Go 7300
GeForce Go 7400
GeForce Go 7600
GeForce Go 7700
GeForce Go 7800
GeForce Go 7900 GS
Intel GMA 950
Mesa Windows GDI Driver
NV44
NVIDIA GeForce 6200
NVIDIA GeForce 6600
NVIDIA GeForce 6800
NVIDIA GeForce 7300
NVIDIA GeForce 7300 GS
NVIDIA GeForce 7600
NVIDIA GeForce 7600 GS
NVIDIA GeForce 7800
NVIDIA GeForce 7800 GS
NVIDIA GeForce 7900 GS
NVIDIA GeForce 8600M
NVIDIA GeForce Go 7800
NVIDIA Quadro FX 3500
NVIDIA Quadro FX 4500
NVIDIA Quadro FX 5500
Quadro FX 3400
Quadro FX 3450/4000 SDI
Quadro FX 3500
Quadro FX 4000
Quadro FX 4500
Quadro FX 540
Quadro FX Go1400
Quadro NVS 285
Radeon X1900
S3 Graphics DeltaChrome
Wildcat Realizm
XGI Volari Family

GL_ARB_texture_non_power_of_two
it could also be that no one has bothered sending in reports on the capabilities of some cards.
 
Last edited:

PsyMan

Just Another Wacko ;)
This does not mean that 8xxx series do not support it. As I said, don't rely on it too much.
 

mudlord

Banned
i realise that ziggy, but OGL EXT Viewer has a database which you can use to see which cards support what

The thing is, that'll also require a miniature DB in ziggy's plugin, to turn on NPOT texture support in cases. The simplest way, which I use in my gltest app for the Glide3x wrapper, is to probe the extension itself, rather than relying on a DB. If needs be, I could add a DB to the app in some future updates, if I feel like. But, the simplest method is just to check to see if the extension is there or not.
 

Cyberman

Moderator
Moderator
The thing is, that'll also require a miniature DB in ziggy's plugin, to turn on NPOT texture support in cases. The simplest way, which I use in my gltest app for the Glide3x wrapper, is to probe the extension itself, rather than relying on a DB. If needs be, I could add a DB to the app in some future updates, if I feel like. But, the simplest method is just to check to see if the extension is there or not.
Actually you don't want to use a Database in this case at all. The main reason is mostly it's a case of the Driver not per sea the card having support. Well save say the G3 series from Nvidia it doesn't have all the support for things because it's just not in hardware (though you can support it with software emulation).
Point being with extensions and video cards you have to deal with what you have. Otherwise you will be specifying your programs functionality on a DRIVER and not the OpenGL system and that is counter productive. Besides databases are only as good as the information in them, and if it's generated based on anything other than what the driver SAYS it can do, it's prone to error.
Unfortunately some drivers LIE about what they can do. So if you HAVE to use a feature that's one thing, if it's optional, take the course that doesn't hamstring your code to something that may or may not work. IE if the card doesn't support it, and it pretty much can do most everything that's necessary just don't use the feature if it's not there. It's as simple as that.
There are places where a database is useful in a video plugin, that however has nothing to do with the video card really. ;)

Cyb
 

mudlord

Banned
Point being with extensions and video cards you have to deal with what you have. Otherwise you will be specifying your programs functionality on a DRIVER and not the OpenGL system and that is counter productive. Besides databases are only as good as the information in them, and if it's generated based on anything other than what the driver SAYS it can do, it's prone to error.

Well, ziggy has added a custom override to the plugin for NPOT in cases where the drivers don't advertise fully what the card is capable of, via the GL extensions. I know my new ATI card supports NPOT, its just the drivers lie about it. And its true about the DB's...

There are places where a database is useful in a video plugin, that however has nothing to do with the video card really.

Yep, I know all too well your plans...:naughty: I can't wait to implement them....\:D/
 

grand master

Emualtion Pimp
Just tried it out. Much quicker. In golden eye however the text appears and then turns to squares. Also the emulator crawls in game and eventually crahses. All test on 1964 x2 4400+.
 

Yazemu

New member
I get this when trying to compile r12, r15, or r17 on linux

Code:
User@Hostname:~/Emulators/z64-r17$ make
g++ -g -DGCC -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -I/home/zig/Dev/gl/glui/src/include `/usr/bin/freetype-config --cflags` -I/usr/include/FTGL -O1 -ffast-math -m3dnow -mmmx -msse -msse2 rdp-mess.cpp -c -o rdp-mess.o
rdp-mess.cpp:29:1: warning: "rdram" redefined
In file included from rdp-mess.cpp:9:
Gfx #1.3.h:116:1: warning: this is the location of the previous definition
rdp-mess.cpp:31:1: warning: "rsp_imem" redefined
Gfx #1.3.h:117:1: warning: this is the location of the previous definition
rdp-mess.cpp:33:1: warning: "rsp_dmem" redefined
Gfx #1.3.h:118:1: warning: this is the location of the previous definition
rdp-mess.cpp:37:1: warning: "vi_origin" redefined
Gfx #1.3.h:119:1: warning: this is the location of the previous definition
rdp-mess.cpp:39:1: warning: "vi_width" redefined
Gfx #1.3.h:120:1: warning: this is the location of the previous definition
rdp-mess.cpp:41:1: warning: "vi_control" redefined
Gfx #1.3.h:121:1: warning: this is the location of the previous definition
rdp-mess.cpp:44:1: warning: "dp_start" redefined
Gfx #1.3.h:123:1: warning: this is the location of the previous definition
rdp-mess.cpp:46:1: warning: "dp_end" redefined
Gfx #1.3.h:124:1: warning: this is the location of the previous definition
rdp-mess.cpp:48:1: warning: "dp_current" redefined
Gfx #1.3.h:125:1: warning: this is the location of the previous definition
rdp-mess.cpp:50:1: warning: "dp_status" redefined
Gfx #1.3.h:126:1: warning: this is the location of the previous definition
rdp-mess.cpp:1083:1: warning: "TEXTURE_PIPELINE" redefined
rdp-mess.cpp:1025:1: warning: this is the location of the previous definition
g++ -g -DGCC -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -I/home/zig/Dev/gl/glui/src/include `/usr/bin/freetype-config --cflags` -I/usr/include/FTGL -O1 -ffast-math -m3dnow -mmmx -msse -msse2 disasm.cpp -c -o disasm.o
g++ -g -DGCC -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -I/home/zig/Dev/gl/glui/src/include `/usr/bin/freetype-config --cflags` -I/usr/include/FTGL -O1 -ffast-math -m3dnow -mmmx -msse -msse2 main.cpp -c -o main.o
g++ `pkg-config gtk+-2.0 --libs` -o z64.so rdp-mess.o disasm.o main.o -g -rdynamic -lGL -lGLU -lGLEW -L/usr/X11R6/lib /home/zig/Dev/gl/glui/src/lib/libglui.a -lglut -lftgl `/usr/bin/freetype-config --libs` `sdl-config --libs` -lz -shared -Wl,-Bsymbolic
g++: /home/zig/Dev/gl/glui/src/lib/libglui.a: No such file or directory
make: *** [z64.so] Error 1

Why does it look in /home/zig/Dev/gl/glui/src/lib/ for libglui.a ?
 
OP
Z

ziggy

New member
It's a library I'm actually not using. In the Makefile, comment out

#GLUI_PREFIX = /home/zig/Dev/gl/glui/src
#GLUT_PREFIX = /home/zig/Dev/glui/glut-3.7/
#GLUI_LIBS = $(GLUI_PREFIX)/lib/libglui.a -lglut
##$(GLUT_PREFIX)/lib/glut/libglut.so.3.7 #-lglut
#GLUI_INCS = -I$(GLUI_PREFIX)/include

(i.e. add a # at the beginning of the lines)

You will also need to comment out the FTGL lines

ifneq ("$(WIN32)", "1")
FTGL_PREFIX = /usr/
else
FTGL_PREFIX = /usr/mingw32/usr/
endif
FTGL_INCS = `$(FTGL_PREFIX)bin/freetype-config --cflags` -I$(FTGL_PREFIX)include/FTGL
FTGL_LIBS = -lftgl `$(FTGL_PREFIX)bin/freetype-config --libs`

This library, I'm using it , but only in debug mode.
 

Yazemu

New member
Thanks for such a fast response, I commented out those lines, but now I get this.
Code:
g++ `pkg-config gtk+-2.0 --libs` -o z64.so rdp-mess.o disasm.o main.o -g -rdynamic -lGL -lGLU -lGLEW -L/usr/X11R6/lib   `sdl-config --libs` -lz -shared -Wl,-Bsymbolic
/usr/bin/ld: cannot find -lGLEW
collect2: ld returned 1 exit status
make: *** [z64.so] Error 1
 

Yazemu

New member
Silly me, okay I installed glew and the plugins were compiled, but I still get this

Code:
user@hostname:~/Emulators/z64-r17$ make
g++ -g -DGCC -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2   -O1 -ffast-math -m3dnow -mmmx -msse -msse2 rgl.cpp -c -o rgl.o
In file included from rgl.cpp:80:
rgl.h:32:19: error: IL/il.h: No such file or directory
rgl.cpp: In function ‘void rglRenderChunks(int)’:
rgl.cpp:899: warning: converting to ‘uint16_t’ from ‘float’
rgl.cpp:901: warning: converting to ‘uint16_t’ from ‘float’
rgl.cpp:903: warning: converting to ‘uint16_t’ from ‘float’
rgl.cpp:905: warning: converting to ‘uint16_t’ from ‘float’
rgl.cpp: In function ‘void rglDisplayFramebuffers()’:
rgl.cpp:990: warning: converting to ‘int’ from ‘float’
rgl.cpp:991: warning: converting to ‘int’ from ‘float’
rgl.cpp: In function ‘void rglFramebuffer2Rdram(rglRenderBuffer_t&, uint32_t, uint32_t)’:
rgl.cpp:1616: warning: converting to ‘uint32_t’ from ‘float’
make: *** [rgl.o] Error 1
Is this something I should be concerned about?
 

mudlord

Banned
I had a play around with the asynchronous RDP emulation and multithreading.

So far, it made quite a good speed boost for me in cases :).
However, in the Legend of Zelda Oot, I experience the following graphical error on my ATI Radeon X1650 Pro....
 
OP
Z

ziggy

New member
But other games are working as usual ? Also, does this error only happen in async mode ?

I haven't tested under windows yet, I cannot really reboot my machine at the moment, it's being used as server for something else. But it works fine under linux. I didn't notice any problem in Goldeneye either.
 

mudlord

Banned
But other games are working as usual ? Also, does this error only happen in async mode ?

Not really, some games seem to crash on startup for me, namely Super Mario 64 and Banjo Kazooie. And the error only occurs in async mode, the normal mode works fine and looks perfect.
 
OP
Z

ziggy

New member
Have you tried several times for games that crash ? Under Linux , I often get a crash on startup, but it's independent of the game. I just need to retry until it finally work.
 

The Siskoo

Member
Emulator : 1964 0.9.9
Plugins : Ziggy R17, Ziggy RSP r17, Ziggy PJ64 r4

South Park Rally (E) (U) [!] --> very slight screen shaking. No screen shaking
 

mudlord

Banned
Yes, I have, for Super Mario 64, I found it was purely RSP related (to audio plugins), not sure on BK.

In Sin and Punishment, dithered alpha rendering is absent:
 

Top