Author Topic: GLideN64 Android port  (Read 122078 times)

Offline Gonetz

  • Developer
  • long
  • *****
  • Posts: 104
    • View Profile
Re: GLideN64 Android port
« Reply #270 on: June 01, 2015, 03:39:49 AM »
@littleguy I was wrong regarding Anisotropic filtering.
GL_TEXTURE_MAX_ANISOTROPY_EXT and GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT really missing in GL headers, but
glGetString(GL_EXTENSIONS) contains "GL_EXT_texture_filter_anisotropic" string and call to
glGetFloatv(0x84FF, &config.texture.maxAnisotropyF); returns 16.0 as max anisotropy level.
This, MaxAnisotropy setting should be returned.

I've corrected my code for that:
https://github.com/gonetz/GLideN64/commit/37b5a384863f555aab50d036069adbf8983b3859
« Last Edit: June 01, 2015, 03:52:07 AM by Gonetz »

Offline IDSG

  • byte
  • *
  • Posts: 11
    • View Profile
Re: GLideN64 Android port
« Reply #271 on: June 01, 2015, 06:42:58 AM »
This plugins doesnt have Frameskip?

Offline Gonetz

  • Developer
  • long
  • *****
  • Posts: 104
    • View Profile
Re: GLideN64 Android port
« Reply #272 on: June 01, 2015, 07:11:42 AM »
no Frameskip

Offline fivefeet8

  • byte
  • *
  • Posts: 40
    • View Profile
Re: GLideN64 Android port
« Reply #273 on: June 01, 2015, 11:45:46 AM »
I know, I'm just trying to test other devices.  Actually the NVIDIA Android TV has a better processor (X1) than the other NVIDIA devices (K1).

I've been testing the recent dev builds from here on my Shield Tablet, but I'm going to be getting the Shield Android TV later this week.  Will let you guys know how things go with it on the emulator. 

OpenGLes 3.0 is a mess on my HTC One M8 Snapdragon 801 (Lollipop 5.02).  Pretty much have to stick with OpenGLes 2 on it.  Crappy Adreno drivers again. 
« Last Edit: June 01, 2015, 11:48:02 AM by fivefeet8 »

Offline IDSG

  • byte
  • *
  • Posts: 11
    • View Profile
Re: GLideN64 Android port
« Reply #274 on: June 01, 2015, 01:53:29 PM »
no Frameskip

Is planned that feature?

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: GLideN64 Android port
« Reply #275 on: June 01, 2015, 03:40:48 PM »
Maybe there can be a global frameskip feature added in the near future.
Since Rice freaks out with frameskip anyway by causing a strobe light of non-skipped frameless frames instead of actually skipping them.
The global frameskip could always work much better by lowering the primary usage impact instead of just the gfx plugin.
One other detail is that all plugins have that irritating yellow pattern that appears between some situations.
Smash Bros. on Rice is the strongest condition.

Maybe this has something to do with and possibly causing the screen render "dithering" issue?

Offline Gonetz

  • Developer
  • long
  • *****
  • Posts: 104
    • View Profile
Re: GLideN64 Android port
« Reply #276 on: June 02, 2015, 10:38:43 AM »
I've fixed various issues with FB emulation (not all!), mostly with GLES2. Now you may play Mario Tennis, Lego Racers, Jet Force Gemini etc. New apk:
https://drive.google.com/file/d/0B0YqMPjGo3B2cmdnVDhFcXRmUjQ/view?usp=sharing

@IDSG I have no plans about frameskip support.

Offline Gonetz

  • Developer
  • long
  • *****
  • Posts: 104
    • View Profile
Re: GLideN64 Android port
« Reply #277 on: June 02, 2015, 11:07:47 AM »
@littleguy have you tried to use NVIDIA Tegra Graphics Debugger with your Shield? I can't attach it. It says
No attachable processes found.

I tried to follow this advice:
https://devtalk.nvidia.com/default/topic/771427/tegra-tools/unable-to-attach-tegra-graphics-debugger-on-shield-tablet/

 
I've added to my Android.mk:
 
Code: [Select]
#------------------
 
 # tgd libs
 include $(CLEAR_VARS)
 LOCAL_PATH := C:\Temp\android-kk-egl-t124-a32 LOCAL_MODULE :=
libTegra_gfx_debugger LOCAL_SRC_FILES := libTegra_gfx_debugger.a
include
$(PREBUILT_STATIC_LIBRARY)
 
 include $(CLEAR_VARS)
 LOCAL_PATH := C:\Temp\android-kk-egl-t124-a32 LOCAL_MODULE :=
Stripped_libNvPmApi LOCAL_SRC_FILES := Stripped_libNvPmApi.Core.so
include
$(PREBUILT_SHARED_LIBRARY)
 
 include $(CLEAR_VARS)
 LOCAL_PATH := C:\Temp\android-kk-egl-t124-a32 LOCAL_MODULE :=
