Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build failing] Ignore format reinterpretation hack #4089 #2

Closed
wants to merge 22 commits into from

Conversation

Marocco2
Copy link

@Marocco2 Marocco2 commented Nov 4, 2019

THIS IS NOT INTENDED TO BE MERGED

@weihuoya I'm trying to add this piece of code in your repo but I found some missing files inside your last commit that fails to compile. Please commit those missing files, thanks

About this PR, it's a hack which improve performance (up to 3x) in some games but it breaks others. It's meant do be standalone or to be checked via user settings. More details in the title link

@weihuoya
Copy link
Owner

weihuoya commented Nov 4, 2019

what files are missing?
all code uploaded.
there is already a hack for surface validate.

@Marocco2
Copy link
Author

Marocco2 commented Nov 4, 2019

blocking_loop.h, hash.cpp and graphic_buffer.h

@weihuoya
Copy link
Owner

weihuoya commented Nov 4, 2019

blocking_loop.h and graphic_buffer.h are useless, deleted.
hash.cpp: https://github.com/weihuoya/citra/blob/master/src/common/hash.cpp

@Marocco2
Copy link
Author

Marocco2 commented Nov 4, 2019

Thanks, I'll add soon

@Marocco2
Copy link
Author

Marocco2 commented Nov 4, 2019

Got this error now:

  [50/409] Building CXX object src/common/CMakeFiles/common.dir/hash.cpp.o
  FAILED: /opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/sysroot  -DARCHITECTURE_ARM64=1 -DBOOST_DATE_TIME_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DFMT_LOCALE -DNDEBUG -I../../../../../../. -I../../../../../../../externals/fmt/include -I../../../../../../../externals/./microprofile -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security   -O2 -DNDEBUG -Ofast -fPIC   -Wall -Wno-attributes -std=gnu++1z -MD -MT src/common/CMakeFiles/common.dir/hash.cpp.o -MF src/common/CMakeFiles/common.dir/hash.cpp.o.d -o src/common/CMakeFiles/common.dir/hash.cpp.o -c ../../../../../../common/hash.cpp
  ../../../../../../common/hash.cpp:25:31: error: use of undeclared identifier '__crc32d'
          result.crc32[i & 1] = __crc32d(result.crc32[i & 1], *((u64*)p));
                                ^
  ../../../../../../common/hash.cpp:31:31: error: use of undeclared identifier '__crc32w'
          result.crc32[i & 1] = __crc32w(result.crc32[i & 1], *((u32*)p));
                                ^
  ../../../../../../common/hash.cpp:37:31: error: use of undeclared identifier '__crc32h'
          result.crc32[i & 1] = __crc32h(result.crc32[i & 1], *((u16*)p));
                                ^
  ../../../../../../common/hash.cpp:43:31: error: use of undeclared identifier '__crc32b'
          result.crc32[i & 1] = __crc32b(result.crc32[i & 1], *p);
                                ^
  4 errors generated.
  ninja: build stopped: subcommand failed.

@weihuoya
Copy link
Owner

weihuoya commented Nov 4, 2019

-march=armv8-a+crc

@Marocco2
Copy link
Author

Marocco2 commented Nov 4, 2019

Ok, trying to build with this flag

@bergerkyle
Copy link

It would be really awesome to get a save state function or a cheat function. This emulator works so well and everything you've done is great! Thank you for working so hard on this!

@Superking123
Copy link

@bergerkyle I do not know if it is working because I did not try it but in the selection menu of roms if you keep it pressed you will see a menu to put cheats

@Murthy9602
Copy link

Murthy9602 commented Nov 4, 2019 via email

@Marocco2
Copy link
Author

Marocco2 commented Nov 4, 2019

