Author Topic: 3.0 Alpha Testing  (Read 299531 times)

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: 3.0 Alpha Testing
« Reply #705 on: May 31, 2015, 04:04:04 PM »
I have a 710 and it works fine (wireless dongle attached to USB OTG adapter).  I would expect the 310 to be just as compatible.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #706 on: May 31, 2015, 10:58:45 PM »
Darn,still see the dithering.
I tried the fourth build of that branch and it still shows up. :(
And all after you did all this work just to attempt to fix said issue. :-\
I still think it could be something else in the game surface code that acts different on every device for things like DPI.
(my DPI is 320)

Then what is it doing to cause this when Retroarch doesn't have it at all?
Maybe they will be nice enough to let you look at their screen render source to see how theirs does things.
Possibly the different surface type or condition has the necessary part for dither-free visuals.
Couldn't hurt to check.

Edit:I just took a screenshot with Glide64 of DK64 in water in a less recent GLideN64 build on my x86 tablet (not the dither fix branch) and transferred it to my FireTV for viewing.
Upon viewing it,it looks a lot better than the results ON FireTV because the squares are a LOT smaller which means Mupen64PlusAE is treating FireTV wrong by making the squares massive compared to other devices.
Maybe it is OS version/custom differences related.

How do you change the behaviour of this to make the squares smaller though?
But the goal is to completely remove the squares so game visuals can look perfect.
« Last Edit: May 31, 2015, 11:39:17 PM by retroben »

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #707 on: June 01, 2015, 12:38:50 AM »
Here is a more realistic view of dither from smaller resolution zoomed to fit the screen...

http://www.2shared.com/photo/U8JuNPhz/donkey_kong_64-001.html

I used the smallest resolution to get the well-known dithering like Sega Genesis games.
This screenshot was taken with the dither fix build.
Dithering is like what Sonic 3 & Knuckles looks like normally and in GensPlusDroid with a pixel pattern.
In my native 1080P resolution,I get larger squares instead of pixel sized...umm well,pixels.

I do still see the same other thing in native resolution which is not your typical dithering.

I think I have a better theory,dithering is when something is downsampled from a larger size,thus it is being treated as if the game was originally 1080P and downsampled to what it really is.
So what you may need is to make it treat it as if it was being upsampled or untouched.
Maybe this whole time it has been a form of scanlines and nothing directly to do with dithering?

I don't know what it truly is,but hopefully one of these assumptions are correct.

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #708 on: June 01, 2015, 04:20:05 PM »
Nabbed the Logitech F310 Gamepad,and set it up...
It works really well and even has working navigation control by default for FireTV's home launcher!

I admit I am jealous of anyone with a Smash4 edition Gamecube controller.
Patrick Star: I'd KILL for a net like that. (net=gamepad)

I think the issue may have nothing to do with dither and it is either scaling commands,or something else mysterious.
Retroarch's scaling can cause performance loss while Mupen64Plus AE has no performance impact whatsoever between 1080P and the smallest resolution. (no performance increase from smaller resolutions either :( )
If you were to do something similar to how Retroarch does it,the smallest resolution could cause a stronger performance increase while larger resolutions could cause a small slowdown.

Then again,other devices don't seem to have this issue,so woe is me. :(
Sorry for making you waste time on this problem. :-\

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #709 on: June 02, 2015, 04:20:36 PM »
Anyone PLEASE respond!!!

Sorry,couldn't resist making it the most noticable.

I found the main cause of the issue,it is what the plugins are doing that's causing the visuals to look bad on my end.
I figured it out when the changes on GLideN64 got rid of the same ugly visual that Glide64mk2 has in DK64's water and more importantly the squares Rice has on Banjo-Tooie (noticable in some close-up wall views).
Even the least affected Rice is now beaten out by GLideN64's view method which does NOT have the squares issue.

So,whatever GLideN64 is doing for the screen view in Gonetz's most recent apk is what is needed on the other plugins.
You may have to ask him about the changes.

I set my build.prop to dither=1 then reset,and it still looks the same.
Perfect screen view on GLideN64 while Rice has squares (noticable on close-ups) and Glide64mk2 has the whole screen engulfed in ugly scanlined squares.

This is recent with GLideN64 (GLES2) obtaining the perfect screen view specifically in that apk.
« Last Edit: June 02, 2015, 11:57:05 PM by retroben »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: 3.0 Alpha Testing
« Reply #710 on: June 02, 2015, 09:07:58 PM »
@retroben Please post the logcat for each plugin so I can compare.  The best way to do it is
 - Open mupen, start game, wait for graphics, then quit to gallery
 - In gallery open global nav drawer, select About -> Logcat then click share

In particular I'm looking for messages about the GL context creation process after the emulator launches.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #711 on: June 02, 2015, 09:34:56 PM »
I have a dilemma,my FireTV doesn't write into Mupen's logcat for some reason. :(
Normal logcat apps can read from it,but can make things a bit more tedious.

I guess I will have to make it through that and upload some text files.
Or maybe even copy and paste a small portion inside a codebox that I believe to be the difference.

Edit: I had to run GLideN64 shorter because some other annoying audio log data kept overflowing it.

Glide64mk2 run:
Code: [Select]
I/Core    (23684): Goodname: Donkey Kong 64 (U) [!]
I/Core    (23684): Name: DONKEY KONG 64     
I/Core    (23684): MD5: 9EC41ABF2519FC386CADD0731F6E868C
I/Core    (23684): CRC: EC58EABF AD7C7169
I/Core    (23684): Imagetype: .z64 (native)
I/Core    (23684): Rom size: 33554432 bytes (or 32 Mb or 256 Megabits)
I/Core    (23684): Version: 1449
I/Core    (23684): Manufacturer: Nintendo
I/Core    (23684): Country: USA
D/UI-Console(23684): Cheat codes disabled.
I/UI-Console(23684): using Video plugin: 'Glide64mk2 Video Plugin' v2.5.0
I/UI-Console(23684): using Audio plugin: 'Mupen64Plus OpenSLES Audio Plugin' v2.0.0
I/UI-Console(23684): using Input plugin: 'Mupen64Plus Android Input Plugin' v1.0.0
I/UI-Console(23684): using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP Plugin' v2.5.0
I/Video   (23684): opening /storage/emulated/0/Android/data/org.mupen64plusae.v3.alpha/Glide64mk2.ini
I/Video   (23684): Using TEXUMA extension.
I/Core    (23684): Setting video mode: 1440x1080
I/GameSurface(23684): Creating GL context
V/GameSurface(23684): Found EGL display connection
V/GameSurface(23684): Initialized EGL display connection
V/GameSurface(23684): Found compatible EGL frame buffer configuration
V/GameSurface(23684): Created EGL rendering context
V/GameSurface(23684): Created EGL window surface
V/GameSurface(23684): Bound EGL rendering context to EGL window surface
I/GameSurface(23684): Created GL context OpenGL ES 3.0 V@14.0 AU@04.02.02.073.175 PDAVID_AU_LINUX_ANDROID_JB_2.5.4.04.02.02.073.175+PATCH[ES]_msm8960_JB_2.5.4_CL3406509_release_ENGG (CL@3406509)
I/Video   (23684): Your video card doesn't support GL_ARB_texture_env_combine extension
I/Video   (23684): Your video card doesn't support GL_ARB_multitexture extension
I/Video   (23684): Your video card doesn't support GL_ARB_texture_mirrored_repeat extension
I/Video   (23684): use_fbo 1
W/Adreno200-ES20(23684): <core_glTexImage2D:478>: GL_INVALID_VALUE
I/Video   (23684): InitCombine()
I/Video   (23684): extensions
I/Video   (23684): initialized.
I/Video   (23684):
I/Core    (23684): Starting R4300 emulator: Dynamic Recompiler
I/Core    (23684): Init new dynarec
I/Core    (23684): ARM CPU Features: SWP, Half, Thumb, FastMult, VFP, ESDP, NEON, VFPv3, TLS, VFPv4, IDIVa, IDIVt
D/WindowManager(  654): Send Logs not enabled!
I/GameLifecycleHandler(23684): onWindowFocusChanged: false
I/GameLifecycleHandler(23684): onPause
D/Core    (23684): Emulation paused.
I/GameLifecycleHandler(23684): surfaceDestroyed
D/Core    (23684): Stopping emulation.
D/Core    (23684): Saved state to: yyyy-mm-dd-hh-mm-ss.sav
I/Core    (23684): R4300 emulator finished.
I/GameSurface(23684): Destroying GL context
V/GameSurface(23684): Unbound EGL rendering context from EGL window surface
V/GameSurface(23684): Destroyed EGL window surface
V/GameSurface(23684): Destroyed EGL rendering context
V/GameSurface(23684): Terminated EGL display connection
D/Core    (23684): Rom closed.
I/ae-bridge(23684): Unloading native libraries
I/GameLifecycleHandler(23684): onStop
I/GameLifecycleHandler(23684): onDestroy

GLideN64 run:
Code: [Select]
I/Core    (10179): Goodname: Donkey Kong 64 (U) [!]
I/Core    (10179): Name: DONKEY KONG 64     
I/Core    (10179): MD5: 9EC41ABF2519FC386CADD0731F6E868C
I/Core    (10179): CRC: EC58EABF AD7C7169
I/Core    (10179): Imagetype: .z64 (native)
I/Core    (10179): Rom size: 33554432 bytes (or 32 Mb or 256 Megabits)
I/Core    (10179): Version: 1449
I/Core    (10179): Manufacturer: Nintendo
I/Core    (10179): Country: USA
D/UI-Console(10179): Cheat codes disabled.
I/UI-Console(10179): using Video plugin: 'GLideN64' v2.0.0
I/UI-Console(10179): using Audio plugin: 'Mupen64Plus OpenSLES Audio Plugin' v2.0.0
I/UI-Console(10179): using Input plugin: 'Mupen64Plus Android Input Plugin' v1.0.0
I/UI-Console(10179): using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP Plugin' v2.5.0
I/Core    (10179): Setting video mode: 1440x1080
I/GameSurface(10179): Creating GL context
V/GameSurface(10179): Found EGL display connection
V/GameSurface(10179): Initialized EGL display connection
V/GameSurface(10179): Found compatible EGL frame buffer configuration
V/GameSurface(10179): Created EGL rendering context
V/GameSurface(10179): Created EGL window surface
V/GameSurface(10179): Bound EGL rendering context to EGL window surface
I/GameSurface(10179): Created GL context OpenGL ES 3.0 V@14.0 AU@04.02.02.073.175 PDAVID_AU_LINUX_ANDROID_JB_2.5.4.04.02.02.073.175+PATCH[ES]_msm8960_JB_2.5.4_CL3406509_release_ENGG (CL@3406509)
W/Adreno200-ES20(10179): <process_gl_state_enables:470>: GL_INVALID_ENUM
I/Core    (10179): Starting R4300 emulator: Dynamic Recompiler
I/Core    (10179): Init new dynarec
I/Core    (10179): ARM CPU Features: SWP, Half, Thumb, FastMult, VFP, ESDP, NEON, VFPv3, TLS, VFPv4, IDIVa, IDIVt
D/WindowManager(  654): Send Logs not enabled!
I/GameLifecycleHandler(10179): onWindowFocusChanged: false
I/GameLifecycleHandler(10179): onPause
D/Core    (10179): Emulation paused.
I/GameLifecycleHandler(10179): surfaceDestroyed
D/Core    (10179): Stopping emulation.
D/Core    (10179): Saved state to: yyyy-mm-dd-hh-mm-ss.sav
I/Core    (10179): R4300 emulator finished.
I/GameSurface(10179): Destroying GL context
V/GameSurface(10179): Unbound EGL rendering context from EGL window surface
V/GameSurface(10179): Destroyed EGL window surface
V/GameSurface(10179): Destroyed EGL rendering context
V/GameSurface(10179): Terminated EGL display connection
E/libEGL  (10179): call to OpenGL ES API with no current context (logged once per thread)
D/Core    (10179): Rom closed.
I/ae-bridge(10179): Unloading native libraries
I/GameLifecycleHandler(10179): onStop
I/GameLifecycleHandler(10179): onDestroy

Glide64mk2 throws missing GL-ARB extension errors while GLideN64 does not have any extension error there.
Should I also get log data for Rice since it does not have the scanlined square gridding issue that Glide64mk2 has on DK64,but does have minor visual issues as seen with Banjo-Tooie?

GLideN64 doesn't have the minor Banjo-Tooie square gridding issue found on Rice.
« Last Edit: June 02, 2015, 11:13:17 PM by retroben »

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #712 on: June 02, 2015, 11:56:33 PM »
Went ahead and did Rice with Banjo-Tooie.

Rice:
Code: [Select]
I/Core    (32085): Goodname: Banjo-Tooie (U) [!]
I/Core    (32085): Name: BANJO TOOIE         
I/Core    (32085): MD5: 40E98FAA24AC3EBE1D25CB5E5DDF49E4
I/Core    (32085): CRC: C2E9AA9A 475D70AA
I/Core    (32085): Imagetype: .z64 (native)
I/Core    (32085): Rom size: 33554432 bytes (or 32 Mb or 256 Megabits)
I/Core    (32085): Version: 144A
I/Core    (32085): Manufacturer: Nintendo
I/Core    (32085): Country: USA
D/UI-Console(32085): activated cheat code 32: no fskip
I/UI-Console(32085): using Video plugin: 'Mupen64Plus OpenGL Video Plugin by Rice' v2.5.0
I/UI-Console(32085): using Audio plugin: 'Mupen64Plus OpenSLES Audio Plugin' v2.0.0
I/UI-Console(32085): using Input plugin: 'Mupen64Plus Android Input Plugin' v1.0.0
I/UI-Console(32085): using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP Plugin' v2.5.0
I/Video   (32085): Disabled SSE processing.
I/Video   (32085): Found ROM 'BANJO TOOIE', CRC 9aaae9c2aa705d47-45
I/Video   (32085): Enabled hacks for game: 'BANJO TOOIE'
I/Video   (32085): Initializing OpenGL Device Context.
I/Core    (32085): Setting 32-bit video mode: 1440x1080
I/GameSurface(32085): Creating GL context
V/GameSurface(32085): Found EGL display connection
V/GameSurface(32085): Initialized EGL display connection
E/GameSurface(32085): Failed to find compatible EGL frame buffer configuration
V/GameSurface(32085): Terminated EGL display connection
E/GameSurface(32085): Failed to create GL context
W/CoreInterfaceNative(32085): Retrying GL context creation without EGL_BUFFER_SIZE=32
I/GameSurface(32085): Creating GL context
V/GameSurface(32085): Found EGL display connection
V/GameSurface(32085): Initialized EGL display connection
E/GameSurface(32085): Failed to find compatible EGL frame buffer configuration
V/GameSurface(32085): Terminated EGL display connection
E/GameSurface(32085): Failed to create GL context
W/CoreInterfaceNative(32085): Retrying GL context creation using legacy settings
I/GameSurface(32085): Creating GL context
V/GameSurface(32085): Found EGL display connection
V/GameSurface(32085): Initialized EGL display connection
V/GameSurface(32085): Found compatible EGL frame buffer configuration
V/GameSurface(32085): Created EGL rendering context
V/GameSurface(32085): Created EGL window surface
V/GameSurface(32085): Bound EGL rendering context to EGL window surface
I/GameSurface(32085): Created GL context OpenGL ES 3.0 V@14.0 AU@04.02.02.073.175 PDAVID_AU_LINUX_ANDROID_JB_2.5.4.04.02.02.073.175+PATCH[ES]_msm8960_JB_2.5.4_CL3406509_release_ENGG (CL@3406509)
W/Video   (32085): Failed to set GL_SWAP_CONTROL to 0. (it's 16)
W/Video   (32085): Failed to set GL_BUFFER_SIZE to 32. (it's 16)
W/Video   (32085): Failed to set GL_DEPTH_SIZE to 32. (it's 16)
I/Video   (32085): Using OpenGL: Qualcomm - Adreno (TM) 320 : OpenGL ES 3.0 V@14.0 AU@04.02.02.073.175 PDAVID_AU_LINUX_AND
I/Core    (32085): Starting R4300 emulator: Dynamic Recompiler
I/Core    (32085): Init new dynarec
I/Core    (32085): ARM CPU Features: SWP, Half, Thumb, FastMult, VFP, ESDP, NEON, VFPv3, TLS, VFPv4, IDIVa, IDIVt
W/Adreno200-ES20(32085): <process_gl_state_enables:470>: GL_INVALID_ENUM
I/GameLifecycleHandler(32085): onPause
D/Core    (32085): Emulation paused.
I/GameLifecycleHandler(32085): surfaceDestroyed
D/Core    (32085): Stopping emulation.
D/Core    (32085): Saved state to: yyyy-mm-dd-hh-mm-ss.sav
I/Core    (32085): R4300 emulator finished.
I/GameSurface(32085): Destroying GL context
V/GameSurface(32085): Unbound EGL rendering context from EGL window surface
V/GameSurface(32085): Destroyed EGL window surface
V/GameSurface(32085): Destroyed EGL rendering context
V/GameSurface(32085): Terminated EGL display connection
D/Core    (32085): Rom closed.
I/ae-bridge(32085): Unloading native libraries
I/GameLifecycleHandler(32085): onStop
I/GameLifecycleHandler(32085): onDestroy
I/Adreno200-EGL(31894): <qeglDrvAPI_eglInitialize:265>: EGL 1.4 QUALCOMM build: PDAVID_AU_LINUX_ANDROID_JB_2.5.4.04.02.02.073.175+PATCH[ES]_msm8960_JB_2.5.4_CL3406509_release_ENGG (CL3406509)
I/Adreno200-EGL(31894): Build Date: 01/06/14 Mon
I/Adreno200-EGL(31894): Local Branch: master
I/Adreno200-EGL(31894): Remote Branch: quic/jb_2.5.4
I/Adreno200-EGL(31894): Local Patches: 8eb510a221aaeae58c0ecdd202385ce404871588 PROFILER: Added proper handling of partially filled mipmaps
I/Adreno200-EGL(31894):                  2e6d0a734aa661addd942fe6f373d55a407591a6 PROFILER: CL3406509:  Compressed texture support.
I/Adreno200-EGL(31894):                  fdfb486203fdd417c56d12d68e6997ebd0ae8726 PROFILER: Check fo

How do I get 32bit working in Rice and avoid getting kicked to the legacy version?

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: 3.0 Alpha Testing
« Reply #713 on: June 03, 2015, 06:50:41 AM »
Thanks, very helpful :)  I will look into what config parameters are being passed to the GL context creation process by each video plugin.  It's probably a coin toss whether that is it.  Will have to wait until tonight though.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Mikhail

  • long
  • ***
  • Posts: 127
    • View Profile
Re: 3.0 Alpha Testing
« Reply #714 on: June 03, 2015, 09:43:36 AM »
Anyone else seeing major slowdown in fcube in every plugin except glide64?
glide64 runs it 60fps all the over plugins struggle to reach 10-16fps, rice manges 20fps+as next fastest.

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #715 on: June 04, 2015, 01:10:19 AM »
New details found!

I ran Banjo-Kazooie with my custom profile for GLideN64 with FBEmulation disabled,5xBRZ shading,and no caching (menu prone to crashing after exiting game with shader),then I went to Treasure Trove Cove.
after reaching the ramp near the ledge of the Orange Jinjo,I noticed the screen visual minorly had the scanlined square gridding.
Seeing this,I was immensely frustrated by the fact and took some screenshots in case.
Edit: Useless screenshots,forgot screenshots are broken with GLideN64.

Then I backed out to run the game with default GLideN64 profile and then custom profile with most defaults like FBEmulation,and also with 5xBRZ shading and default cache settings checked.
Then,even with shading,it looked perfect on the same wall free of scanlined squares.

Summarized: GLideN64's FBEmulation enabled makes the screen visual perfect while disabled makes the squares appear.
Glide64mk2 with framebuffer has horrendous scanlined square gridding as seen on DK64,though it has "FB Read Always" disabled.
Rice lacks any proper frame buffering.

From my newly found details,how can this be fixed?
« Last Edit: June 04, 2015, 01:14:20 AM by retroben »

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #716 on: June 04, 2015, 01:35:31 AM »
Got screenies of best example!!!

I set the resolution to the lowest with zoom mode and ran DK64 on GLideN64 with and without FBEmulation.

DK64 with framebuffer:
http://www.2shared.com/photo/mfRYtfpu/GLideN64_framebuffer.html

DK64 without buffering:
http://www.2shared.com/photo/rkH80MrS/GLideN64_no_buffer.html

So this is what perfection looks like? (framebuffer)

Edit: Turns out GLideN64 actually runs faster on lowest resolution while other plugins didn't go any faster.
Even HWLighting runs at 60fps on Super Smash Bros. with lowest resolution while at a painfully slow 18-20fps in Native resolution 1080P.

Banjo-Tooie with "no frameskip" code enabled reaches 60fps on lowest resolution while it is slow at 36-38fps in Native resolution.
« Last Edit: June 04, 2015, 03:47:03 AM by retroben »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: 3.0 Alpha Testing
« Reply #717 on: June 07, 2015, 09:15:31 PM »
Alpha 20 released.  It's a huge update from Alpha 19.  See the first post of this thread for the link and release notes.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline storm20200

  • bit
  • Posts: 4
    • View Profile
Re: 3.0 Alpha Testing
« Reply #718 on: June 17, 2015, 06:40:37 AM »
Great to see this still in development, had some great fun playing Pokemon Stadium with a house mate using this and a MyDP adapter on my Nexus 5. Would it be better to just use the latest alpha or stick with the stable Play Store build? I don't mind bugs here and there.

Offline retroben

  • float
  • ****
  • Posts: 432
    • View Profile
Re: 3.0 Alpha Testing
« Reply #719 on: June 17, 2015, 10:39:53 AM »
You can always try it out since it installs right next to the other one and doesn't alter it.
You get the cheat editor,DK64 collisions/Banjo-Tooie support,GLideN64 access,also recently available real-time based activator Gameshark code support,and some other stuff all in the alpha.

So much extra stuff. ;D

Only latest master build has realtime cheat support with Conker fixed.

http://www.paulscode.com/source/Mupen64Plus-AE/AutoBuilds/Mupen64PlusAE_master_201506161103_14f135d.apk

Thanks to Gillou for fixing the Conker issue.