Open andkrau opened 3 years ago
I detected this issue a long time ago, but didn't trace it out of laziness. The build script with minor changes saves a lot of time. Bisected to 4f58d66e960a575a35ef3d783cca25fd71f5bc25
GPU: NVIDIA GeForce 8400 GS (OpenGL 3.3) HLE: GLideN64 rev.46d170e5
GPU: NVIDIA GeForce 8400 GS (OpenGL 3.3) HLE: GLideN64 rev.4f58d66e
GOOD NEWS, the problem disappears by using EnableInaccurateTextureCoordinates = True
.
Given the age of the hardware, that might be the best solution...
--set Video-GLideN64[EnableInaccurateTextureCoordinates]=False
--set Video-GLideN64[EnableInaccurateTextureCoordinates]=True
I detected this issue a long time ago, but didn't trace it out of laziness. The build script with minor changes saves a lot of time. Bisected to 4f58d66
@Jj0YzL5nvJ It would be useful to find what causes that regression. Most likely texture shaders just won't compile. I have no such ancient hardware to test. Shader compilation errors should be logged to gliden64.log Could you make debug build from 4f58d66, run a game with it, find gliden64.log in Plugins folder and upload it here?
When I get the chance, the PC in question is from my workplace.
Shader compilation errors should be logged to gliden64.log Could you make debug build from 4f58d66, run a game with it, find gliden64.log in Plugins folder and upload it here?
I tested on three different PCs with the same condition (Win7Pro x86 + GF 8400
, Win7Pro x64 + GF 8400
, Win7Pro x64 + GF 210
) in three different debug builds of GLideN64 (46d170e5fbd7b9533be00405452f5ea22f0f04c8, 4f58d66e960a575a35ef3d783cca25fd71f5bc25 and abf81a52524c8aa6d0ab8318c99a27d1479a1800). I used x64 builds on 64-bit operating systems. No log was generated.
Summary of the generated shaders:
$ find ./* -type f -print0 | xargs -0 -n 1 sha1sum | grep '\.keys'
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-46d170e5-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.keys
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-46d170e5-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.keys
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-46d170e5-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.keys
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-4f58d66e-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.keys
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-4f58d66e-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.keys
0896c6e5bad228c7875efb8849aa0bf32c7c6940 ./GLideN64-4f58d66e-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.keys
5e5f7201ce24c14704026bec0fc30b8ef01b5d8c ./GLideN64-abf81a52-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.keys
5e5f7201ce24c14704026bec0fc30b8ef01b5d8c ./GLideN64-abf81a52-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.keys
5e5f7201ce24c14704026bec0fc30b8ef01b5d8c ./GLideN64-abf81a52-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.keys
$ find ./* -type f -print0 | xargs -0 -n 1 sha1sum | grep '\.shaders'
0d458dd5646115b9c9acc4f4091639e37308b38f ./GLideN64-46d170e5-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.shaders
8d42997a66281a66c09cfd7db86529fb24a0b069 ./GLideN64-46d170e5-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.shaders
d11fa1384ac5d7641dedfa80b80d71d9171c63fe ./GLideN64-46d170e5-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.shaders
f2429a03cca4d23a05115e14234cf79c61ac48a7 ./GLideN64-4f58d66e-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.shaders
487369ecb8c4cba1dcb13a8c64c4a7303827c814 ./GLideN64-4f58d66e-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.shaders
88976ad7d929e5b729eaf8c52e06f4b748b7e325 ./GLideN64-4f58d66e-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.shaders
1bc67109b7eef6b9b9e4c05bffdf0ab71d07b874 ./GLideN64-abf81a52-shaders_GF210-x64/GLideN64.fc9e65e2.OpenGL.shaders
d6d04f49e72182ffa65b03f1139c69f996f11231 ./GLideN64-abf81a52-shaders_GF8400-x64/GLideN64.fc9e65e2.OpenGL.shaders
61d49c1bae03acc706f9e1f6dc4f169cef79c880 ./GLideN64-abf81a52-shaders_GF8400-x86/GLideN64.61c78802.OpenGL.shaders
I used x64 builds on 64-bit operating systems. No log was generated.
You probably looked for the log in a wrong place.
In case of mupen64plus for Windows, the gliden64.log file is located in
%HOME%\AppData\Roaming\Mupen64Plus\
I just checked, shader errors are printed to the log. It looks like this
2021/11/20,17:38:22.511,glsl_utils.cpp:48,ERROR, "shader_compile error: Vertex shader failed to compile with the following errors:
ERROR: 0:27: error(#143) Undeclared identifier: aColor
...
In case of mupen64plus for Windows, the gliden64.log file is located in
%HOME%\AppData\Roaming\Mupen64Plus\
%APPDATA%\Mupen64Plus
in short, the zipped shaders were generated in exactly the same folder by the way... I can force error log generation by adding --set Video-GLideN64[EnableN64DepthCompare]=1
.
By default no logs are generated, I cleared the previous shaders before each test.
P.S: I used my own nightly-builds (MSYS2 flavor) in case you are interested. UI Console, HLE RSP, Audio SDL, Input SDL, Core
%APPDATA%\Mupen64Plus in short
Ok,%APPDATA%\Mupen64Plus
The folder, where Mupen64Plus stores its settings.
By default no logs are generated
gliden64.log generated for debug builds. Could you make and run debug build of GLideN64?
gliden64.log generated for debug builds. Could you make and run debug build of GLideN64?
GLideN64 Version: build 1.0.764 on AppVeyor GPU: Nvidia GTX 285 (OpenGL 3.3) OS: Windows 10 Emulator: Project 64 2.3 and 3.0 Game: Any Log output: None