Stripped_libTegra_gfx_debugger LOCAL_SRC_FILES :=
Stripped_libTegra_gfx_debugger.so
include $(PREBUILT_SHARED_LIBRARY) # end tgd libs
 
 LOCAL_STATIC_LIBRARIES += libTegra_gfx_debugger LOCAL_SHARED_LIBRARIES
+= Stripped_libNvPmApi Stripped_libTegra_gfx_debugger
 
 #------------------

C:\Temp\android-kk-egl-t124-a32 folder contains files from "c:\Program Files (x86)\NVIDIA Corporation\Tegra Graphics Debugger 1.3\target\android-kk-egl-t124-a32\"

It gave me nothing. I want to use that tool to find performance issues in my code.

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: GLideN64 Android port
« Reply #278 on: June 02, 2015, 11:54:36 AM »
Banjo-Tooie's dynamic shadow works ;D ,paths are still seen through walls though.
A regression too,the black screen issue when no HUD items are on screen has returned.

Offline Gonetz

  • Developer
  • long
  • *****
  • Posts: 104
    • View Profile
Re: GLideN64 Android port
« Reply #279 on: June 02, 2015, 12:19:09 PM »

Offline IDSG

  • byte
  • *
  • Posts: 11
    • View Profile
Re: GLideN64 Android port
« Reply #280 on: June 02, 2015, 02:07:54 PM »
I've fixed various issues with FB emulation (not all!), mostly with GLES2. Now you may play Mario Tennis, Lego Racers, Jet Force Gemini etc. New apk:
https://drive.google.com/file/d/0B0YqMPjGo3B2cmdnVDhFcXRmUjQ/view?usp=sharing

@IDSG I have no plans about frameskip support.

Damn =( , well i need a better device then, btw keep up the good work and hope the optimizations would make the games playable on my tablet (Dual Cortex A9 1.32ghz, 1gb ram Mali400 MP2)

Offline Mikhail

  • long
  • ***
  • Posts: 127
    • View Profile
Re: GLideN64 Android port
« Reply #281 on: June 02, 2015, 02:21:20 PM »
Strange gles 3.1 is working but 3.0 doesn't and 3.1 is showing the same graphical glitches as gln64.

I noticed some more glitches with gles 2.0 also with f1 world grand prix II,
the circuit map on the paddok computer screen has an odd effect where it keeps switching
between resolutions and angling it like a parallelogram.

The circles that flip around for the course country flags on the course selection split the texture in
half before refreshing / scrolling the texture leftwards when flipping around this happens in rice also.

Some textures also have a extra white halo outline around them, glide64 also has this problem.
« Last Edit: June 02, 2015, 02:32:42 PM by Mikhail »

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: GLideN64 Android port
« Reply #282 on: June 02, 2015, 02:28:51 PM »
Conker actually shows with FBEmulation enabled,and his dynamic shadow is fully intact,but everything is see-through so much that you can see the already mutilated N64 Logo model and chainsaw from underneath the floor in the beginning and Rareware's gold R is missing on the model because it is behind the blue part.
The C*** and Plucker bar has a reflection wrongly visible below from this see-through issue.
At least it is not a black screen anymore with FBEmulation enabled. ;D

Problems were to be expected since issues were seen previously with Conker on the PC plugin,if I remember correctly.

@Mikhail: Those for GLES2 are likely due to the texture size changing issue generally for mostly all games.

I think it is about time to focus on and fix this general texture size changing issue so tons of visual quirks can finally be removed and differentiating issues can be pointed out more easily if any remain afterward.
« Last Edit: June 02, 2015, 02:33:47 PM by retroben »

Offline fivefeet8

  • byte
  • *
  • Posts: 40
    • View Profile
Re: GLideN64 Android port
« Reply #283 on: June 02, 2015, 02:57:15 PM »
The coronas in Legend of Zelda OOT shows through solid objects both outside and inside towns and dungeons on my Shield Tablet (Lollipop 5.1) using both the Es2 and Es3.1 renderers with or without HD Textures.  I am using the latest apk provided by Gonetz. 


Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: GLideN64 Android port
« Reply #284 on: June 02, 2015, 03:33:10 PM »
Depth needs to be enabled for ES3.x versions for torch fires and sun corona to work properly.

DK64 has the Nintendo logo at the beginning now,yay!
(it needed a certain setting before,but now works on default ES2 profile)

Has polygon offset not been used this whole time on GLideN64?
Can a build be made with it implemented on GLideN64 so I can perhaps test it on GLES2 to see if paths and other things can no longer be seen through walls and floors?
If that's the case,then this could finally fix the see through issue.
I guess since visuals look so identical to glN64 (similar looking when FBEmulation disabled) and Glide64 (Smash Bros. effects like lighting that are not seen on glN64).

Strange how I don't see that mass of squares with FireTV on DK64 underwater with GLideN64 that was there previously.
It was identical to how the Glide64 plugin looks,but now it is identical to how clear the Rice plugin looks in the water.