@weihuoya Not sure if it's my fault now, but I got this error after last file compile:

  [409/409] Linking CXX shared library ../../../../build/intermediates/cmake/release/obj/arm64-v8a/libmain.so
  FAILED: : && /opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security   -O2 -DNDEBUG -Ofast  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libmain.so -o ../../../../build/intermediates/cmake/release/obj/arm64-v8a/libmain.so src/android/jni/CMakeFiles/main.dir/jni_common.cpp.o src/android/jni/CMakeFiles/main.dir/input_manager.cpp.o src/android/jni/CMakeFiles/main.dir/egl_android.cpp.o src/android/jni/CMakeFiles/main.dir/mii_selector.cpp.o src/android/jni/CMakeFiles/main.dir/keyboard.cpp.o src/android/jni/CMakeFiles/main.dir/main_android.cpp.o src/android/jni/CMakeFiles/main.dir/config/config.cpp.o src/android/jni/CMakeFiles/main.dir/config/config_info.cpp.o src/android/jni/CMakeFiles/main.dir/config/ini_file.cpp.o src/android/jni/CMakeFiles/main.dir/config/layer.cpp.o src/android/jni/CMakeFiles/main.dir/config/string_util.cpp.o src/android/jni/CMakeFiles/main.dir/config/main_settings.cpp.o src/android/jni/CMakeFiles/main.dir/config/config_loader.cpp.o  -landroid -lEGL -llog src/core/libcore.a src/input_common/libinput_common.a src/core/libcore.a src/audio_core/libaudio_core.a src/video_core/libvideo_core.a src/core/libcore.a src/audio_core/libaudio_core.a src/video_core/libvideo_core.a src/network/libnetwork.a externals/enet/libenet.a externals/cryptopp/libcryptopp.a externals/cryptopp/libcpufeatures.a -ldl externals/soundtouch/libSoundTouch.a externals/teakra/src/libteakra.a -lmediandk externals/cubeb/libcubeb.a -lOpenSLES -llog externals/glad/libglad.a src/common/libcommon.a externals/fmt/libfmt.a -latomic -lm && :
  externals/cubeb/libcubeb.a(cubeb-jni.cpp.o): In function `cubeb_get_jni_env_for_thread()':
  /bitrise/src/src/android/app/.cxx/cmake/release/arm64-v8a/../../../../../../../externals/cubeb/src/cubeb-jni-instances.h:21: multiple definition of `cubeb_get_jni_env_for_thread()'
  src/android/jni/CMakeFiles/main.dir/jni_common.cpp.o:/bitrise/src/src/android/app/.cxx/cmake/release/arm64-v8a/../../../../../jni/jni_common.cpp:177: first defined here
  externals/cubeb/libcubeb.a(cubeb-jni.cpp.o): In function `cubeb_get_jni_env_for_thread()':
  /bitrise/src/src/android/app/.cxx/cmake/release/arm64-v8a/../../../../../../../externals/cubeb/src/cubeb-jni-instances.h:21: multiple definition of `cubeb_jni_get_context_instance()'
  src/android/jni/CMakeFiles/main.dir/jni_common.cpp.o:/opt/android-sdk-linux/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/memory:2606: first defined here
  clang++: error: linker command failed with exit code 1 (use -v to see invocation)
  ninja: build stopped: subcommand failed.

@WesleyVanNeck
Copy link

Can some one compile for me this pull

@Marocco2
Copy link
Author

Marocco2 commented Nov 5, 2019

@LegacyGamerHD I'll try. I'll post APK in my repo in case

@Dwhite1994
Copy link

Yes, the official site, and it is definitely being worked on, the only reason you haven't seen an official release is because they are making sure it meets their standards before it goes out the door, I've spoken to some of the devs (great people by the way, should cut them some slack) and alot of big names in the community are coming together for it, just have some patience

@Dwhite1994
Copy link

It's most definitely not dead lol

@Dwhite1994
Copy link

And from what I have heard current behind closed doors build is running fantastic, won't give a source because it was in a private chat, and I don't have direct permission to say anything in any official capacity, but give it time,

@Jack-Rickwood
Copy link

Pretty sure one of the mods said we would probably get an announcement about it before the end of the year

@Dwhite1994
Copy link

I've seen nothing to suggest that, personally, but he did just release a new alpha, for Patreon, its.... Interesting

@Jack-Rickwood
Copy link

@williamhandoko Mikage is definitely not dead, look on the patreon page and you will see regular updates. And no he isnt collaborating with the citra devs, he is making his own project from scratch.

@Nishant765
Copy link

Does anybody know of any release date for the next version? I'm just dying to find out. It's been 2 months and there's been no news of the developer? Is the project still going on?

@AndresNorm
Copy link

AndresNorm commented Dec 13, 2019

The Citra team are working on it, they want to release it as soon that its close to perfection so you wont get dissappointed,
And also they dont release to the public the latest code or whatever they call it.

Because its there work then someone compile it and make it there own work...
So they decided to hide it to the public

Sorry for my english 😂

Repository owner deleted a comment Dec 15, 2019
Repository owner deleted a comment Dec 16, 2019
@ghost
Copy link

ghost commented Dec 17, 2019

@weihuoya, @SachinVin, @Marocco2, @Nun-z and all contributors.

There is also another promising project: Mikage!

Fully utilizes the Vulkan drivers and promises a complete gaming experience.

He also collaborates with the Dolphin and PPSSPP projects.

If you are interested, please let the author know. 👍

https://mikage.app/

https://mobile.twitter.com/fail_cluez

@ghost
Copy link

ghost commented Dec 20, 2019

@weihuoya nothing is binding for the analog stick in the latest citra test3. Other buttons work fine. Please help.

@ghost
Copy link

ghost commented Dec 27, 2019

Guys, I am pleased to inform you, that the latest build (20191227) is finally working with almost all shaders filters (only with the shader hybrid, the emulator closes itself).

Here are some examples of my favorite games:

  • Dead Or Alive Dimensions, 400x200 and with FXAA filter enabled:

Screenshot_2019-12-27-11-40-02-076_org citra emu
Screenshot_2019-12-27-11-38-45-146_org citra emu

  • Shantae and the Pirate's Curse, 400x200 and SEDI filter enabled:

Screenshot_2019-12-27-11-34-24-222_org citra emu

In addition, I have noticed better overall performance and new settings:

Screenshot_2019-12-27-12-00-07-647_org citra emu

@weihuoya, personally i think you are not a normal person, but you are a Sacred Informatic Science Monster! 👍

And i thank you personally for the Christmas present!👌😃

@Marocco2
Copy link
Author

I can confirm that new release brought more performance and I can finally achieve 60fps in PW:DD with a 855 Snapdragon.
With that said I can close this PR

@Marocco2 Marocco2 closed this Dec 27, 2019
@Marocco2
Copy link
Author

Marocco2 commented Jan 9, 2020

@weihuoya texture load hack is making citra crash in last build

@Murthy9602
Copy link

Murthy9602 commented Jan 9, 2020 via email

@Nishant765
Copy link

I'm having a OnePlus 6 with Snapdragon 845 with 8GB RAM. But I'm still getting only 20 FPS on Pokemon moon. I have enabled JIT too. Does anybody know how to Speed up the game. I also tried the FMV hack. But still it's slow.

@Murthy9602
Copy link

Murthy9602 commented Jan 9, 2020 via email

@Nishant765
Copy link

@Murthy9602 Yes I am. Pokemon ORAS runs full speed. X and Y still has the black screen issue.

@Murthy9602
Copy link

mine is Redmi Note 7 pro and here are the performance in ultra sun. https://photos.app.goo.gl/cz38xqHwJJUf4vkW7

@Nishant765
Copy link

@Murthy9602 the link shows an error. What settings are you using?

@lazaaro
Copy link

lazaaro commented Feb 3, 2020

@weihuoya there is a problem with the emulator in Dragon Quest 8, I'm stuck in a city where i need to take a photo of an npc, but he doesn't recognize it even though it appears in the photo album ( looks blue for some reason ), and so I'm stuck in that part. Any help would be appreciated!

@lazaaro
Copy link

lazaaro commented Feb 4, 2020

Also Android 10 update slowed down citra :( pleade update citra asap !!

@AndresNorm
Copy link

Is @weihuoya okay?
Is he from China?

@lazaaro
Copy link

lazaaro commented Feb 8, 2020

I hope he is okay!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.